Choose your operating system, then verify the processor architecture. GUI clients handle configuration and controls; the Mihomo core handles connections. Most users should start with a client.
Operating system → CPU architecture → package format. Installers don’t include a proxy service. Have your subscription URL or YAML configuration ready before setting up a connection.
Download by operating system
Switch between platform tabs to view the corresponding downloads. Share a platform anchor to open the page at a specific OS. Each card lists the primary build first, followed by alternative architectures.
Windows GUI clients
The desktop installers below are primarily x64 builds. Check your system type under Settings → System → About. On Windows on ARM, confirm x64 app compatibility first; x64 is not native ARM64.
Clash Plus
Top pick
A good choice for first-time installs and everyday subscription management. Use the GUI to import a configuration, choose a proxy group, and set the system proxy; enable TUN if needed.
After installation, import your configuration before enabling the system proxy. If you need TUN to route apps that don’t use the system proxy, check the client’s service and permission prompts.
Clash Verge Rev
A good fit for desktop users who need to manage subscriptions, rules, and overrides. When migrating an existing setup, keep the original subscription and transfer local changes one at a time.
If startup fails, note the full error message. Missing UI runtime components, failed service installation, and configuration syntax errors are different problems and need separate fixes.
FlClash
A good choice if you want a similar workflow on desktop and mobile. After installation, check the client’s local proxy port instead of reusing settings from another client.
AMD64 here means 64-bit x86. It works with compatible Intel and AMD processors; it is not exclusive to AMD CPUs.
Clash Nyanpasu
Provides a desktop interface for managing configurations, suited to users familiar with YAML who want to edit local settings. Check that the core supports the required features before importing a config.
Test custom rules in a copy first. Confirm the core starts successfully before enabling launch at startup, so a broken config doesn’t load at every sign-in.
Clash for Windows
Discontinued
Archived download for compatibility, config export, and migration on existing setups. For new installations, choose a maintained client above rather than defaulting to an older release.
Older cores may not recognize newer protocols, rule types, or DNS fields. If you see an error such as unknown field, check for a compatibility issue instead of repeatedly reinstalling.
Windows requirements and installation checks
Check
Requirements or recommendations
Where to check
Operating system
Use a supported version of Windows 10 or 11; check the installer for the specific minimum version
Settings → System → About
Processor
The desktop downloads on this page are primarily x64 / AMD64
Check the system type and look for x64 in the filename
Installation permissions
Administrator approval may be needed for the install location, service components, and TUN
Read the system permission prompt before confirming
Runtime dependencies
Some GUI clients require a runtime such as WebView2
Install the required dependency based on the installer error
Quit the old client and turn off its system proxy before testing a new one. If both apps try to use the same mixed-port, the one started later may fail to listen. Switching clients doesn’t automatically free up the port.
macOS GUI clients
Check your chip under Apple menu → About This Mac. Apple Silicon uses ARM64; Intel uses x64. Some downloads currently provide the same x64 file for both options, as noted below. Check the actual filename—the button label alone doesn’t guarantee a native build.
Clash Plus
Top pick
Choose the DMG that matches your chip. After installation, move the app to Applications, approve any required network permissions on first launch, then import your subscription and configuration.
Don’t run the app from the disk image long-term. Finish installing it and eject the image before configuring launch at login or the system proxy.
Clash Verge Rev
A good fit for managing subscriptions and overrides in one place. The Apple Silicon and Intel links currently point to the same x64 DMG; confirm Rosetta compatibility before running it on Apple Silicon.
For native ARM64, choose a client that explicitly offers an arm64 build. The actual downloaded filename and installer requirements take precedence over the link label.
FlClash
A good fit for desktop users who prefer a mobile-style configuration workflow. Both chip options currently provide an AMD64 DMG; check compatibility before using it on Apple Silicon.
When switching from another client, test the same subscription first. Once proxy groups and rules work as expected, disable the old client’s launch-at-login option.
ClashX Meta
Discontinued
Archived menu bar client for maintaining and migrating existing setups. Both chip options currently provide an x86_64 build, not a native ARM64 package.
If a proxy helper stops working after a macOS upgrade, reset the system network settings first, then migrate to a maintained client. This helps prevent leftover proxy settings from pointing to a process that’s no longer running.
macOS requirements and installation checks
Check
Requirements or recommendations
How to check
macOS version
Minimum versions vary by client; follow the app’s installation and startup prompts
About This Mac → macOS version
Apple Silicon
Prefer a file explicitly labeled arm64; x64 builds require compatible runtime support
Apple chip shown under Chip
Intel
Use an x64, x86_64, or AMD64 build
Intel shown under Processor
Network permissions
Grant permissions for the system proxy, helper services, and TUN as needed
Relevant permission prompts in System Settings
If macOS blocks the app, check its source, system compatibility, and the full error message first. Then follow the authorization steps in System Settings. Don’t run commands from unknown sources to remove security restrictions in bulk.
Android downloads
Most recent phones use ARM64. Older devices may run 32-bit Android, even if the processor supports 64-bit instructions. Choose a build based on the ABI supported by the operating system.
Clash Plus
Top pick
ARM64 APK for compatible Android phones. Import a subscription, start a VPN connection, and approve the network access prompt the first time you connect.
After downloading in your browser, allow installs only from the source you’re using. You can revoke that permission after installation. Adjust background-running restrictions for your device separately.
Clash Meta for Android
Choose ARM64 or ARM based on your system ABI; use the universal build if you’re unsure. Supported config syntax depends on the included core, not just the app’s name.
Universal builds often include multiple architectures and may be larger. If installation fails, check for package parsing or signature conflict errors; switching subscriptions won’t fix an installation issue.
FlClash
Available for ARM64 and 32-bit ARM. A good choice if you use both desktop and mobile versions and want a similar configuration workflow.
If the connection drops when the screen locks, check battery optimization, background activity, and auto-start settings. First confirm whether the system is stopping the app, then consider changing DNS settings.
Surfboard
An Android client with its own configuration system, suited to users with a compatible config already. Don’t assume Clash YAML can be imported directly as a Surfboard configuration.
Before importing, confirm the format and protocol support provided by your service. Converting a config changes its syntax; it cannot add features the client doesn’t support.
Android requirements and installation checks
Check
Requirements or recommendations
What to check
OS compatibility
Check the minimum Android version required by the APK installer
About phone → Android version
CPU and ABI
ARM64 uses arm64-v8a; ARM uses armeabi-v7a
Check the device’s system ABI, not just the processor’s advertised specs
VPN slot
Typically, only one standard VPN connection can be active in a user profile at a time
Check for other VPN, firewall, or filtering apps
Background activity
Allow background activity as needed to prevent the system from stopping the app when the screen locks
Battery optimization and manufacturer background controls
If the old and new apps have different signing certificates, Android may refuse to install the update over the existing app. Export your configuration and verify the backup first, then decide whether to uninstall the old app. Uninstalling clears local app data and may remove saved subscriptions.
iOS client
Install Clash Plus from the App Store. Check the store listing for device compatibility, system requirements, and current details, then import a supported subscription or configuration.
Clash Plus
Top pick
Check the App Store listing for the developer, compatible devices, and feature details. After installation, open the app, import your configuration, choose a proxy policy, and add a VPN configuration when prompted by iOS.
After switching networks or changing rules, check the connection logs before deciding whether to reconnect. The VPN icon in the status bar only confirms that a tunnel is active; it doesn’t mean every routing rule is working as expected.
iOS requirements and installation checks
Check
Requirements or recommendations
Where to check
macOS version
Use the compatibility details in the App Store listing
Store listing → Compatibility
Install source
Use the Clash Plus App Store link on this page
Verify the app name and listing details
Connection permission
Approve the VPN configuration when starting the first connection
System permission prompt and VPN settings
Subscription configuration
Requires a valid subscription URL or supported local configuration
In-app configuration list and update log
If another VPN is configured, check which one is currently active. After importing a subscription, verify that it updated and review its proxy groups. A saved URL doesn’t necessarily mean the configuration downloaded successfully.
Linux desktop clients
Choose DEB for Debian- and Ubuntu-based systems, or RPM for Fedora and other RPM-based distributions. The GUI packages on this page are AMD64 builds. For headless servers and other architectures, see the Mihomo core downloads below.
Clash Verge Rev
Recommended
Available as DEB and RPM packages for managing subscriptions and rules in a desktop environment. Install with your distribution’s package manager to handle available software dependencies.
Tray support depends on your desktop environment and its extensions. If the window starts but the tray icon is missing, check desktop integration before assuming the core is at fault.
FlClash
AMD64 DEB package for Debian-based desktop systems. After importing a configuration, check the listening address before choosing the desktop system proxy or TUN.
Terminal apps may not use the desktop proxy settings. Configure proxy environment variables for command-line tools that need a proxy, or use TUN after understanding its routing effects.
Linux requirements and installation checks
Check
Requirements or recommendations
How to check
Processor
GUI packages on this page are for AMD64 / x86_64
uname -m
Package format
Choose DEB or RPM to match your package manager; don’t mix package formats
cat /etc/os-release
Desktop dependencies
Requires a graphical session and the runtime libraries listed by the installer
Check dependency details in your package manager
TUN permissions
Requires the relevant network permissions and an available TUN device
Check service logs and /dev/net/tun
After installation, launch the GUI from a regular user session. Configure privileged services separately as described by the client; don’t run the entire desktop app as root long-term. Before enabling TUN on a remote machine, keep a second working management connection available.
CORE PACKAGES / CLI & Service Deployment
Download the Mihomo Core
For servers, routers, and users who manage processes themselves. Core packages don’t include a GUI; most users can use one of the clients above. Download these files only if you need to deploy the core separately.
GZ files must be extracted first. Name the binary mihomo, place your config in a separate directory, and check its syntax. These commands are for Unix-like systems and don’t configure the service to start automatically.
Save the configuration as profile/config.yaml. A successful test confirms only that the config can be parsed; test proxy connectivity, DNS, and routing separately after starting the core.
Listening addresses and service boundaries
On a server, check which interfaces the proxy ports and controller listen on. For local use, keep them bound to the loopback address. Don’t expose the controller or proxy ports to the public internet just to make testing easier.
A standalone deployment also requires you to manage data directories, logs, permissions, process restarts, and resource files. Router systems may have dedicated management tools; check which core format they expect before replacing anything manually.
Confirm the download is complete, then follow the installer prompts. Quit the old process before upgrading. When switching clients, export your subscription and local rules first; don’t copy the entire application directory.
02 / CONFIG
Import a subscription and choose a policy
Import a valid subscription or local YAML file, then check the update log and proxy groups. Test in rule mode first, then choose system proxy, VPN, or TUN based on the apps you need to route.
03 / VERIFY
Check connectivity and DNS
Check that the core has started, the ports are listening, and rules are matching. Use the logs to troubleshoot connection issues one at a time. Avoid changing ports, DNS, and rules simultaneously so you can isolate the cause.
Which Clash client should I choose for my first install?
Start with Clash Plus on Windows, macOS, Android, or iOS; for Linux, consider Clash Verge Rev. Most desktop users need a GUI client, not a separate Mihomo core download. The installer does not include a proxy service—you’ll need to import your own subscription or configuration after installation.
ARM64, AMD64, x64, or universal: which build should I choose?
AMD64 and x64 usually refer to the 64-bit x86 architecture; ARM64 is for compatible ARM processors. Check your system’s processor information, then verify the download filename. If you’re unsure which architecture your Android device uses, choose a universal build if available. On macOS, verify the actual filename too: an x64 build is not a native ARM64 build.
What if the download fails or the file won’t open?
Check your browser’s downloads list to confirm the download finished and the file has the expected extension. If it failed, try again later and check available disk space, your network, and any browser warnings. If a completed download won’t launch, verify the system architecture and read the installer message. Don’t save the webpage as an installer or disable your system’s security protections.
What should I back up before updating a client?
Export your configuration or back up the client’s configuration directory. Note your subscription URL, custom rules, overrides, and local listening ports. Quit the old client before installing the new version. When switching clients, don’t overwrite the entire old directory; import your configuration again and migrate settings one by one. Keep subscription URLs and credentials in logs private.
Why are Clash for Windows and ClashX Meta archived?
Both clients are no longer maintained. Their download links remain available for compatibility and migration on existing setups. For a new installation, choose a maintained alternative. Older cores may not support newer protocols or configuration fields; if importing a config fails, check core compatibility rather than repeatedly refreshing the subscription.
Why can’t I access the internet right after installation?
Installing the client only installs the software. You still need to import a valid subscription or configuration, choose an available proxy group, start the core, and enable the system proxy, VPN connection, or TUN as appropriate for your platform. Check config loading, listening ports, proxy mode, and DNS logs in that order. See the quick-start guide for detailed steps.