Check your operating system and processor architecture, then download the matching file. After installation, import a subscription, choose an outbound in a proxy group, and enable the system proxy or VPN connection.
For a new installation, start with Clash Plus. The GUI clients below offer Windows x64 installers. On ARM devices, first check application compatibility in your system; an x64 installer is not a native ARM64 package.
Clash Plus
Top pick
A complete setup path, from installation and subscription import to rule mode. Download the x64 installer and follow the setup wizard. Add and select a subscription in the configuration list, then choose an outbound in a proxy group. Before enabling the system proxy for the first time, make sure other proxy clients are closed.
For desktop users who want configuration management, rule inspection, and TUN routing. Import a configuration and verify the regular system proxy first; install the service and enable TUN only if needed. Service permissions and the active proxy mode are separate settings. Installing the service does not mean traffic is already routed through the core.
For users who want a similar setup across desktop and mobile. Choose the EXE for a standard installation or the ZIP for a portable setup; with the ZIP, you'll need to manage the runtime directory and shortcuts yourself. Choose one package, and check the client settings for where configuration data is stored.
Offers a desktop interface for configuration and proxy management, providing another GUI option for existing Clash configurations. Before switching, export overrides and rule extensions from the old client, then import your subscription. Interface settings and configuration syntax are separate layers; copying the old client's data directory alone won't complete the migration.
Archived download for compatibility checks and migration from existing installations. For new devices, choose a client that is still maintained. Older cores may not support newer configuration fields, protocols, or rule providers. If parsing fails, migrate your configuration instead of repeatedly reinstalling the archived app.
Use a supported x64 version of Windows 10 or 11 that still receives security updates. Check the selected client's minimum requirements. Find your system type under Settings → System → About.
Permissions
Regular system proxy and TUN have different permission requirements. Installing a service or virtual network adapter may require administrator approval. Verify the regular proxy first, then enable TUN if needed.
Ports and conflicts
Multiple proxy apps may compete for the same listening port. Check the port used by your client, close the old app, then enable the new app's system proxy.
After installation, test access in a browser on the same device before configuring the terminal, games, or other apps. The system proxy only affects apps that honor that setting; it does not route every process.
MACOS / APPLE SILICON / INTEL
macOS clients
Check the chip type in Apple menu → About This Mac. Clash Plus offers separate ARM64 and x64 packages. Other clients may currently use the same x64 file for both download options; check the architecture listed on each card.
Clash Plus
Top pick
Choose ARM64 for Apple silicon or x64 for Intel. Open the DMG and move the app to Applications, then launch it from there. Import a subscription and confirm the configuration is active before enabling the system proxy. For TUN, follow the client's prompts to grant the required permissions.
For centralized management of configurations, rules, and connection logs. Both macOS options currently provide the same x64 DMG. Apple silicon devices need a compatible Rosetta environment to run it. For a native ARM64 package, choose the Clash Plus option above.
Current file: x64Rosetta required on Apple silicon
For users who want a consistent configuration workflow across devices. Both macOS options currently use the same AMD64 disk image; they are not separate native builds. Apple silicon users should confirm Rosetta is available, then check the subscription path and proxy toggle after installation.
Archived download for users transitioning from an existing menu bar workflow. The current listing provides an x86_64 file, and both architecture options point to the same installer. If a new configuration uses fields unsupported by the old core, back up your subscription and custom rules before moving to a maintained client.
Use a macOS version that still receives security updates. Minimum versions vary by client; check the app's installation notes for older systems. A DMG file extension alone does not guarantee compatibility.
Chip architecture
Apple M-series chips use ARM64; Intel processors use x64. Running an x64 file on Apple silicon requires a compatible environment. Prefer a native package when available.
Permissions and proxy
Follow system prompts for app launch and network permissions. If macOS blocks the app, check the download source and the specific reason. Don't disable system security features across the board.
Move the app to Applications before launching it instead of running it from a mounted disk image. When switching clients, turn off the old client's system proxy first, then check whether proxy settings have updated for the current network service.
ANDROID / ARM64 / ARMv7
Android clients
Most recent phones use ARM64, but the ABI supported by the OS is what matters. After installing the APK, import a subscription and allow Android to create a VPN connection when prompted. Typically, only one app can control the VPN connection at a time.
Clash Plus
Top pick
Start with the ARM64 package to check compatibility. After installing, add and select a subscription, then choose an outbound in a proxy group. The first time you connect, Android will ask for VPN permission. Confirm the connection in the system status. If it disconnects in the background, check battery optimization and background activity limits.
Includes options for importing configurations, choosing rule modes, and routing app traffic. Choose ARM64 for a 64-bit system or ARMv7 for a 32-bit ARM system. If you don't know your ABI, consider the universal package, which is usually larger. App-based routing and domain rules work at different levels; verify each separately after making changes.
For users who want similar workflows on desktop and mobile. Choose ARM64 or ARMv7 to match your system ABI; on an emulator, check whether you need an x86_64 package. Import a configuration and verify the connection in the foreground first, then allow any required background permissions. This helps distinguish system sleep disconnects from subscription problems.
An alternative proxy app for Android, best suited to users who already have a compatible configuration. Surfboard and Clash use different configuration formats, so a Clash YAML file may not import as-is. Check which subscription format your provider supports before downloading, then configure the app accordingly.
Before installing, confirm that your Android version meets the app's requirements and that the system supports arm64-v8a, armeabi-v7a, or x86_64. A 64-bit-capable processor does not necessarily mean the operating system is 64-bit.
Installation permission
Allow app installation only for the browser or file manager you actually use. If installation fails, keep the system error message and first check the architecture, available storage, and signature conflicts.
VPN and background activity
Before connecting, close other apps using the VPN connection. Background connectivity may be affected by system power-saving settings; adjust battery and background activity settings as needed.
If an update fails because of a signature mismatch, back up your configuration first; don't uninstall the app and risk losing data. Device policies for enterprise management, parental controls, or work profiles may also restrict app installation and VPN creation, so check those policies first.
IOS / APP STORE
iOS clients
Install Clash Plus from the App Store. Check the store listing for compatibility, app details, and in-app purchases. After installation, set it up with an existing compatible subscription.
Clash Plus
Top pick
After installing from the store, open the client and add a subscription or import a compatible configuration. Select the configuration, choose an outbound in a proxy group, and start the connection. When prompted, allow iOS to add a VPN configuration. The VPN indicator confirms that a tunnel is active, but check the connection log to verify that traffic is working.
Official website: clashplus.io. Visit the website for product information. Install and update the app using the App Store link below.
Check the store for iPhone / iPad compatibilityInstall from the App Store
Check the App Store listing for the current minimum OS version and supported devices. Compatibility details shown for your device determine whether the app can be installed.
Configuration setup
Have an accessible subscription link or local configuration ready. Installing the client does not create a proxy outbound. Confirm the subscription is valid, then verify the rules and proxy groups.
Connection permission
Allow the app to add a VPN configuration the first time you connect. Device management policies may restrict this permission. Also check that no other VPN is running before connecting.
Wi-Fi and cellular networks may behave differently. If subscription updates fail on only one network, check network access permissions and error logs first. Don't immediately delete a configuration that still works.
LINUX / AMD64
Linux clients
If you have a desktop environment, start with a GUI client. Choose DEB for distributions such as Debian and Ubuntu, or RPM for distributions that use the RPM package manager. The GUI packages here are AMD64 and won't run on ARM64 systems.
Clash Verge Rev
Recommended
For managing subscriptions, proxy groups, and connection logs on a Linux desktop. Choose the package that matches your distribution's package manager, then install it using the system package tool and resolve any dependencies. Whether apps use the system proxy also depends on the desktop environment and each app's network settings.
Provides a Linux desktop interface for importing configurations and controlling the proxy. This AMD64 DEB package is for systems using a compatible package management system. After installation, check that the desktop app launches, then configure the system proxy and TUN if needed. If dependencies are missing, review the package manager output rather than trying a package for a different architecture.
Run uname -m. A result of x86_64 corresponds to AMD64 / x64; aarch64 means ARM64, which is not compatible with the AMD64 GUI packages listed here.
Distribution and dependencies
DEB and RPM are different package formats; choose the one that matches your distribution. The client may also require specific GUI libraries and runtime dependencies. Check the package manager output and any app error messages.
Desktop and permissions
GUI clients need an active desktop session. TUN also involves device permissions, routing, and DNS. For server or router deployments, see the core downloads.
Terminal programs may not use the desktop system proxy. If needed, configure proxy options or environment variables supported by the app, then use connection logs to verify the traffic path. A tray icon alone doesn't confirm that terminal traffic is being routed.
MIHOMO / CORE ONLY
Mihomo core
For users running their own services on servers and routers. The core is not a GUI client: you'll need to prepare a YAML configuration, working directory, launch method, and permissions yourself. Desktop and mobile users should start with one of the GUI clients above.
Extract the file, then set execute permissions as required by your system. Create a dedicated working directory for the core and save your configuration as config.yaml. Check the configuration syntax before the first launch. The commands below assume the executable is named mihomo and is in the current directory; adjust the paths to match your deployment.
./mihomo -t -d ./profile
./mihomo -d ./profile
Passing a syntax check only means the configuration can be read; it doesn't confirm that every outbound in the subscription is reachable. After launch, check the listening address and logs, then test a request from the device. Listening ports, DNS, rule resources, and TUN settings must all match the target environment.
When configuring a persistent server service, specify the working directory, runtime user, and restart policy. Bind the management API to localhost where possible, and restrict access if remote control is needed. Don't expose the management API or proxy ports that allow LAN connections directly to the public internet.
Transparent proxying on a router also requires routing, firewall, and DNS forwarding setup; starting the binary alone is not enough. If an existing proxy suite already manages the core, don't start a second instance manually. For related settings, see port settings and GeoIP resource guide.
AFTER INSTALLATION
After downloading: configuration steps
The installer, subscription, and proxy toggle are three separate things. Verify each in order to avoid repeated installs and configuration changes.
Import a subscription and select the configuration
Open the client's configuration or subscription screen and add a Clash-compatible link from your provider, or import a local YAML file. After saving, make sure the configuration appears in the list and select it. Downloading a subscription without enabling it may leave the core using an older configuration. Clients handle configuration overrides differently. Put rule changes you want to keep in the appropriate override or extension area rather than editing the original subscription file, which may be replaced on the next update.
Choose a mode and proxy group outbound
For everyday use, choose Rule mode, then select an outbound in a proxy group. Global sends traffic through the global proxy group; Direct is useful for direct-connection tests. These are routing modes, not installation options. Latency tests can help assess connectivity, but also verify real-world access and check the logs. A proxy group showing a name doesn't necessarily mean it has a working node selected, especially after importing a new subscription or removing old nodes.
Enable traffic routing and verify a real request
On desktop, enable the system proxy; on mobile, establish a VPN connection as prompted by the OS. Make a request in a browser while viewing the client's connection log to check the domain, matched rule, and outbound. If an app doesn't honor the system proxy, consider its in-app proxy settings or TUN. Change one setting at a time while troubleshooting, and keep a working configuration for comparison. For the full walkthrough, see importing a subscription and the rule-based routing guide.
DOWNLOAD FAQ
Download and installation issues
First check that the file, architecture, and configuration match, then troubleshoot the network connection.
Downloading Clash for the first time? Choose a GUI client or the Mihomo core.
Desktop and mobile users should start with a GUI client. Try Clash Plus for Windows, macOS, Android, or iOS, and Clash Verge Rev for Linux. GUI clients include subscription management, proxy groups, and proxy controls. The Mihomo core requires you to prepare a configuration, launch options, and runtime permissions, making it better suited to servers, routers, and users with deployment experience.
How do I choose between x64, ARM64, and ARMv7?
First, check your operating system's device information. Windows System type identifies x64 or an ARM-based processor. On macOS, About This Mac shows whether your device has Apple silicon or an Intel processor. On Android, check the ABIs supported by the OS rather than relying on the processor's marketing name. On Linux, run uname -m to check the architecture. The download must match the operating system, architecture, and package format.
Why do I need to import a subscription after installing the client?
The client reads configuration and routes traffic; installing it does not provide a proxy service. Get a Clash-compatible subscription from a trusted provider or use a local YAML file. Import it on the configuration screen, select the profile, then choose an outbound in a proxy group. Subscription links may contain access credentials, so don't share them on public pages or in screenshots.
Does an Apple silicon download option always mean the package is native ARM64?
Not necessarily. Check the actual architecture of the file listed for download. The Clash Plus Apple silicon package on this page is ARM64. The current macOS options for Clash Verge Rev, FlClash, and ClashX Meta both point to the same x64 package. Apple silicon devices need a compatible Rosetta environment to run these x64 packages; the option label does not guarantee a native build.
What settings should I save before updating or switching clients?
Make a note of your subscription source, configuration overrides, rule extensions, ports, and DNS settings, then use the old client's export feature to back up your data. Clients differ in their interface settings and storage formats, so don't overwrite the entire data directory. Install the new client, import your configuration, and verify the connection before closing the old client. This avoids both instances controlling the proxy or competing for the same ports.
The client is running, but websites won't load. What should I check first?
Make sure a valid configuration is enabled and select an available outbound in a proxy group. Then check the system proxy or VPN toggle. On desktop, confirm the listening port matches the system proxy settings; for TUN mode, check the service and permissions. Review the connection log for matched rules and errors, then troubleshoot in this order: system proxy, DNS, rules, and node status.