Choose your operating system, then check your processor architecture. Use a GUI client on desktop or mobile; see the standalone core options for servers and routers.
This site brings together Clash clients and setup guides. After installation, you’ll still need to import a subscription or configuration you’re authorized to use.
Browse by Platform
Choose a Client
Install one client per device to start. Once it’s working, migrate your old configuration.
Windows Clients
Current desktop downloads are primarily x64. Check your system type under Settings → System → About. On Windows on ARM, also confirm compatibility with app emulation and networking components.
A good fit for a complete getting-started workflow, from installation and subscription import to switching policies. After running the installer, make sure your configuration loads before enabling the system proxy if needed. For your first connection, close other proxy apps so you can tell whether the settings are working.
A desktop option for managing subscriptions, policies, and overrides through a GUI. Save a copy of any existing configuration before importing it. Service mode and TUN require system permissions; verify a standard connection first, then enable these features one at a time.
A GUI option for users who want a similar experience across devices. Import your configuration again on each device, then check the ports, startup behavior, and proxy toggle. UI preferences usually don’t transfer with a subscription, so importing one won’t restore every setting.
Another desktop option for managing configurations. Exit your current client before testing to prevent conflicts between local ports and system proxy settings. After migration, check policy group names and local rules. An imported configuration doesn’t necessarily include your old overrides or scripts.
Kept for reference and migration from older setups. Since development has stopped, future compatibility issues with operating systems or protocols may go unfixed. Choose a maintained client for new devices. Before migrating, note your subscription source, proxy ports, and rule overrides. An archived client isn’t recommended for long-term use.
Windows Requirements and Installation Checks
Check
Current Download
What to Do
Processor
x64 / AMD64
Don’t use these x64 installers on a 32-bit system.
OS support
Check the selected client’s current release notes
For older Windows versions, check runtime and OS requirements. Downloading an installer doesn’t mean it will run on your system.
Installation permissions
Installation or service components may request authorization
Review why permissions are needed. Get administrator approval for managed devices.
First launch
Import a configuration, then enable the proxy
Test a website in rule mode first. Don’t enable multiple system proxy tools at once.
macOS Clients
Open Apple menu → About This Mac. If you see an Apple M-series chip, choose a native ARM64 build when available; for an Intel processor, choose x64. Some upstream links currently point to x64 files; these are noted below.
Choose the DMG that matches your chip. After opening it, move the app to Applications and launch it. Import your subscription and choose a policy before setting up the system proxy. Disconnect the proxy before moving or deleting the app to avoid leaving system settings pointed at a local port.
A good option for managing desktop subscriptions and rules in one place. Both architecture links currently fall back to the same x64 file, not a native ARM64 build. On Apple Silicon, check compatibility with Rosetta and the client components before use. For a native build, consider Clash Plus above.
A good fit if you want a similar workflow on desktop and mobile. The Apple Silicon link currently falls back to an AMD64 build, so check the runtime requirements first. After installation, check the menu bar status and system proxy settings before enabling launch at login.
For reference when migrating from an older menu bar workflow. Both links currently point to an archived x86_64 build; check compatibility before using it on Apple Silicon. For a new installation, choose a maintained client. Before migrating, quit the old app and check that system proxy settings have been restored.
macOS Requirements and Installation Checks
Check
How to Choose
What to Do
Apple Silicon
Apple M-series chip
Use a native ARM64 build if available; x64 apps may require Rosetta.
Intel
About This Mac shows Intel
Choose an x64, AMD64, or x86_64 installer.
macOS version
Supported versions for the current client
Check the release notes before downloading; older macOS versions aren’t guaranteed to be compatible.
Network permissions
System proxy, helper service, or network extension
Grant permissions for your chosen connection method. Don’t disable security settings wholesale just to launch the app.
Android Clients
Most recent phones use ARM64, but check your device information to be sure. On first use, the system usually prompts you to authorize the VPN connection. Read what the authorization covers before proceeding.
Manage subscriptions, choose policies, and control connections on your phone. Check that your device supports arm64-v8a before installing the APK. If the connection drops in the background, check battery optimization and background activity restrictions before reinstalling. Keeping your configuration helps with troubleshooting.
Choose the best-fit installer for your architecture. If you’re unsure, check the universal build, but make sure your system meets its requirements. Enable the configuration after importing it, then start the connection. App routing, background operation, and DNS are separate settings; change one at a time when troubleshooting.
A mobile interface for configuring and managing connections. On older devices, check support for armeabi-v7a; don’t estimate compatibility based only on the device’s release year. You can reimport your subscription when switching clients, but app routing and background permissions usually need to be set up again.
For Android users with a compatible configuration. Surfboard uses a different configuration format from Clash YAML, so arbitrary Clash configurations won’t work as-is. Before downloading, check whether your service provider offers a compatible format and supports the protocols you need.
Android Requirements and Installation Checks
Check
How to Choose
What to Do
ARM64
arm64-v8a
For devices that support this instruction set and runtime environment.
ARM 32-bit
armeabi-v7a
Choose based on the device’s actual architecture. Don’t install an ARM64 package in a 32-bit environment.
macOS version
APK minimum requirements
If the installer reports incompatibility, check the OS and architecture instead of repeatedly trying to install it.
Connection permissions
System VPN authorization and background activity
Check whether another VPN app is active, and adjust battery restrictions if needed.
iOS Clients
Install Clash Plus from the App Store. Check the store listing for device compatibility, current system requirements, and app details.
After installation, add a subscription or compatible configuration, then choose a proxy policy. Follow the system prompts to add a VPN configuration, and confirm the app name before authorizing it. Test a browser first, then the app you want to use. If only one app has trouble, check its rules and network settings.
Check the device’s current OS version and confirm the app is compatible.
Configuration source
Subscription provider or existing configuration
Confirm the format is compatible and keep credentials in your subscription URL private.
VPN authorization
First-connection system prompt
Check the app name before authorizing. View the connection status in system settings.
Configuration updates
Client configuration screen
Check the update result after importing. Reinstalling won’t fix an expired subscription.
Linux Clients
Choose a package format for your distribution: Debian and Ubuntu typically use DEB; Fedora and other RPM-based distributions use RPM. Current GUI client downloads are AMD64 and aren’t suitable for direct installation on ARM routers.
A good fit for users with a desktop environment who want a GUI for managing subscriptions and policies. Install the local package with your distribution’s package manager to handle dependencies. Test a standard proxy connection first; check permissions and routing separately before enabling TUN or service mode.
A Linux desktop GUI for importing configurations and switching policies. Check your distribution’s dependencies and desktop environment before installing. Don’t add a desktop environment to a headless server just to run a GUI client; use the standalone Mihomo core instead.
Linux Requirements and Installation Checks
Check
Current Download
What to Do
Processor
AMD64 / x86_64
Run uname -m to check the architecture. On ARM devices, check the kernel information.
Package format
DEB or RPM
Use the package format supported by your distribution; DEB and RPM aren’t interchangeable.
Runtime environment
Desktop session and client dependencies
Follow the installer and current release notes. Resolve missing dependencies before continuing.
System proxy
Depends on desktop environment and app support
Terminal apps may need proxy settings of their own; the desktop toggle alone may not be enough.
Standalone Mihomo Core
For users managing their own server, router, or service. Most desktop and mobile users should choose one of the GUI clients above. The standalone core has no subscription management interface; you’ll need to set up the configuration path, launch options, and log access yourself.
Check the operating system, CPU architecture, and device ABI first. For routers, verify the firmware environment; MIPS softfloat isn’t a universal choice for MIPS devices. Don’t replace a GUI client’s bundled core directly.
ZIP and GZ are compressed files that need to be extracted. GZ usually contains a single executable, not a double-click installer. On Unix-like systems, you’ll also need to make it executable. Install DEB packages with a package manager; check the package contents for service files and directory locations.
Before deployment, prepare a readable YAML configuration, a writable data directory, and unused proxy ports. Transparent proxying, TUN, and policy routing often require additional permissions. Verify a standard HTTP or SOCKS proxy connection separately first. Keep the external control interface bound to localhost by default; plan access controls separately if you need remote management.
Keep the old binary and configuration before upgrading. Test field compatibility in a staging environment before replacing the file used by the service. If startup fails, check the logs before changing DNS, rules, and system routes. See the Configuration Reference for field details.
What to Do After Installation
Import a Configuration, Then Test the Connection
An installer gets the client running; a working proxy also depends on your configuration, service status, and local network. Follow the checks in order to find the cause more easily than by repeatedly switching apps.
Add your subscription URL in the configuration manager, then enable the configuration once it appears. If import fails, check that the link is valid, the network can reach it, and the format is supported. Never post a full URL containing credentials in a public forum.
Choose a Mode
Start with rule mode and choose a working policy. Global mode is useful for temporary comparison, but it won’t fix every issue. Direct mode doesn’t mean the proxy is working.
Connect
On desktop, enable the system proxy if needed; on mobile, confirm VPN authorization. Enable TUN separately if required, and read its permission prompts. You don’t need to turn on both the system proxy and TUN just to test.
Verify the Result
Visit a regular website first, then test the service you need. Check the client’s connection log for matched rules and policy routing. If only one app has a problem, check whether it uses the system proxy.
Download and Installation FAQs
Choosing an Installer
Which Clash client should I download first?
Start with Clash Plus for Windows, macOS, Android, or iOS; try Clash Verge Rev on Linux. Check your device architecture before choosing an installer. If your current setup works, back it up before trying another client.
Why can't I connect to a proxy after installing a client?
A client reads your configuration and handles connections, but installing it does not provide proxy service. You’ll need an authorized subscription link or configuration file. Import and enable it, then choose a policy and connection method. Subscription links contain access credentials—don’t share them publicly.
What’s the difference between ARM64, x64, and universal builds?
ARM64 and x64 are different processor architectures, so don’t choose based on the operating system name alone. Android universal builds usually support multiple architectures and are larger. On Apple Silicon, x64 apps may require Rosetta. Check the actual installer for the architecture offered by each download link.
Is Clash for Windows still suitable for a new installation?
Clash for Windows is no longer maintained. This page keeps archived downloads available for migration from older setups and configuration reference. For a new device, choose a maintained client. Before migrating, save your subscription, rule overrides, and port settings, and avoid running two proxy cores at once.
What should I do if my system shows a security warning during installation?
Check the download source, file type, processor architecture, and system requirements, then read the specific reason for the warning. Don’t disable system security features outright. Follow your organization’s policies on managed devices. If you can’t verify the source or requested permissions, stop the installation.
Do I need to download the Mihomo core alongside a desktop client?
Most desktop and mobile users only need a GUI client, which manages its core using its own update mechanism. The standalone Mihomo core is for servers, routers, and self-hosted setups; you’ll need to prepare the configuration, launch method, and permissions yourself. Don’t overwrite a client’s bundled core.