Client installers · Choose by system and architecture

Download Clash
Platforms and installers

Choose separately for desktop, mobile and server use. Check the operating system and CPU architecture first, then compare subscription management, routing rules and TUN options.

Choose a client by platform

Clients for each platform are listed in a consistent order. Read the architecture notes before downloading. Archived clients are listed for older setups; for new installations, choose a maintained option.

Windows installers

This section provides x64 installers for GUI clients. Find your system type under “Settings → System → About.” For a first install, import your subscription without elevated permissions. If you need TUN, install the service or grant permissions as prompted by the client.

Clash Plus

Clash Plus

Top pick
x64 · EXE

Our top pick for a new Windows installation, with a GUI for managing subscriptions and proxy settings. After installation, check that your configuration has loaded before choosing a routing mode. Official site: clashplus.io.

Clash Verge Rev

Clash Verge Rev

x64 · EXE

For users who want the mihomo core and desktop configuration management. Before enabling service mode or TUN, quit any other client currently managing network traffic. Back up subscriptions and overrides before upgrading to avoid overwriting local changes.

FlClash

FlClash

amd64 · EXE

For users who want a similar interface across desktop and mobile. After importing a configuration, check that proxy groups have selectable options before enabling the system proxy. A consistent interface does not mean every platform has the same system-level permissions.

Clash Nyanpasu

Clash Nyanpasu

x64 · EXE

An alternative interface for managing desktop configurations. When migrating, check the GUI settings and core configuration separately, especially listening ports, local file paths and rule overrides. Don’t copy another client’s entire data directory as-is.

Clash for Windows

Discontinued
Windows · Archived

Kept for reproducing older configurations and reference during migration. This project is no longer maintained and is not recommended as the default for new setups. For newer protocols or rule fields, check core compatibility before migrating to a client such as Clash Plus.

Windows requirements and checks

ItemWhat to check
Operating systemUse a 64-bit Windows version that still receives security updates. Check the installer for the specific minimum version required.
ProcessorThis section mainly offers x64 packages. On Windows ARM devices, check whether the system supports x64 apps.
Traffic routingSystem proxy and TUN are configured separately. Installing the service and routing traffic through a virtual adapter may require administrator permissions.

If installation succeeds but your browser isn’t using the proxy, check the system proxy setting and listening port first. Avoid running two clients that compete for the same port.

Installers, configuration and proxy service
Three separate layers

Downloading the client only takes care of installation. Proxy traffic also depends on the configuration format, service status and whether the app is routed through the proxy.

The client manages settings

GUI clients provide controls for importing subscriptions, selecting proxy groups and configuring system settings. The GUI and core may have different versions, so the client name alone doesn’t tell you which protocols are supported. For a newer protocol or specific DNS features, check the current core capabilities and configuration parsing results.

Configuration controls routing

Rules in YAML are matched in order, and traffic is sent to the policy for the first matching rule. A subscription update may replace the remote configuration, so save local overrides separately. During migration, verify policy names and rule references, then check the MATCH fallback. This helps avoid mistaking a network issue for an installation failure.

Connections require a working service

Clients don’t include a ready-to-use proxy service. Import a valid configuration, select an available policy and test the connection. Node latency tests are only a snapshot of your current network; a single result can’t guarantee throughput, stability or connectivity in every app.

Post-install checks

Change one thing at a time. Validate the configuration first, enable traffic routing next, then set up startup and background behavior.

  1. Back up settings and quit the old process

    Note the old client’s subscription, ports and local overrides. Turn off its system proxy and TUN, then quit the process; closing the window alone may leave a background service running. Once network access is back to a known state, start the new client. Avoid running two programs that change system settings at the same time.

  2. Import and verify the configuration

    Import a valid subscription URL or local YAML file. Wait for it to load, then check that proxy groups and rules appear. If parsing fails, inspect the specific field. Subscription URLs may contain credentials; don’t include the full URL in public screenshots, support requests or shared logs.

  3. Choose a mode and test the connection

    Rule mode is usually a good starting point for everyday use. Enable the system proxy, connect from the target app, then check the matched rule and outbound policy in the logs. If an app ignores system proxy settings, consider TUN. Don’t change DNS, routes and nodes all at once, or it’ll be harder to isolate the issue.

  4. Configure startup and recovery

    Once the configuration is stable, enable Clash at startup or allow it to run in the background. After restarting, check that the proxy setting and service status match. Keep a way to disable the proxy and restore the original routes, especially on remote servers. See the Clash setup guide for installation help, and protocol details for differences between protocols and cores.

Download and installation FAQs

These answers cover installer selection and first launch. For rule matching, DNS and TUN conflicts, see the FAQ.

Which Clash client should I download first?
For Windows, macOS, Android and iOS, start with Clash Plus; for Linux, start with Clash Verge Rev. Choose an installer by operating system and CPU architecture, then check subscription format and required features. Clients do not include a ready-to-use proxy service.
What’s the difference between ARM64, x64 and universal builds?
ARM64 and x64 use different CPU instruction sets; amd64 generally means x64. On Android, armeabi-v7a is 32-bit ARM, while universal builds typically support multiple architectures. Check your device’s system information rather than relying on its name to determine compatibility.
Why can’t I access a website after downloading the client?
The installer only provides the client. You also need to import a valid configuration, select an available proxy group, and enable the system proxy or TUN if needed. Then check the connection log for matched rules and outbound policies. DNS issues, node status or an app bypassing the proxy can also prevent pages from loading.
Can I migrate my old client configuration as-is?
Back up your existing configuration and local overrides first, then import the subscription or YAML into the new client. Compatibility for protocols, rule fields and DNS settings depends on the core and its version. Check proxy groups, rule providers and local paths individually; a successful import does not guarantee that every feature is compatible.
Should I download a GUI client or the Mihomo core?
Choose a GUI client for everyday desktop and mobile use, with subscription, proxy group and system proxy management. The Mihomo core suits servers, routers and self-managed services, but you’ll need to prepare the configuration, startup method, permissions and log management yourself. The standalone core does not include a GUI.
Should I quit my old client before installing a new one?
Turn off the old client’s system proxy and TUN, then quit the process to avoid conflicts involving listening ports, virtual adapters and route management. Once the new client is working, configure it to start at boot. Keep a backup of the original configuration so you can restore it if needed.