Choose your operating system first, then confirm your CPU architecture. Use a GUI client for everyday desktop and mobile use; use the Mihomo core for servers, routers, and processes you manage yourself.
Confirm your operating systemCheck your CPU architectureKeep your existing configuration
Find Downloads by Operating System
Use the arrow keys to switch tabs. Platform markers in the URL can be shared directly. Supported operating systems may vary by client build; follow the installer’s prompts if they differ from general guidance.
Windows Clients
For a new installation, start with Clash Plus. Compare other clients if you need a specific existing rules workflow. Desktop downloads here are primarily x64. On Windows on ARM, check your system’s app compatibility; an x64 installer is not an ARM-native build.
A good choice for first-time setup: import a subscription, choose a proxy group, then configure the proxy. Before installing, quit any older client and check that no other app is changing the system proxy. If you enable a service or network routing, grant the required permissions when prompted and check the logs to confirm it starts.
Manage configurations, proxy groups, and connection logs in a GUI. Before enabling TUN, confirm that the standard system proxy works, then install or start any required service. If startup fails, check whether an old core is using the port. Avoid running two clients at once and repeatedly switching their settings.
A good fit if you want a similar experience across desktop and mobile. After installing, import a known-working configuration and check the rule mode and selected proxy group. When switching clients, migrate only the configuration you need; don’t copy the other app’s entire data directory.
A GUI option for desktop users who need configuration management and are comfortable checking core settings. After importing a configuration, make sure the selected core supports its syntax, especially for DNS, rule providers, and network routing. A client starting successfully doesn’t mean every configuration feature is active.
Kept for reproducing legacy setups and migration, not recommended for new devices. The older core may not recognize protocols or fields used by current subscriptions. Before migrating, note your subscription URL, ports, and custom rules, then restore them in the new client one at a time. If parsing fails, check the specific field rather than repeatedly reinstalling.
Windows Installation Requirements & Checks
Check
Requirements & guidance
Operating system
Use a Windows version that still receives security updates. Check the selected client’s installer for its minimum system requirements.
Processor
This page provides x64 installers. Check your system type in Settings → System → About.
Permissions
Using the GUI doesn’t require the same permissions as installing a service. Administrator approval may be needed to enable a service or TUN.
After installation
Import a configuration and verify the system proxy first. Set the app to start at login only after everything works, so a broken configuration doesn’t keep launching.
macOS Clients
Open About This Mac from the Apple menu. A chip name usually indicates Apple Silicon; if it says Intel processor, choose an Intel download. Also compare the architecture label with the actual filename.
Separate arm64 and x64 disk images are available. Choose the one that matches your Mac’s chip. Open the image and follow the installer instructions to move the app to Applications, then launch it from there. If macOS asks for network permissions on first connection, review the prompt and approve it before importing a subscription and testing the connection.
A good fit for desktop users managing multiple configuration sources and local overrides. Both options currently use the same x64 file, so Apple Silicon users should confirm compatibility requirements. After upgrading, check the service status, system proxy, and network interface in use to make sure an old process hasn’t kept a listening port open.
The interface is similar to the mobile version, making it easier to keep a consistent proxy workflow across devices. The current disk image is labeled amd64; it is not an ARM-native build. After importing a subscription, select a proxy group again—node selections saved on another device may not carry over automatically.
Archived download for users keeping an existing menu bar workflow or reproducing an older configuration. macOS updates can change permissions, login items, and compatibility requirements, so new devices should use a maintained client. Before switching, turn off automatic proxy settings in the old client and keep a copy of its configuration for reference.
macOS Installation Requirements & Checks
Check
Requirements & guidance
macOS version
Check your macOS version in About This Mac. Refer to the app’s installer for its minimum supported version.
Chip architecture
Use arm64 for Apple Silicon and x64 for Intel. Options using a shared x64 package are labeled above.
Compatibility
Running an Intel app on Apple Silicon may require Rosetta, depending on the macOS version and your organization’s policies.
Network permissions
Approve network permissions as needed. If macOS blocks an app, read the full prompt rather than disabling system protections.
Android Clients
Most newer phones use ARM64; older devices may use ARMv7. A 64-bit-capable processor doesn’t guarantee a 64-bit operating system. If you’re unsure, use the universal package below. Before installing, note your existing app’s subscriptions and rule settings.
Import subscriptions and switch proxy groups right from your phone. This arm64-v8a package requires a compatible system architecture. On first connection, Android will ask to set up a VPN connection. Approve it, check the client’s connection status, then test access in a browser.
Manage mobile proxies using Clash configuration formats. The universal package works when you’re unsure of your device’s architecture, but it’s usually larger. If an update reports a signature mismatch, export the in-app configuration and confirm the source and app identity of the existing package. Uninstalling directly may erase local data.
A good fit if you want a similar interface on desktop and mobile. If the connection drops after the screen locks, check Android’s battery and background activity restrictions for the app. Change only app-specific settings, then test after locking, waking, and switching networks so you can identify what fixed the issue.
For Android users with a configuration in a compatible format. Surfboard’s configuration format differs from Clash YAML, so a Clash subscription URL isn’t necessarily a compatible configuration. Before downloading, check whether your subscription offers a supported format and whether the required protocols and rules are supported.
Android Installation Requirements & Checks
Check
Requirements & guidance
macOS version
Check your device information in Settings. The selected APK determines the minimum Android version required.
System architecture
ARM64 uses arm64-v8a; ARMv7 uses armeabi-v7a. If you’re unsure, choose an available universal package.
Install permission
Android may ask you to allow the browser or file manager that opened the APK to install apps. Grant permission if needed.
Connection permissions
Proxy routing typically uses Android’s VPN interface. Other VPN apps may conflict with the current connection.
Background activity
If the connection drops when the screen locks, check app-specific battery restrictions. Determine whether Android stopped the process or the proxy node became unreachable.
iOS Clients
Install Clash Plus from the App Store. Check the store listing for device compatibility, system requirements, and update history before downloading. After installing, import a subscription and set up the VPN configuration.
Before opening the app for the first time, prepare a subscription URL you’re authorized to use. Import it and select a proxy group. When connecting, iOS may ask to add a VPN configuration; review the prompt before approving. If your device has a work or school network configuration, check its management policies first to avoid conflicts between network routing tools.
Check the connection status and logs after switching between Wi-Fi and mobile data. Opening a webpage confirms only that specific request succeeded; also check the matched rule and actual route to verify traffic is handled as expected. If a subscription fails to download, first check that its URL is complete and the server is reachable.
Check the App Store listing for compatibility, and find your iOS version in Settings → General → About.
Installation
Open the App Store listing linked from this page, verify the app name, and install it through the store.
Network permissions
Add a VPN configuration when prompted before connecting. Managed devices must also comply with organizational policies.
Configuration
Prepare a subscription or local configuration compatible with the client. Installing the app does not include a proxy service.
Linux GUI Clients
Check your distribution’s package management system, then confirm your CPU architecture. The GUI installers below are for AMD64 / x86_64. For headless servers or routers, use the Mihomo core rather than installing a desktop app.
DEB packages are for distributions that use the corresponding package management system; RPM packages are for RPM-based distributions. You can’t use one by simply changing its file extension. Use your system’s software installer or package manager to handle dependencies. The app doesn’t need to run as root; configure service permissions separately if needed.
A good fit for DEB-based desktop systems where you want to choose proxy groups in a GUI. If the app doesn’t appear in your menu after installation, check whether the package manager finished installing it and handling dependencies. Terminal tools may not use the desktop system proxy; verify proxy settings separately for each tool.
Linux Installation Requirements & Checks
Check
Requirements & guidance
Distribution
Check your distribution with cat /etc/os-release, then choose the DEB or RPM package type.
Processor
Check the architecture with uname -m; x86_64 matches the AMD64 GUI installers listed here.
Desktop dependencies
GUI clients require a desktop session and the relevant runtime libraries. Check the package manager’s output for missing dependencies.
Network routing
System proxy, terminal proxy, and TUN routing affect different traffic. Test one method first, then add advanced configuration.
Download the Mihomo Core
For users managing processes on servers and routers. The core doesn’t include a GUI like the clients above; desktop and mobile users should choose a GUI client for their platform. Before downloading, confirm your operating system, CPU architecture, and runtime environment.
Extract ZIP files before running them. GZ files must be extracted to get the binary. Neither format is a desktop installer that configures networking for you. On Linux and macOS, check that the file is executable and set appropriate access permissions for the configuration directory, logs, and runtime account. Install DEB packages with a package manager.
For the first deployment, run the core in the foreground and check its output to confirm that the configuration parses, ports are listening, and rules load correctly. Then configure a service manager to keep it running. Don’t expose the external control interface to untrusted networks; for local administration, bind it to the loopback address. For rule providers, DNS, or TUN settings, see the Clash Advanced Configuration Guide.
Verify the connection after downloading
Start with a simple, reproducible setup before adding startup tasks, TUN, or complex routing rules. Change one thing at a time so you can identify the cause in the logs.
Keep installation separate from legacy setup
When upgrading the same client, export its configuration in the app and make sure the process has exited—not just that the main window is closed. When switching clients, don’t copy the entire user data directory. Subscription URLs, YAML configurations, and local overrides can be migrated individually, but databases, caches, and UI state may not be compatible. Keep a backup and remove the old setup only after the new client connects successfully.
Import your configuration before enabling routing
After installing, open the client, import a subscription or local file, and confirm it parses successfully. If a subscription update fails, check that the URL is complete, has no extra spaces, and is still valid. If configuration parsing fails, inspect the specific error field. Don’t treat subscription download failures, node connection errors, and system proxy issues as one generic “no internet” problem.
Check results using requests and logs
Select a proxy group, enable the routing method you need, then make a specific browser request. Check the logs for the destination domain, matched rule, and selected route. A latency test only reflects its specific probe conditions; it doesn’t prove that the browser, terminal, and every app are routed through the proxy. If the browser works but the terminal connects directly, check the terminal tool’s own proxy settings before reinstalling the client.
Find help with choosing a package, installation, and migration. Check subscription contents, node availability, and access permissions separately.
Which Clash client should I download first?
Start by selecting your operating system. For Windows, macOS, Android, and iOS, consider Clash Plus first; for Linux, start with Clash Verge Rev. Choose a GUI client for everyday use. Consider the Mihomo core only if you manage a server or router process yourself.
What’s the difference between ARM64, x64, and universal installers?
x64, also known as AMD64, is generally for 64-bit Intel and AMD desktop systems. ARM64 is for compatible ARM devices, including most newer Android phones. Check your system information, then verify the installer filename. A universal APK includes multiple architectures, making it useful when you’re unsure which one your Android device needs, but the file is usually larger.
Why does the filename still say x64 when I selected Apple Silicon for macOS?
For some clients, both architecture options currently point to the same x64 installer. Apple Silicon devices may need Rosetta to run it, so selecting the Apple Silicon option doesn’t mean you’re getting an ARM-native build. For a native build, look for the Clash Plus download with arm64 in its filename.
Why can’t I connect to the internet right after downloading a client?
The installer provides the client, not proxy nodes. Import a subscription you’re authorized to use or a local configuration, choose a proxy group, then enable the system proxy or VPN routing as needed. Finally, check the connection logs and matched rules to confirm requests are using the intended route.
What should I do if installation is blocked or requires more permissions?
First, confirm the operating system and architecture match the installer, and note the complete error message. Windows service installation, macOS network extensions, and VPN setup on mobile devices may require system approval; review the permissions before granting them. Don’t disable system security protections entirely just to install the app. If your organization manages the device, contact its administrator.
Can I still use the older Clash for Windows and ClashX Meta?
This page keeps archived downloads for these two discontinued clients, mainly for reproducing legacy setups and migrating configurations. For new installations, choose a client that’s still maintained. Before migrating, export your subscription URL, rule overrides, and proxy group settings. After importing them, check protocol support, ports, and DNS behavior. Don’t overwrite the entire old directory.