Multi-platform packages

Clash Client Downloads and Platform Selection

Choose a client by operating system, CPU architecture, and use case. Android supports Clash Plus, Clash Meta for Android, FlClash, and Surfboard; desktop users can choose a maintained mihomo GUI client.

Windows / macOS / Android iOS / Linux GUI clients and Mihomo core

GUI clients

View packages by platform

The platform tag remains in the page URL, so you can copy the current link to open the corresponding system directly. Packages for different architectures are not interchangeable; check your device's system information if unsure.

Windows clients

For everyday desktop proxy use, subscription management, and rule-based routing. Windows 10 and 11 users should prefer maintained clients; the older Clash for Windows build is intended only for compatibility with existing workflows.

Recommended system Windows 10 / 11 · x64
Clash Plus

Clash Plus

Top pick Recommended

A cross-platform GUI client for importing subscriptions, switching policies, managing the system proxy, and configuring everyday rules.

Clash Verge Rev

Clash Verge Rev

A mihomo-based desktop client with settings for subscriptions, rules, the system proxy, TUN, overrides, and external control.

FlClash

FlClash

A multi-platform client with a consistent interface. The installer suits regular use, while the archive is useful for portable folders or manual program management.

Clash Nyanpasu

Clash Nyanpasu

A Clash GUI client for desktop environments, suited to managing multiple configuration files, rule modes, and system proxy status.

Clash for Windows

No longer maintained Archived version

For users who still need compatibility with older configurations, interfaces, and established workflows. New deployments should use a maintained mihomo client instead.

Windows installation requirements

Check Recommendation Details
System version Windows 10 or Windows 11 Newer system components provide more complete support for desktop frameworks, service mode, and network interfaces.
Processor x64 The Windows GUI clients on this page provide x64 packages; no separate native Verge ARM64 installer is available.
Permissions Allow the system confirmation during installation Windows may request administrator approval when enabling service mode or TUN, or changing the system proxy.

Standalone core

Mihomo core downloads

Standalone cores are for servers, routers, bypass gateways, containers, and scripted deployments. Desktop and mobile users should generally choose a GUI client above, which manages the core, configuration, and system proxy state.

Installation notes

From download to first connection

An installer only provides the client program. After installation, import a valid configuration, choose a policy group, and enable traffic interception. The key checks below follow the actual setup sequence.

Confirm the system and CPU architecture first

A single client may offer x64, ARM64, ARMv7, and universal builds. Architecture and operating system are separate requirements: a Windows x64 installer cannot run on macOS, and an Android ARM64 package cannot run on a 32-bit ARM device. A wrong choice may cause the installer not to launch, an incompatibility warning, or an immediate exit after installation.

Windows desktop PCs generally use x64. On macOS, distinguish Apple Silicon from Intel: the former includes M-series chips, while the latter refers to processors in older models. On Android, check the CPU ABI in a device information tool or system diagnostics page; choose ARM64 for arm64-v8a and ARMv7 for armeabi-v7a. If unsure, choose a clearly labeled universal build instead of trying several architectures in succession.

GUI clients versus standalone cores

Clash Plus, Clash Verge Rev, FlClash, and Clash Meta for Android are GUI clients. They combine configuration management, policy-group switching, log viewing, the system proxy, TUN, DNS, and core lifecycle management in a visual interface for everyday desktop and mobile use. Users generally only need to import a configuration and approve system permissions; separate startup commands are unnecessary.

The standalone Mihomo core is a command-line program. It reads YAML configuration files and runs with startup arguments, without a graphical settings page or built-in management of desktop menus, tray status, or app updates. It is better suited to servers, routers, containers, and automated environments. For phone or personal computer proxy use, a GUI client is easier to maintain.

Import a subscription or configuration file after installation

When a client opens for the first time, the configuration list is usually empty. Open the Configuration or Subscription page, paste the subscription URL provided by your service, or import a local YAML file. After a successful import, set it as the active configuration, then check the policy groups on the Proxy page. The client can forward traffic only when the configuration includes usable proxies, policy groups, and rules.

