Choose your operating system first, then check your CPU architecture. Desktop and mobile users should choose a GUI client; servers, routers, and users managing their own processes can get the standalone Mihomo core.
Recommended order
Operating system → Architecture → Package format → Import configuration
Downloading a client and setting up a subscription are separate steps. The installer provides the interface and runtime; nodes, policy groups, and routing rules come from the configuration you import afterward.
Available clients are listed in a consistent order for each platform. “Top pick” and “Recommended” labels help you choose; “Archived” means the project is no longer maintained. Versions are shown on the cards when available. Check each project’s release notes and installer prompts for current requirements.
Windows Downloads
The GUI clients listed here are x64 downloads. Check your system type under Settings → System → About. On ARM devices, confirm app compatibility separately; an x64 package is not a native ARM64 build. After installation, import your configuration before enabling the system proxy to avoid pointing your system at a port that isn’t listening yet.
Clash Plus
Top pick
A good fit if you’re starting with subscription imports, mode selection, and switching policy groups. Choose the x64 installer for a first-time setup. When migrating an existing configuration, keep the original YAML file and subscription URL, then review the new client’s override settings.
A good fit for desktop users who need to manage multiple configurations, rule overrides, and core settings. Test the connection with the system proxy before enabling a service or TUN. Follow the client’s separate instructions for any steps that require administrator access.
A good fit if you want a similar workflow across desktop and mobile. Use the EXE for a standard installation; fully extract the ZIP before running it. Both require a configuration, and running an extracted copy does not automatically grant system-service permissions.
An alternative GUI client for desktop use. When migrating, recheck that the configuration is active, along with the listening port and system proxy settings. Don’t just copy the selected node from the interface; back up custom rules separately and check where they’re merged.
Archived downloads are provided for migrating older setups, comparing configurations, and reproducing compatibility issues. For new installations, choose a maintained client. Older cores may not recognize newer protocols or fields; if configuration parsing fails, repeatedly importing the same file is unlikely to help.
Packages here are x64; your system must support the corresponding app architecture.
OS support
Check the selected client’s release notes. Minimum OS requirements vary by client, even on the same platform.
Permissions
The installer, service mode, and virtual network adapter may each request permissions. Grant them only as needed for the features you use.
Connection test
Make sure another proxy isn’t using the same port, then check the system proxy, policy group, and logs.
macOS Downloads
Open the Apple menu and select About This Mac to see whether your chip is Apple silicon or Intel. Prefer a native package for your chip. Some downloads are x64 even when grouped under an Apple silicon option, so check the actual package architecture and compatibility requirements.
Clash Plus
Top pick
Apple silicon and Intel downloads are available. Open the DMG and follow the installer to place the app, then launch it from Applications. After importing your configuration, check the proxy port first; review network permissions and core settings separately.
A good fit for desktop users who need configuration management and overrides. Both downloads currently fall back to x64. Apple silicon users should confirm that Rosetta can run the app; this is not a native ARM64 package.
A good fit if you want a consistent workflow across devices. Both downloads currently fall back to AMD64 (x64). Apple silicon users should confirm compatibility before installing. Recheck permissions on each Mac rather than carrying over settings from another device.
An archived project, mainly for migrating older configurations and checking existing setups. Both downloads currently fall back to x86_64. Apple silicon compatibility depends on the system and app; for new installations, consider a maintained alternative listed here.
Choose a native ARM64 package for Apple silicon or an x64 package for Intel.
Compatibility
If using an x64 package on Apple silicon, check Rosetta compatibility. Prefer a native package when available.
OS support
Check the client’s release notes for the minimum macOS version; the DMG file extension doesn’t indicate compatibility.
Permissions
Follow macOS prompts for app launch and network extension permissions. Keep the exact error message if you need to troubleshoot.
Android Downloads
Most recent phones use ARM64, but processor support and the architecture actually used by the system aren’t always the same. Choose an APK that matches your device’s system; if you’re unsure, check your device information or use the client’s universal package. After installation, import a configuration and approve Android’s VPN prompt when connecting.
Clash Plus
Top pick
The ARM64 package is available. After importing a subscription, choose a policy group before connecting. The Android VPN icon means the network service is running; it doesn’t guarantee that every node in your configuration is reachable. Check actual requests and logs to verify the connection.
A good fit for managing Clash configurations on Android. ARM64 is for compatible 64-bit systems; ARM is for compatible 32-bit systems. The universal package includes more architectures and is usually larger, but it doesn’t bypass the minimum Android version requirement.
ARM64, ARM, and x86_64 packages are available. Choose based on the actual architecture of your phone, tablet, or compatible environment. If background connections stop, check battery optimization and background activity restrictions before reinstalling the client.
For Android users whose configuration formats and protocols are supported. Surfboard isn’t a Clash YAML-compatible core wrapper. Before migrating, check its configuration syntax and protocol support; changing a file extension alone won’t make a configuration compatible.
ARM64 corresponds to arm64-v8a, ARM to armeabi-v7a; use x86_64 only on a matching device.
Android version
Check the selected APK’s requirements. A universal package doesn’t lower the minimum Android version.
Permissions
Permission to install from a source and permission to establish a VPN connection are separate steps.
Existing VPN
Check whether another VPN app is using the same service. Avoid switching control of the connection back and forth between apps.
iOS Client
Check the App Store listing for app details, device compatibility, and current installation requirements. After installing, import your configuration before adding a VPN configuration when prompted by iOS. Set notifications and automatic connections separately according to your needs.
Clash Plus
Top pickApp Store
Install from the App Store listing and manage updates there. After installing the client, import a configuration you’re authorized to use, then check the selected policy group and connection rules. Official website: clashplus.io.
Check the compatibility section of the App Store listing.
Installation source
Use the app listing above to install and update the client.
Connection permissions
When connecting, follow the system prompt to add a VPN configuration and confirm which configuration is active.
Configuration source
Installing the app and importing a subscription are separate steps. Keep your subscription URL secure.
Linux Downloads
First identify your distribution’s package system, then choose a format. The GUI clients listed here are AMD64 / x86_64. DEB and RPM packages use different installation commands. AppImage also requires compatible system libraries and mount support, so it won’t run on every distribution out of the box.
Clash Verge Rev
Recommended
DEB and RPM packages are available for Linux desktop users. Before installing, check your distribution, architecture, and dependencies. Handle any required permissions when enabling service mode. Headless servers can use the standalone core without installing a GUI.
DEB is usually the right choice for Debian-based distributions; RPM and AppImage packages are also available. If the app won’t start, check terminal output for missing dependencies or runtime libraries. Don’t mistake a desktop session issue for a node timeout.
When uname -m outputs x86_64, use the AMD64 package listed here.
Package format
Debian- and Ubuntu-based distributions usually use DEB; RPM-based distributions use RPM. Check dependencies as well.
Desktop environment
GUI clients need a compatible graphical session and runtime libraries; the standalone core has no desktop interface.
Network permissions
System proxy, TUN, and routing settings operate at different levels. Enable and test them one at a time.
Standalone Mihomo Core
For users running services on servers or routers, or managing processes themselves. The core handles configuration parsing, proxies, and rules, but doesn’t include a GUI client’s subscription management interface. Desktop users should generally choose one of the GUI clients above and don’t need a separate core download.
Prepare a valid YAML configuration and check paths, indentation, and referenced local files.
Permissions
After extracting, confirm the binary is executable. TUN, routing, and listening on privileged ports may require additional permissions.
Listening scope
Check the listening address, LAN access, and controller settings. Don’t expose the management interface directly.
Service management
Validate the configuration in the foreground before setting up a background service. Keep logs and a way to restore the previous configuration.
Before updating a standalone core, keep the old binary, configuration, and service definition. Stop the existing process, then test the new core in a directory you can roll back. If rule-set or DNS behavior changes, use the logs to investigate one issue at a time; don’t change the architecture, configuration, and system routes all at once.
Where installation ends and configuration begins
After installation, activate a configuration
A client launching successfully only means the app can run. Next, import a subscription URL or local configuration, confirm that it downloads and parses successfully, then select the active profile. A file appearing in the configuration list doesn’t mean the core has loaded it; check the active indicator and logs.
For a first test, keep variables to a minimum: run one proxy client, select rule mode, then check which policy group is actually selected. If a port is already in use, quit the old client or change the listening port, then update the system proxy settings to match.
Before migrating, back up configuration and UI settings separately
Subscriptions, local YAML files, custom rules, override snippets, and system startup settings belong to different layers. When switching clients, record the subscription source and rule changes, then import the original configuration. Don’t assume another client can read all of your UI preferences.
Remote subscription updates may replace generated content. Put rules you need to keep in an override or merge mechanism explicitly supported by the new client, and check their order. For changes involving service ports, DNS, or TUN, test one change at a time.
Start with Clash Plus on Windows, macOS, Android, and iOS, or Clash Verge Rev on Linux. Check your operating system and architecture before choosing a package. If you already have a preferred workflow, consider alternatives such as FlClash for your platform.
What’s the difference between x64, AMD64, ARM64, and Apple Silicon?
x64 and AMD64 usually refer to the same 64-bit desktop architecture for compatible Intel or AMD processors. ARM64 is a different architecture, and Apple Silicon uses ARM64. Check your system information and the package’s actual architecture rather than relying on the device brand.
Does installing a client give me working proxy nodes?
No. The installer installs the client; it does not provide proxy nodes or a subscription. Import a subscription you’re authorized to use or a local YAML configuration, then choose a policy group and test the connection. Check the configuration source and protocol compatibility before importing.
Can I still install Clash for Windows or ClashX Meta?
Both clients are listed here as archived projects that are no longer maintained. They may help with migration from older setups or compatibility testing, but aren’t recommended for new installations. Before migrating, back up your subscription URL, local configuration, and custom rules, then verify them in a maintained client.
What should I check if a download won’t open or install?
Check the file type, CPU architecture, and supported operating systems, then note the exact error shown by your system. On Linux, verify the package format and dependencies; on macOS, check the binary’s architecture and compatibility requirements. Follow security prompts rather than disabling system protections altogether.
Do desktop users need to download the Mihomo core separately?
Usually not. GUI clients typically bundle or manage the core they need, so start with the client’s built-in core management. Standalone Mihomo packages are for users managing processes on servers or routers and require a configuration file, launch arguments, and suitable permissions.