Clients / Installers / Core

Download Clash

Choose a client for your operating system. Check your CPU architecture, download and install the right package, then import a subscription and configure rules and proxy mode.

For desktop and mobile, start with a client that has a graphical interface. The standalone core is for servers, routers and users who manage configuration manually.

Windows clients

Desktop installers here are mainly x64. Clash Plus is a good starting point for new users. If you prefer a different interface or configuration workflow, compare Clash Verge Rev, FlClash and Clash Nyanpasu. Quit similar clients before installing to prevent conflicts over ports and system proxy settings.

Clash Plus

Clash Plus

Recommended

A good fit if you're starting with subscription imports, rule mode and the system proxy. After installing, check that your configuration is active, then choose a proxy group. Configure TUN separately if you need to route apps that ignore system proxy settings.

Windows x64 · EXE installer

Clash Verge Rev

Clash Verge Rev

A desktop client built on the mihomo core for managing subscriptions, rules and proxy groups. If you use local overrides or rule sets, check their merge order after migrating so a subscription update doesn't overwrite settings you want to keep.

Windows x64 · EXE installer

FlClash

FlClash

A good option if you want a similar workflow on desktop and mobile. The installer creates system shortcuts; the archive can be unpacked manually. Check how the client stores configuration and handles permissions.

Windows AMD64 · Installer / ZIP

Clash Nyanpasu

Clash Nyanpasu

Another option for managing desktop configurations. After importing an existing YAML file, check the configuration validation results before setting up the system proxy. Service mode, configuration directories and startup options can differ between clients, so don't copy the entire application folder.

Windows x64 · EXE installer

Clash for Windows

Discontinued

Archived download for recreating legacy environments and reference during configuration migration. The fact that its name includes Windows doesn't mean it's suitable for every new Windows system. Its older core has limited support for newer protocols and configuration fields; for new installs, choose a maintained client listed above.

Windows · Archived installer

Windows installation requirements

CheckWhat to look for
System and architectureGo to Settings → System → About to check your system type. This section offers x64 packages; on Windows ARM devices, check compatibility with emulation separately.
Windows versionInstall on a supported Windows 10 or 11 system. Check the installer prompts for the exact minimum version and runtime requirements.
Permissions and portsSystem proxy and TUN have different permission requirements. Installing a service or virtual network adapter may require administrator access. Make sure the mixed port doesn't conflict with another application.

Standalone core

Download the mihomo core

For users managing servers, routers and services themselves. The core reads configuration and handles connections; it doesn't include a desktop subscription management interface. Most users should choose a GUI client above to avoid duplicate cores, services and virtual network adapters.

PlatformArchitectureFormat and useDownload
WindowsAMD64ZIP · x64 hostsDownload AMD64
WindowsARM64ZIP · ARM hostsDownload ARM64
macOSIntel / AMD64GZ · Command-line coreDownload Intel
macOSApple Silicon / ARM64GZ · Command-line coreDownload Apple Silicon
LinuxAMD64DEB · Package installationDownload AMD64 DEB
LinuxAMD64GZ · Manual setupDownload AMD64 GZ
LinuxARM64GZ · ARM serversDownload ARM64 GZ
LinuxARMv7GZ · Compatible ARM devicesDownload ARMv7 GZ
LinuxMIPS soft-floatGZ · Compatible routersDownload MIPS GZ

Check architecture and configuration before deployment

A GZ archive usually contains an executable, not a graphical installer. On Linux and macOS, set execute permissions and specify the working directory, configuration path and log location. For routers, also check CPU architecture, endianness, memory and firmware; don't choose a package based on the device's appearance or brand.

Once your configuration is ready, run a configuration check to catch YAML indentation, field and proxy group reference errors before starting a long-running service. Stop the service before updating the binary and preserve your configuration and startup arguments. Don't replace a service configuration with a client subscription link without accounting for format differences.

Read the advanced configuration guide →

Linux / macOS · After extracting, rename the file to mihomo

chmod +x ./mihomo
./mihomo -v
./mihomo -t -f ./config.yaml

Check core information first, then validate your local configuration. A successful configuration check doesn't guarantee that every proxy in your subscription can connect; connections still depend on the network, server and authentication details.

After installation: subscriptions, modes and migration

Downloading installs the client, but connecting requires a valid configuration. Follow these steps to avoid mistaking configuration issues for installer problems.

Import first, then activate the configuration

Add a link on the client's subscription or configuration page, wait for it to finish loading, then set it as the active configuration. If the link returns an HTML login page, a plain list of nodes or malformed content, the client may not be able to read it. Check that the subscription provides Clash / mihomo YAML.

Subscription URLs may contain account identifiers. When troubleshooting, you can keep the error message, but hide URL parameters, proxy passwords and external controller credentials before sharing screenshots. Don't upload a full configuration to an unfamiliar online converter.

View subscription import steps →

Configure rule mode and system traffic routing separately

Rule, Global and Direct modes control how connections are handled once they reach the core. System proxy and TUN determine which connections reach it. Rule mode doesn't automatically route every app, and enabling TUN doesn't create sensible routing rules.

First, confirm that your proxy group names work in rule mode, then enable the system routing method you need. If a site won't load, check app proxy settings, ports, DNS, rule matching and remote connections in turn. Avoid changing several settings at once, so you can identify the cause.

Troubleshoot configuration and connection issues →

Clash download FAQs

Installer selection, configuration migration and compatibility. For more connection troubleshooting, visit the Help Center.

Which Clash client should I download first?

Start with Clash Plus on Windows, macOS, Android or iOS. On Linux, try Clash Verge Rev. Check your OS, architecture and installer compatibility before choosing an interface. Most desktop users don't need to download the mihomo core separately.

What's the difference between ARM64, x64 and universal builds?

x64, AMD64 and x86_64 generally refer to the same 64-bit architecture; ARM64 and AArch64 refer to another. Check your system information rather than relying on your device's brand. Universal builds may include multiple architectures but are usually larger. Some macOS links on this page return x64 files, so a listing label alone doesn't guarantee a native ARM build.

Why do I need to import a subscription after installing a client?

The client reads configuration, applies rules and creates proxy connections; the installer itself doesn't provide proxy service. Import a valid subscription you own or a local YAML configuration, then choose a proxy group and connection mode. Subscription links may contain credentials, so don't share them publicly.

What should I save before updating a client?

Export or back up your subscription configuration, local overrides, rule files and custom ports first. Quit the old client before installing the update, and don't run two clients' system proxy or TUN modes at the same time. After migrating between clients, recheck DNS, proxy group names and rule compatibility.

What should I check first if the download won't install?

Make sure the file finished downloading, its extension matches your platform, the CPU architecture is compatible and your OS meets the client's requirements. Check the system's installation prompt for details instead of disabling security protections. On Linux, check the package format and dependencies; on Android, check permission to install from that source and available storage.

Can I use a discontinued client with a new configuration?

Archived clients are mainly for recreating legacy environments and reference during configuration migration. Older cores may not recognize newer protocols, rule fields or DNS options. For a new installation, choose a maintained client. Before migrating, save your original configuration and check the logs for incompatible fields.