Client downloads · standalone core

Clash downloads by platform

Check your operating system and processor architecture before choosing a client. Use a GUI client for everyday connections; choose the standalone mihomo core for a manual deployment.

Windows clients

The GUI clients in this section are mainly x64 builds. Before downloading, open “Settings → System → About” and check your system type. Don’t treat an x64 desktop package as a native ARM64 build.

Clash Plus

Top pick

Windows x64 · EXE installer

A good choice for importing a config first and setting up the system proxy afterward. Once installed, check that the config loads successfully, then choose a policy group. Enable TUN interception separately if needed; there’s no need to change every network setting on first launch.

Clash Verge Rev

Windows x64 · EXE installer

A good fit for desktop users who manage configs and local overrides. After importing your existing subscription, check that rule overrides still point to valid policy groups. Before enabling service mode, verify system permissions and check whether other proxy apps are running.

FlClash

Windows AMD64 · EXE installer

AMD64 is the 64-bit x86 architecture and also supports compatible Intel processors. After importing your config, test browser connectivity in Rule mode. Enable TUN only if specific apps don’t follow the system proxy.

Clash Nyanpasu

Windows x64 · EXE installer

Another option for a desktop GUI client. Settings directories and override methods vary between clients. When migrating, start by importing your config file; don’t overwrite the entire application directory or reuse service files from the old client.

Clash for Windows

No longer maintained

Windows · archived installer

Kept for legacy compatibility and config migration reference. This archived release is not actively maintained and may not recognize protocols or fields used in newer configs. For a first-time install, choose one of the current clients above. Save your local config and rule changes before migrating.

Windows system checks

CheckBefore installing
Processor and OSThis section mainly offers x64 packages. On ARM devices, check whether your OS supports x64 apps. Standalone core packages are available separately for ARM64.
PermissionsImporting a standard config requires different permissions from taking over network traffic. Installing a service, creating a virtual network adapter, or changing firewall settings may require administrator approval.
Runtime requirementsCheck the installer for the minimum OS version and required runtime components. Note any error messages, then install the dependencies they identify.
Standalone deployment

Mihomo core packages by architecture

For servers, routers, and users who manage processes themselves. Most desktop and mobile users should choose a GUI client above. Core packages don’t include a config import interface; you’ll need to provide your own YAML, config directory, startup arguments, and service management.

Download the standalone Mihomo core by OS, processor architecture, and package format
OSArchitectureFormatLocal package
WindowsAMD64ZIPDownload AMD64 ZIP
WindowsARM64ZIPDownload ARM64 ZIP
macOSIntel / AMD64GZDownload Intel GZ
macOSApple Silicon / ARM64GZDownload ARM64 GZ
LinuxAMD64DEBDownload AMD64 DEB
LinuxAMD64GZDownload AMD64 GZ
LinuxARM64GZDownload ARM64 GZ
LinuxARMv7GZDownload ARMv7 GZ
LinuxMIPS softfloatGZDownload MIPS GZ

Archives vs. install packages

ZIP files must be extracted first. GZ usually compresses a single binary; after extraction, you’ll still need to make it executable and specify a config directory. DEB files are handled by a compatible package manager, but the file extension alone doesn’t mean a system service is enabled. Start the core in the foreground and check its output before setting up a background service.

Check router architecture separately

ARMv7, ARM64, and MIPS are not interchangeable. MIPS also depends on byte order and floating-point ABI. The MIPS softfloat package above is not a universal build for all MIPS devices. Before installing, check the firmware architecture, executable format, storage space, and runtime dependencies. Don’t repeatedly try to launch a build for the wrong architecture.

Check these three things after installation

The client, config, and system-level traffic routing are separate steps. Check each in order to avoid mistaking a config issue for an installation failure.

Does the config load correctly?

After importing a subscription or local file, check for syntax errors, unknown fields, or missing policy names. An open client window only means the GUI launched; the core must accept the config before choosing a policy is useful. If a subscription update fails, keep the current working config and then investigate network or URL issues.

Is the system proxy pointing to the right port?

A common mixed listener port is mixed-port: 7890, but use the value in your active config. An old app may leave behind system proxy settings, or the new app may fail to listen because the port is already in use. Don’t just check whether the toggle is on; make sure the proxy address and port match the core logs.

Use only one client to intercept traffic at a time

Before switching clients, turn off the old app’s system proxy and TUN, and make sure any related services have stopped. Test a known destination in Rule mode, then check the matching rule and outbound policy in the connection log. If your browser works but another app doesn’t, check whether that app uses the system proxy before reinstalling the client.

User guide: import a config and connect for the first time → Rule, Global, and Direct modes →

Download and installation FAQs

Check architecture, permissions, and config sources before troubleshooting the connection. For more runtime issues, see the FAQ.

Should I install a client or the mihomo core?

Most desktop and mobile users should start with a GUI client. Clients provide interfaces for importing configs, choosing policies, setting the system proxy, and viewing logs. The standalone mihomo core is for server and router users who manage config files, processes, and services themselves; it is not a GUI installer.

Which package should I choose: ARM64, AMD64, or universal?

AMD64 and x64 usually refer to the same 64-bit x86 architecture; ARM64 is for 64-bit ARM processors. Check your system information, then verify the package name. If you’re unsure of your Android device’s architecture, consider the universal package. Some macOS download links currently serve x64 builds; Apple Silicon users should check Rosetta compatibility first.

Why do I need to import a config after installing the client?

The installer provides the client application, but it does not include a working proxy connection. Import a subscription or local config you’re authorized to use, make sure it loads successfully, then choose a policy and proxy mode. Subscription URLs may contain access credentials, so don’t share the full URL publicly.

What should I keep when migrating from an older client?

Back up your local YAML files, rule overrides, and any settings you need. After importing the config into the new client, recheck policy group names, rule targets, DNS, and TUN settings. Don’t enable system proxy or TUN interception in two clients at once. Remove the old app only after confirming the new one works.

What should I check if the installer won’t open or the app quits on launch?

First make sure the download is complete and the package format and processor architecture match your system. Check the specific warning from your OS. On Linux, also check package dependencies and the graphical environment. If the app starts but the core reports an error, inspect config syntax, port conflicts, and permissions. Don’t disable all security protections.

Why keep download links for clients that are no longer maintained?

Clash for Windows and ClashX Meta are listed for legacy compatibility and migration reference, and are clearly marked as archived. Archived clients are not actively maintained. For a first-time install, choose one of the current clients above; archived clients may also fail to recognize newer fields in old configs.