Choose your operating system, then confirm your processor architecture. Graphical clients handle subscriptions and everyday connections; the mihomo core is for self-managed deployments.
mihomo EcosystemChoosing a ClientArchitecture & Permissions
PLATFORM PACKAGES
Choose a client by operating system
Downloads are organized by platform. Clash Plus is the recommended choice where available; Linux users can choose Clash Verge Rev or FlClash. Installers and subscriptions are separate—downloading an app doesn’t create a proxy service.
Windows Clients
Go to Settings → System → About to check your system type. The installers here are x64 desktop apps; on ARM devices, first confirm compatibility. For everyday use, enable the system proxy in only one client to avoid one app overwriting another’s settings when it exits.
Clash Plus
Recommended
A good choice if you want to set up your client through a graphical interface. After installing, import an existing subscription and wait for it to load, then select a proxy group and rule mode. Enable the system proxy and test a browser request. Set up TUN and grant the required permissions only if you need to route traffic from apps that don’t use the system proxy.
For desktop setups that need subscription management, config overrides, and connection details. Before enabling service mode or TUN, test the basics with the system proxy. If the system blocks service installation, check your account permissions and device management policies instead of repeatedly reinstalling the subscription.
A cross-platform graphical client for users who want a similar setup experience across devices. After installing, check the active config and mixed port. When migrating from another client, don’t assume its config directory, ports, or startup options work the same way.
Another graphical client for desktop use. After importing a subscription, check the parsed config and confirm the core supports its protocols and rule fields. If a port is already in use, quit the old client and restart the core—reimporting the same URL usually won’t fix a port conflict.
This archived download is for migrating older configs, comparing interfaces, and troubleshooting compatibility—not for new installations. Since the client is no longer maintained, it may not support future system changes or newer config fields. Back up your config before keeping an older setup, and verify rule behavior in the new client before completing the migration.
Use a supported Windows 10 or 11 x64 system where possible. Check the installer for the minimum build requirement.
Permissions
System proxy access doesn’t require the same permissions as service installation. TUN, service registration, and driver-related operations may require administrator approval.
Runtime components
If a desktop app reports missing runtime components, install the components it specifies. On managed devices, check your organization’s app installation policies first.
macOS Clients
Check your chip type under About This Mac. Choose x64 for Intel Macs; for Apple Silicon, prefer a download explicitly labeled ARM64. Some upstream architecture links currently return the same x64 file, as noted below. The link label doesn’t guarantee the architecture of the downloaded file.
Clash Plus
Recommended
Disk images are available for Apple Silicon and Intel. Open the DMG and follow the installer, then launch the app from Applications. Read the system authorization prompts before allowing traffic routing. Once your subscription is imported, test the system proxy before deciding whether to enable TUN.
For managing desktop subscriptions and rules. Both architecture links in this listing point to x64 disk images. Apple Silicon users should check whether Rosetta can run the app; this is not a native ARM build. After installing, check service permissions and the core that actually runs before importing your config.
For managing configs and connections through a graphical interface. Both macOS links currently provide AMD64 files; Apple Silicon users should confirm compatibility before installing. When switching clients, restore the old client’s system proxy settings so they don’t keep pointing to a process that’s no longer running.
Kept for existing menu bar workflows and troubleshooting older configs. All downloads listed here are x86_64, so Apple Silicon users should account for compatibility requirements. For new installations, choose a maintained client. Check whether fields in an old config are supported by looking at the core’s parsing results.
Check whether your Mac has an Intel or Apple Silicon chip. See the app’s prompts for its minimum macOS version; compatibility with older systems isn’t guaranteed.
Compatibility
Running x64 apps on Apple Silicon may require Rosetta. Prefer a native download explicitly labeled ARM64.
Network permissions
Check permissions for helper services, the system proxy, and TUN separately. If macOS blocks an operation, read the reason and keep system security protections enabled.
Android Clients
Most newer phones use ARM64, but check your device’s actual ABI. After downloading an APK, grant install permission only to the browser or file manager you’re using. On first connection, approve the system VPN request. If another VPN is active, check whether it’s using the same system tunnel.
Clash Plus
Recommended
Recommended for ARM64 phones. After installing, add a subscription and wait for it to finish parsing before approving the VPN connection. If connections drop in the background, check battery optimization, background activity, and app auto-start settings. These are controlled by the device manufacturer, so reinstalling the app may not help.
Available for ARM64, 32-bit ARM, and universal devices. Choose the package that matches your device architecture; if you’re unsure, use the universal package, which is usually larger. After importing your config, check the app’s traffic routing settings to make sure the apps you need aren’t excluded from the VPN, then review the connection logs.
Packages are available for ARM64 and 32-bit ARM devices. Even if you use the same subscription as on desktop, recheck mobile permissions, background operation, and app filters. Seeing VPN connected only confirms that the tunnel was created; it doesn’t verify proxy traffic is reaching an outbound.
For Android users with a compatible existing config. Surfboard uses a different config format from mihomo YAML, so changing the file extension won’t make it importable. Before downloading, confirm your subscription provider offers a compatible format and check protocol support. If you need mihomo-specific fields, choose a compatible client.
Make sure your Android version meets the installer’s requirements. Choose ARM64, ARM, or universal based on your device’s actual support.
Install permission
Allow installs from the source you’re using. If you see a signature conflict, back up your config and check where the existing app came from before proceeding; don’t overwrite an app signed differently.
VPN and background activity
Approve the VPN request the first time you connect. Check for other VPNs, battery optimization, and background app restrictions.
iOS Clients
Get Clash Plus from the App Store. Before installing, check the store listing for device compatibility, system requirements, and pricing. After launch, add a config in the app and approve the system VPN request.
Clash Plus
Recommended
Install and update through the App Store. Import an existing subscription in the app and confirm the current version supports its protocols and rule fields. After connecting, check the selected proxy group. The VPN indicator shows tunnel status; use the app’s connection logs to verify whether requests are actually being proxied.
Check the App Store listing for the current minimum iOS version, supported devices, and app size.
Config setup
Have a valid subscription URL or a config file supported by the app. Installing a client is separate from setting up a proxy service.
Network permissions
Allow the app to add a VPN configuration. If your device is managed by an organization, check whether its policies allow this connection.
Linux Clients
Choose a DEB or RPM package based on your distribution. The graphical clients here are AMD64 / x86_64; for ARM servers and routers, see the Mihomo Core section. After installation, check whether apps in your desktop session are using the system proxy.
Clash Verge Rev
Recommended
Choose DEB or RPM to match your package manager, which will handle dependencies during installation. For TUN, check service permissions and routing. If desktop apps connect but terminal requests aren’t proxied, configure proxy environment variables for the terminal separately; that doesn’t mean the installation failed.
An AMD64 DEB package for Debian-based desktop systems that meet its dependencies. Make sure a graphical session is available before launching it. A remote headless server isn’t suited to a desktop workflow; use the core and manage its config files and system service yourself.
Use uname -m to check your architecture; x86_64 corresponds to AMD64. Don’t install a DEB as an RPM or vice versa by simply changing the file extension.
Graphical dependencies
Make sure you have a desktop session and the runtime dependencies listed in the package. Compatibility depends on your distribution and system library versions.
Permissions and routing
TUN routing requires the appropriate system permissions. Existing VPNs, container networking, and policy routing may affect traffic handling.
Mihomo Command-Line Core
For servers, routers, and users who manage their own configs. The core doesn’t include a graphical subscription manager; desktop users should choose a GUI client above. Before downloading, check the operating system, CPU architecture, and device ABI. Don’t identify a router’s MIPS or ARM variant based only on its product name.
ZIP and GZ files are archives; extract them before running. On Unix-like systems, make the binary executable. Install DEB packages with your package manager. MIPS soft-float builds must match the device’s endianness and instruction set, so this download isn’t a universal package for all MIPS routers.
The commands above assume mihomo is on your executable path and config.yaml is in the config directory. The first command only checks the config; the second starts the core. A valid syntax check doesn’t guarantee that subscription outbounds are reachable—check logs and test actual requests.
POST-INSTALL CHECK
Post-install configuration checks
Start with a basic connection before adding complex rules. Installing the app, importing a subscription, and routing traffic are three separate steps: installation provides the program, the subscription provides config and outbounds, and the system proxy or TUN determines how app traffic reaches the core. If you’ve only done the first two, your browser may still connect directly—that isn’t an installer issue.
Import a config and choose a proxy group
Add an existing URL on the config or subscription page, wait for it to download and parse, then set it as the active config. Check that proxy groups have available outbounds and that rule references match the group names. Subscription URLs may contain access credentials, so store them securely. Before sharing logs or screenshots, remove sensitive URL parameters and personal information.
Test the system proxy before enabling TUN
For a first desktop setup, start with rule mode and the system proxy. Send a browser request and check the connection log. Terminals, games, and apps with their own network stack may not use the system proxy; consider TUN for those. TUN changes routing and DNS, so note your existing network settings first and avoid having multiple VPNs take over traffic at the same time, which can create routing loops.
Troubleshoot by failure stage
If a subscription download fails, check whether the URL is still valid and reachable. If config parsing fails, inspect the specific field and line number. If a connection fails, check node status, DNS, and outbound logs. Don’t change the client, subscription, and network mode all at once, or it’ll be hard to tell what fixed the issue. See the subscription import guide for full steps and the cross-platform setup and configuration guide for platform-specific details.
DOWNLOAD QUESTIONS
Download and Installation FAQs
Should I download a client or the mihomo core for my first setup?
For your first setup, choose a graphical client. It provides subscription import, proxy group selection, system proxy controls, and logs. The mihomo core is mainly for servers, routers, and users who manage their own configuration; you’ll need to provide a config file and decide how to run it.
Which should I choose: ARM64, x64, or universal?
Check your processor architecture in System Information first. Intel and AMD desktop systems typically use x64 or AMD64; ARM devices need a matching ARM64 package. If you’re unsure of your Android device’s ABI, choose the universal package. If a download is labeled x64, don’t assume it’s a native ARM build—check system compatibility.
Why can’t I connect after installing the app?
The installer provides the client, not a usable subscription. Import an existing subscription or config, make sure a proxy group has an available outbound, then select a rule mode and enable the system proxy or TUN. Finally, check the connection logs to confirm which rule matched the request and which outbound was used.
What should I back up before upgrading the client?
Back up your config files, custom rules, overrides, and any client settings you need, and keep your subscription URL safe. Quit the old app before installing the update to prevent two cores from competing for the same port. After upgrading, check the active config, selected proxy group, proxy port, and TUN permissions.
Are Clash for Windows and ClashX Meta still suitable for new installations?
Both clients are no longer maintained. Their downloads are provided for migrating older setups and troubleshooting compatibility, not for new installations. Choose a maintained client instead. Archived clients may not support newer systems, config fields, or protocols; back up your config before migrating.
What should I check if a download fails or the installer won’t open?
Check that the download completed, you have enough disk space, and the file extension and system architecture match your device. A saved web error page isn’t a usable installer. Review your browser’s download history and any system alerts, then try downloading again. For managed devices, ask your IT administrator about installation restrictions—don’t disable system security protections.