A subscription link is a configuration source, not a client download URL. Do not paste it into a browser's download button or enter an installer URL in the subscription field. If the import reports a format error, check that the link is complete, the configuration has not expired, and the server response is actually a Clash- or mihomo-compatible configuration.

Choosing between system proxy and TUN mode

The system proxy suits browsers and desktop apps that follow the operating system's proxy settings. When enabled, the client writes HTTP or SOCKS proxy addresses to the system, but some games, command-line programs, and apps that ignore system proxy settings may bypass it. Its simpler setup makes it a good baseline for the first connection.

TUN mode uses a virtual network interface to capture a wider range of traffic, making it useful for apps that ignore system proxy settings. It usually requires VPN, network extension, or administrator permissions. Android and iOS show a system VPN confirmation; Windows, macOS, and Linux may require a service, network interface, or system credentials. Stop any conflicting VPN connection that is already using the system interface.

Configuration updates and local overrides

A subscription update fetches the remote configuration again. Direct edits to a generated subscription file may be overwritten by the next update. To keep custom DNS, rules, or policies over time, use the client's override feature or place custom content in a separate local configuration layer. This keeps remote subscription updates separate from personal rules.

Do not set the automatic update interval too short. Checking a regular subscription once a day is usually enough; frequent refreshes do not improve connection speed and may trigger access limits from the configuration service. If policy-group names or rule structures change after an update, check the active selections again to avoid references to deleted groups.

Basic troubleshooting for installation failures

First confirm that the downloaded extension matches the platform: Windows commonly uses EXE or ZIP, macOS uses DMG, Android uses APK, and Linux GUI packages commonly use DEB, RPM, or AppImage. Then check the CPU architecture. If the system installs the package but the client will not start, review system messages, client logs, and security permission records instead of repeatedly installing the same file over itself.

If the network is still unavailable after connecting, check in order whether the active configuration is enabled, the policy group has a usable proxy selected, the operating mode is correct, DNS resolution works, and another traffic interception tool is running on the system. Downloading or installing a client usually does not change subscription status; expired configurations must be handled at the configuration source.

Download FAQ

Installer and architecture selection

These questions cover the most common system, architecture, configuration, and migration decisions during download.

Which package should I download for an Android phone?

Most recent Android phones use ARM64, so arm64-v8a is usually the right choice. Older 32-bit devices need ARMv7. If unsure, choose the universal Clash Meta for Android build; Android emulators reporting x86_64 can use the corresponding FlClash version.

Should I choose Clash Plus or Clash Verge Rev on Windows?

Choose Clash Plus for a cross-platform interface and a more straightforward setup. Choose Clash Verge Rev for mihomo features such as rule overrides, TUN, subscriptions, and desktop configuration management. Both handle common subscriptions and rules; the main difference is how their interfaces organize settings.

How do I tell Apple Silicon and Intel packages apart on macOS?

Open About This Mac and check the Chip or Processor field. Choose Apple Silicon or ARM64 for an Apple M-series chip, and Intel or x64 when Intel is shown. A mismatched architecture may prevent launch, require extra translation, or cause runtime issues.

Why can't I connect immediately after downloading a client?

A client reads configuration and forwards traffic; it does not generate a subscription automatically. After installation, import a valid subscription URL or local configuration file, set it as active, choose an available policy, and enable system proxy or TUN mode. If the configuration has expired, update it at the subscription source first.

Do regular users need to download the Mihomo core separately?

Usually not. GUI clients such as Clash Plus, Clash Verge Rev, FlClash, and Clash Meta for Android include or manage the required core. Standalone Mihomo packages are mainly for servers, routers, containers, and users who maintain command-line parameters themselves.

Can Clash for Windows still be used?

Archived releases can still support older configurations and established workflows, but the project is no longer maintained. For new installations, choose a maintained mihomo-based client such as Clash Plus, Clash Verge Rev, or FlClash. Before migrating, keep the original configuration file and import it again in the new client.