Check your operating system and processor architecture before choosing an installer. Use a GUI client on desktop and mobile; use the standalone core on servers and routers.
Switch platforms to copy the current URL while keeping the selected category.
Windows Clients
Most GUI installers listed here are x64. Go to “Settings → System → About” and check System type. On ARM devices, first confirm that Windows can run the x64 app. The app launching successfully does not guarantee that its virtual network adapter driver is compatible.
A good starting point for a first installation. Run the installer, complete the initial setup, then import a subscription or local YAML configuration. Test browser connectivity in Rule mode first; configure TUN only if you need to route traffic from other apps.
Quit any running proxy clients before installation to prevent them from overwriting each other’s system proxy settings. Official website: clashplus.io
For desktop users who need configuration management, rule overrides, and service mode. After installation, check the runtime environment before enabling the system proxy. If you use service mode or TUN, follow the client’s prompts to grant system permissions; an enabled toggle alone doesn’t confirm that permissions are active.
Offers a configuration workflow similar to the mobile version. The installer is usually the best choice. If you use the ZIP archive, extract it to a permanent folder before launching the client. Don’t run it from an archive utility’s temporary preview folder; updates or cleanup may break the file path.
For desktop configuration management and switching proxy modes. Before importing an existing subscription, keep a copy of the original file and check the client’s core and supported configuration fields. You can install multiple clients on the same device, but during testing, enable the system proxy and TUN in only one at a time.
Kept for recreating older setups and migrating configurations. The legacy core may not recognize newer protocols, rule sets, or configuration fields, so this isn’t recommended for new devices. To switch to an alternative, export your original subscription and custom rules first, then see Clash for Windows alternatives.
Windows requirements
Check
Requirements and notes
Supported Windows versions
Use a supported version of Windows 10 or 11. Check the installer for each product’s minimum Windows version.
Processor
Installers on this page are x64 / AMD64 and won’t run on 32-bit Windows.
Permissions and drivers
Running the app and installing a service require different permissions. Administrator approval may be needed for a virtual network adapter or service mode.
First installation
If Windows blocks the installer, check the file’s source and publisher information. Don’t disable security features across the board.
macOS Clients
Check your chip under Apple menu → About This Mac. Choose ARM64 for Apple M-series chips or x64 for Intel. Open the DMG and follow the window instructions to move the app to Applications. On first launch, grant any permissions required for network extensions or helper services.
Separate downloads are available for each chip type; Apple Silicon users should choose the native build. Import your configuration before enabling the system proxy. Before turning on TUN, confirm that the helper service and system network permissions are set up. Avoid running other tools that also capture network traffic.
For desktop users who need subscription management and rule overrides. Both chip-specific links currently point to the same x64 file. Apple Silicon users should check compatibility with Rosetta and the client components. For a native ARM64 installer, choose Clash Plus above.
A good fit if you want a similar configuration workflow on desktop and mobile. Both downloads are AMD64 files; the listing name alone doesn’t mean they’re native ARM64 builds. Before upgrading, quit the old process and back up your configuration. After restarting, check the proxy mode and listening ports.
Kept as a migration reference for existing menu bar workflows and recreating older configurations. Both links currently point to an x86_64 file. For a new installation, choose a client that’s still maintained. During migration, check DNS, rule sets, and outbound protocols separately; don’t copy the entire old application support folder.
macOS requirements
Check
Requirements and notes
macOS version
Use a supported version of macOS. Minimum requirements vary by build; follow the installer’s prompts.
Choose the right chip
For Apple Silicon, prefer native ARM64. For Intel, choose x64 / AMD64 / x86_64.
Package differences
Some downloads labeled for Apple Silicon are currently x64 files. Check Rosetta compatibility separately for the app and its network components.
Permissions
Go to System Settings → Privacy & Security to review blocked launch requests, then follow the prompts to grant permission.
Android Clients
Most recent phones use ARM64. Older devices may run a 32-bit OS, even if the processor supports 64-bit apps. Check your device and system architecture first. After installation, grant VPN connection permission when prompted.
For phones running 64-bit Android. After downloading, open the installer from your file manager and grant only the permissions required by the app installing it. When you import a configuration and connect, approve the system VPN prompt. If the connection drops in the background, check battery restrictions.
For users who need to choose an installer by device architecture. If you know your ABI, choose the matching build; otherwise, use the universal package. It includes files for multiple architectures and is usually larger, but won’t improve proxy speeds. Back up your configuration before switching to a release signed with a different key.
Offers a similar interface to the desktop version. The x86_64 build is for compatible devices or emulators; don’t use it on a typical ARM phone. If you enable per-app proxying, check that the apps you want are included. A connection icon doesn’t mean every app is routed through the proxy.
For users with existing Surfboard-compatible configurations. Surfboard uses a different format from Clash YAML, so you can’t import an arbitrary Clash configuration just by changing its file extension. Before downloading, check which formats your subscription service supports. If you convert a configuration, verify that its rules, policy groups, and protocols are preserved.
Android requirements
Check
Requirements and notes
macOS version
Minimum Android versions vary by product. Check the installer’s prompts.
Device architecture
ARM64 uses arm64-v8a; ARMv7 uses armeabi-v7a. The Android system’s bitness must also match.
Network permissions
Allow VPN permission the first time you connect. Android generally can’t run two apps that use the system VPN at the same time.
Background operation
Allow background activity if needed. Adjust battery optimization only if the system is stopping the connection; don’t change settings for every app without a reason.
iPhone and iPad Clients
Get the client from the App Store. Before installing, check the store’s compatibility details for supported devices and OS versions. Prepare a working configuration, then follow the system prompts to add a VPN configuration.
Install from the App Store listing, then import a compatible configuration from a link or file. When you connect, review the system permission prompt and allow the VPN configuration to be added. Test a regular webpage first, then check the apps you want to proxy. This helps distinguish app-specific issues from client problems.
The system VPN status only confirms that a tunnel is up. Access also depends on a valid subscription, an available outbound connection, and matching rules. If the connection fails after switching between Wi-Fi and cellular, check the client logs and current proxy group first; reinstalling repeatedly isn’t necessary.
The GUI packages below are for AMD64 / x86_64 desktops. Choose DEB for Debian, Ubuntu, and compatible distributions; use RPM for Fedora and other RPM-based systems. For servers and ARM routers, see the core downloads instead. Desktop installers aren’t general-purpose command-line tools.
For Linux desktop users who need GUI-based subscription management. Install with your distribution’s package manager and resolve any missing dependencies it reports. Desktop system proxy settings and terminal environment variables are separate; test browsers and command-line tools individually.
For Debian-based desktops and users familiar with FlClash. Before installing, check your distribution, desktop dependencies, and CPU architecture. Don’t bypass installation errors by forcing dependency checks to be ignored. Verify TUN permissions, routes, and DNS separately; launching the GUI doesn’t mean it has taken over network traffic.
Linux requirements
Check
Requirements and notes
Check architecture
Run uname -m; the files in this section are for x86_64, often labeled amd64 in package names.
Check your distribution
Check /etc/os-release and choose the package format supported by your package manager.
Desktop dependencies
A graphical session and the runtime libraries required by the client are needed. Check your package manager’s dependency report for minimum library versions.
Routing traffic
Before using TUN, check virtual network adapter support, permissions, and routing. If connecting remotely, make sure you have a way to roll back changes.
Standalone Mihomo Core
For users managing servers, routers, or their own services. The standalone core doesn’t include a GUI for subscription management. Before running it, prepare a configuration file, working directory, and system permissions. Most desktop users should choose one of the GUI clients above.
MIHOMO / BINARIES
Core downloads by architecture
Extract ZIP and GZ files, then set permissions and configure startup for your system. Install DEB packages with a package manager. MIPS compatibility also depends on endianness, instruction set, and floating-point ABI—not just whether the device uses MIPS.
Place the configuration in a known working directory. First run the configuration test mode to check YAML syntax and field compatibility, then set up the persistent service. The commands below assume the executable is in the current directory and the configuration is in the current user’s Mihomo configuration directory.
./mihomo -t -d "$HOME/.config/mihomo"
A successful test only means the configuration can be parsed; it doesn’t confirm that subscription outbounds are reachable. Check the listen address, DNS, service user, and TUN permissions. Make sure the service manager uses the same working directory when starting Mihomo.
Before installation
Download and installation checklist
Installing the client, importing a configuration, and routing traffic are three separate steps. Verify each in order to make troubleshooting easier.
Back up your configuration before updating
If you already have a client, export its current configuration first and note the subscription URL, mixed port, DNS settings, and rule overrides. Data directories aren’t interchangeable between products. Start migration from the original subscription rather than copying the entire app directory. Subscription URLs may contain credentials, so don’t post the full link in public forums.
Even when updating the same product, quit its background process first. After installation, check login items, service status, and the active configuration. Make sure no old process is using the ports before restoring the system proxy or TUN.
Import your configuration and test the connection
Client installers don’t include a working subscription. Get a subscription link you’re authorized to use or a local configuration, then import it from the client’s configuration manager. Wait for it to parse successfully and select it. In Rule mode, proxy groups also need an available outbound connection; launching the app alone won’t create a working proxy connection.
Test with one browser first, then move on to other apps. If the browser works but terminal commands fail, check whether the terminal uses the system proxy instead of blaming the installer. See the configuration guide → for the full setup.
Download questions
Clash Download FAQs
Which Clash client should I download first?
Start with Clash Plus for Windows, macOS, Android, and iOS; for Linux, start with Clash Verge Rev. Check your operating system and processor architecture before choosing an installer. If you already have a configuration, make sure the client’s core supports its fields.
How do I choose between ARM64, x64, and universal packages?
On Windows, check System type under Settings → System → About. On macOS, check the chip under About This Mac. For Android, choose a package that matches your device’s ABI; if you’re unsure, consider a client with a universal package. On Apple Silicon, prefer a native ARM64 build. Some files currently listed for Apple Silicon are still x64 builds, so check whether they work with Rosetta.
Why can’t I connect after installation?
The installer includes the client, not a working subscription. Import a valid configuration and make sure a proxy group has an available outbound connection. Then enable System Proxy or TUN mode as needed. If something goes wrong, check the logs, configuration loading, listening ports, and system permissions.
Will updating the client keep my existing configuration?
An in-place update usually keeps the data directory for the same client, but data formats and storage locations may differ between products. Before updating, export your configuration and note your subscription, ports, and rule overrides. Quit the old process before installing, then verify each setting afterward.
Should I install a client that is no longer maintained?
Clash for Windows and ClashX Meta remain available as archived downloads, mainly for recreating older setups and migration. For a new installation, choose a client that is still maintained. When migrating, keep the original configuration and check compatibility for protocols, DNS, rule sets, and TUN fields. Don’t overwrite the entire old data directory.
What’s the difference between the Mihomo core and a GUI client?
Mihomo parses configurations, matches rules, and forwards proxy traffic. A GUI client adds subscription management, settings, and system integration. Most desktop users can choose a GUI client. Server and router users can download the standalone core and configure its working directory, service permissions, and access scope themselves.