Choose your operating system, then check the CPU architecture. A GUI client manages configurations and system integration; the Mihomo core parses configurations and forwards traffic according to rules.
Most Intel and AMD PCs should use the x64 installer. For your first setup, install the client and import a configuration before enabling the system proxy. If you need to route traffic from more apps, check the permissions required for TUN.
Clash Plus
Top pick
A good choice for first-time installs and everyday configuration management. Download the x64 installer, follow the setup wizard, and import a subscription or local configuration. Before enabling the proxy, make sure the selected proxy group has a working node; installation alone doesn't mean you're connected.
For desktop users who want to manage subscriptions, overrides, and service mode. The x64 installer is available here. TUN and the system proxy work differently; first verify a basic connection, then install the service and grant permissions if needed.
A good fit if you want a similar configuration workflow across devices. Use the EXE for a standard install. Choose the ZIP if you want to manage the program directory yourself; extracting it does not automatically configure system services or permissions.
Another desktop interface for managing configurations, available as an x64 installer. When migrating, import your original YAML file or subscription URL instead of copying another client's entire application data directory; interface settings don't map exactly to core configuration.
Archived download for reference and migration from existing setups. For new installations, choose one of the clients above. Older cores may not support newer protocols, configuration fields, or OS changes; updating a subscription won't resolve every compatibility issue.
A currently supported Windows 10 or 11 x64 system is recommended. Check the client's release notes for its minimum supported version. The desktop packages listed here are not native ARM64 builds.
Installation permissions
Install EXE packages using the setup wizard. Service mode and TUN may require administrator privileges; importing a standard configuration should not require changing system security policies.
First connection check
Import a configuration, select a node, enable the system proxy, and check the connection log. For UWP apps, also check loopback restrictions; repeated reinstalls won't diagnose this issue.
DESKTOP / APPLE SILICON & INTEL
macOS clients
Check your chip type in About This Mac. Clash Plus has separate ARM64 and x64 packages. The manifest files for the other Apple Silicon download options below are currently x64, so check Rosetta compatibility before using them.
Clash Plus
Top pick
Choose ARM64 for Apple Silicon and x64 for Intel Macs. Open the DMG and follow the prompts to move the app to Applications, then launch it and import a configuration. When first enabling network access, verify the app name in the system permission prompt.
A good fit for managing multiple configurations and overrides. Both downloads are x64 DMGs. On Apple Silicon, check Rosetta compatibility before using either one; these are not native ARM64 packages.
Provides desktop configuration and proxy group management. The macOS file listed here is AMD64, also known as x64. Before using the alternative on Apple Silicon, check that the system supports running it through translation.
Archived menu bar client for referencing and migrating existing configurations. Both downloads point to x86_64 files. For new installations, consider one of the clients above. When using an older configuration, verify its rules and DNS fields individually.
Before installing, check the client's release notes for the minimum macOS version. Requirements vary by client and build.
Chip type
Use a native ARM64 package on Apple Silicon when available. Choose x64 for Intel Macs. On Apple Silicon, check Rosetta and app compatibility before running an x64 app.
Network permissions
On first launch, the app may request permission to configure the system proxy or access network features. If macOS blocks it, read the system prompt and verify the app's source instead of disabling system protections.
MOBILE / ARM64 & ARM
Android clients
Most newer phones use ARM64. Older devices may need an ARM 32-bit package; if you aren't sure which architecture your device uses, choose a client that offers a universal package. After installation, import a configuration and approve Android's VPN prompt when connecting for the first time.
Clash Plus
Top pick
ARM64 APK for compatible Android phones and tablets. When installing for the first time, allow installation from the app you're using to open the APK. You can revoke this permission in system settings after installation.
Offers ARM64, ARM, and universal packages. Prefer the package that matches your device; use the universal build if you aren't sure of its architecture. After importing a subscription, make sure the configuration is selected, then choose a node in the proxy group.
ARM64 and ARM 32-bit APKs are available. If the connection drops when the app goes into the background, check background activity and battery optimization settings first. This is often a process management issue, not a sign that the configuration is invalid.
Universal APK available. This client uses a configuration format different from Clash YAML. Before migrating, make sure your subscription provides a format the client supports; changing a Clash configuration's file extension won't make it compatible.
ARM64 corresponds to arm64-v8a; ARM 32-bit corresponds to armeabi-v7a. Check the installer and client release notes for the minimum Android version. A 64-bit-capable processor does not necessarily mean the system is running a 64-bit OS.
Install permissions
Allow the current file manager or browser to install apps before opening the APK. If you see a signature mismatch, back up the original app data first and check whether the packages came from different build sources.
Connection requirements
Approve the VPN permission prompt. Other VPN apps in the same user profile may conflict with the connection. If it disconnects in the background, check battery restrictions and auto-start settings.
MOBILE / APP STORE
iOS client
Install Clash Plus from the App Store. Check the store listing for system compatibility requirements. After installation, import your own configuration and allow the VPN configuration when prompted by iOS.
Clash Plus
Top pick
Check the App Store listing for device compatibility, app details, and updates. Before connecting for the first time, confirm the imported configuration is valid and select an outbound node in a proxy group. The VPN icon means a tunnel is active, but you'll need to check the app's connection results to see whether traffic is working.
Check the compatibility details on the App Store listing to make sure your device and OS version meet the requirements. The App Store handles installation and updates.
Import a configuration
Import a subscription or file using a method supported by the client. If importing fails, check that the link returns configuration data—not a login page or an expiration notice.
VPN permission
Approve the system prompt the first time you connect. If you also use another VPN configuration, check which one is currently active to avoid confusion about connection status.
DESKTOP / AMD64
Linux clients
For desktop use, start with a GUI client. Debian and Ubuntu-based distributions typically use DEB packages; Fedora and other RPM-based distributions use RPM. All client packages listed below are AMD64—don't install them on ARM devices.
Clash Verge Rev
Recommended
Desktop packages are available in DEB and RPM formats. Install with your distribution's package manager to identify missing dependencies. System proxy support varies by desktop environment and app; TUN also requires checking permissions and routing settings.
AMD64 DEB package for desktop distributions compatible with its package format and runtime dependencies. If installation succeeds but the interface won't launch, run the program from a terminal to read the error. Missing GUI dependencies and configuration parsing failures are different issues.
Run uname -m; x86_64 usually corresponds to AMD64. aarch64 corresponds to ARM64, which requires a different supported deployment option.
Distribution and dependencies
Make sure the package format matches your distribution and let the package manager handle dependencies. Check the build requirements and installation errors for minimum runtime library requirements.
GUI and permissions
GUI clients require a desktop session. On headless servers, use the core. For TUN, check virtual network device availability, permissions, and firewall rules.
ENGINE / SELF-MANAGED DEPLOYMENT
Standalone Mihomo core
For users managing servers, routers, or their own services. The core does not include a full desktop configuration management interface; most users should choose one of the GUI clients above. Before deployment, prepare a configuration file, runtime directory, and service permissions.
Check OS, instruction set, and runtime library compatibility before extracting the file and setting its executable permission. Run it in the foreground first and review the logs to confirm the configuration parses, then hand it over to a service manager. If you need TUN, check network device availability and permissions. Don't run the entire service as root by default.
Use mihomo -t -f config.yaml to test whether the core can parse a configuration; passing the test doesn't mean remote nodes are reachable. Set listening addresses, DNS, and the controller interface for your use case. In particular, don't expose an unprotected controller interface to the public internet. See the YAML manual for field details.
AFTER INSTALLATION
Post-install configuration checks
The installer only provides the program. Check your configuration source, network access method, and actual outbound traffic separately.
Import a valid configuration
Use your own subscription URL or local file, then confirm the client parsed it successfully and the configuration is selected. Subscription URLs may contain credentials, so don't post them publicly. Hide node passwords and controller API keys in screenshots.
Enable only the access method you need
Start with the system proxy to test apps that support it. If you need to route other traffic, learn how TUN permissions and routing work. Avoid running multiple proxy clients at once; they can compete for ports, overlap routes, or leave proxy settings behind when closed.
Check the logs
After selecting a node, make a real request and check the connection log for its destination, matched rule, and outbound policy. A successful latency test doesn't mean every site is reachable. If only some apps have issues, first distinguish between proxy access and DNS problems.
For a first install on Windows, macOS, Android, or iOS, start with Clash Plus. On Linux, start with Clash Verge Rev. Choose a GUI client to manage configurations, nodes, and system proxy settings. The standalone Mihomo core is mainly for servers, routers, or services you manage yourself.
Which package should I choose: AMD64, x64, ARM64, or universal?
AMD64 and x64 usually refer to the same 64-bit x86 architecture; they are not limited to AMD processors. ARM64 uses a different instruction set. Check your system information before choosing a package. On Android, choose a universal package if you are unsure of the architecture. On Apple Silicon, check Rosetta compatibility before using an x64 app.
Why can't I connect after downloading and installing a client?
The installer includes the client, not a proxy service you can connect to immediately. Import a valid configuration, choose a proxy group and node, then enable the system proxy or configure TUN if needed. Check the connection log to verify matched rules and actual outbound traffic; the interface toggle alone doesn't confirm a connection.
What should I do if installation fails or the system says the app can't run?
Check the package format, CPU architecture, and system requirements, then make sure the download is complete. On Windows, check installation permissions and security prompts; on macOS, review security settings and Rosetta requirements; on Linux, check dependency errors from the package manager; on Android, check permission to install from that source. Don't bypass errors by disabling system protection entirely.
What should I back up before upgrading or switching clients?
Back up your configuration files, subscription URLs, overrides, and local rules. Note your current listening ports and proxy mode. App settings may not transfer between clients, so recheck DNS, TUN, and system proxy settings after migrating. Subscription links and configurations may contain sensitive information; don't share them publicly.
Why are discontinued clients still listed?
Clash for Windows and ClashX Meta are listed for reference and migration from existing setups. Since they are no longer maintained, you'll need to assess future OS compatibility and configuration support yourself. For new installations, choose a client that is still maintained. When migrating, keep your original configuration and verify proxy protocols, rules, and DNS behavior.