Platforms · Cores · Configuration compatibility

Clash client comparison and selection

For a first install, start with Clash Plus. Compare other clients if you need desktop configuration overrides, Linux support, or Android-specific controls. Choose in this order: operating system, configuration format, traffic routing method, then interface preferences.

This page compares eight clients listed in our download center. It distinguishes each project's supported platforms from the installers available here. Maintenance status is described qualitatively; check the download center and project documentation for exact system requirements and available packages.

Recommendations and core compatibility

If you don't have an established configuration workflow, start with Clash Plus to import a subscription, choose a mode, and verify the connection. We recommend it as the starting point for Windows, macOS, Android, and iOS. Linux users should compare Clash Verge Rev and FlClash instead of choosing an installer for a platform they don't use just to keep the client name consistent.

The core handles protocol processing, DNS, and rule matching. The client provides the interface, manages configurations and permissions, and routes traffic through the system. Mihomo is the name of the core continuing the Clash Meta ecosystem, so references to Meta and Mihomo are often historically related. That doesn't mean every client with Clash in its name supports the same options. Legacy configuration support in the original Clash doesn't imply support for all current Mihomo features.

Check the core integration and feature availability for the specific Clash Plus platform you're using. In particular, don't apply desktop TUN setup steps directly to iOS. Surfboard is an independent implementation with a different configuration system. If your subscription provider only offers Clash YAML, don't assume Surfboard can import it just because both clients support proxies.

Clash clients compared

On narrow screens, scroll horizontally within the table. “Ease of use” describes the steps from first import to a working connection; it isn't a performance ranking. Active maintenance doesn't guarantee support for every older OS. Check your system version and processor architecture before installing.

Platforms, cores, maintenance, and intended use
Client Platforms and downloads available here Core or configuration system Maintenance Ease of use Key features and best for
Clash Plus Windows, macOS, Android, and iOS; downloads available here for all Integration varies by platform; check which Mihomo configuration options are supported Actively maintained Easy; start by importing a config and connecting Puts essential proxy controls in one place; suited to beginners and multi-device users
Clash Verge Rev Windows, macOS, and Linux; downloads available here for all Mihomo Actively maintained Easy for basic use; overrides and service settings take some learning Configuration overrides, rules, and TUN controls; suited to desktop power users
FlClash Windows, macOS, Linux, and Android; downloads available here for all Mihomo Actively maintained Easy; permissions must be handled separately on each platform Cross-platform interface and proxy group management; suited to users combining desktop and Android
Clash Nyanpasu Project supports Windows, macOS, and Linux; we provide a Windows package Supports core selection, including Mihomo; features depend on the selected core Actively maintained Intermediate; requires understanding how configs and cores relate Configuration management and core selection; suited to users familiar with desktop proxy clients
Clash for Windows Historically supported Windows, macOS, and Linux; we provide an archived Windows package Original Clash ecosystem; don't assume it includes Mihomo features Discontinued Familiar to existing users; not recommended as the basis for a new workflow For checking legacy configurations and planning migration; not recommended for new installs
Clash Meta for Android Android; architecture-specific installers available here Clash Meta / Mihomo ecosystem Actively maintained Intermediate; requires handling VPN permissions and background restrictions Configuration, proxy groups, and per-app routing; suited to Android users who manage configs
Surfboard Android; universal installer available here Independent implementation with Surge-style configuration compatibility; not Mihomo Actively maintained Easy with a compatible config; migrating from YAML is more involved Suited to Android users already using a compatible configuration format
ClashX Meta macOS; archived Apple Silicon and Intel packages available here Clash Meta ecosystem; capabilities depend on the core bundled in the archived package Discontinued Basic use is easy; compatibility issues may require troubleshooting Menu bar controls and reference for migrating legacy setups

Using the same core doesn't guarantee the same defaults. The client may determine whether DNS is enabled, whether the config is overridden, and whether TUN routes traffic. If two clients behave differently, compare the effective configuration and runtime permissions first—not just the subscription URL.

Eight Clash clients reviewed

Clash Plus: best for beginners and multi-device setups

Top pick Clash Plus is a good place to start with your first install. Begin with the default proxy groups from your subscription, use Rule mode to verify the connection, then adjust rules as needed. For beginners, it matters more to tell whether the config imported, the core is running, and the system is routing traffic than to enable every option at once.

Choose the matching download for Windows, macOS, Android, or iOS from our download center. Across devices, you can keep the subscription source and proxy group names consistent, but don't treat local ports, network interface names, or permission settings as universal. The iOS version is available on the App Store; the official website is clashplus.io. Check configuration support for the specific platform you're using.

Clash Verge Rev: desktop configuration and override management

Clash Verge Rev runs on Windows, macOS, and Linux, using the Mihomo core. If you need to keep your own DNS, rules, or proxy group settings alongside a subscription, configuration overrides separate remote updates from local changes. This helps prevent updates from overwriting edits made directly to the subscription file.

It's suited to desktop users who are comfortable reading logs and understand the difference between system proxy settings and TUN. For your first setup, enable just one traffic routing method. Confirm the connection works before adding service mode or overrides. More advanced features mean more sources for the effective config; when troubleshooting, check both the original subscription and the merged result.

FlClash: a cross-platform option for desktop and Android

FlClash is based on Mihomo and supports desktop platforms and Android. Consider it if you want a similar configuration management workflow on your computer and phone. Its cross-platform interface helps make proxy modes and proxy groups easier to understand, but doesn't remove differences in system permissions, background execution, or network interfaces.

On Android, check VPN authorization and battery restrictions. On desktop, verify system proxy or TUN routing. If the same subscription behaves differently across devices, compare DNS settings, app bypass rules, and local network conditions first. Make sure the Linux package listed here matches your distribution.

Clash Nyanpasu: configuration management and core selection

Clash Nyanpasu is suited to desktop users who already understand configuration files, proxy groups, and how they relate to the core. Core selection gives you more control, but also adds variables to troubleshooting. If an option isn't recognized, check which core is running instead of assuming syntax support based on the client name.

A project's platform support doesn't mean packages are available here for every platform; our current download listing is for Windows. If you need a consistent setup, note the core and configuration overrides in use before testing a change. Change one thing at a time to identify whether an issue comes from the config, permissions, or core differences.

Clash for Windows: reference for migrating legacy configs

Discontinued Clash for Windows, often abbreviated as CFW, is a legacy desktop client from the original Clash ecosystem. Despite its name, the project supported other desktop platforms; we retain only a Windows archive download. Being familiar with its interface doesn't make it a good choice for a new long-term setup.

New subscriptions may use newer protocols, rule fields, or DNS options that an older core can't parse. An archived package launching successfully doesn't mean it still works with current system networking behavior. If you need to keep a legacy setup, back up the configuration first. After moving to a new client, verify the subscription, proxy groups, and app connections again; don't copy the entire old application folder.

Clash Meta for Android: Android configs and per-app routing

Clash Meta for Android, often abbreviated as CMFA, is for Android users who manage configurations in the Clash Meta / Mihomo ecosystem. Key features include config import, proxy group selection, and per-app routing. Choose a package for your device's processor architecture. If you're unsure, check the package details in our download center.

Common phone issues aren't always caused by rules. Battery optimization may restrict background activity, and another VPN app may already be using Android's VPN interface. When troubleshooting, check authorization and runtime status first, then see whether the app is excluded and whether DNS follows the configuration. If only certain apps should use the proxy, consider the system components those apps rely on.

Surfboard: best with a compatible configuration format

Surfboard is an Android client, not another interface for Mihomo. It has an independent implementation and a configuration system compatible with Surge-style syntax. Consider it if you already have a subscription in that format and want to keep using the same configuration workflow. If you only have Clash YAML, ask your provider whether it can supply a compatible format.

Configuration conversion involves more than changing a file extension. Protocol support, proxy group behavior, DNS, and rule syntax can all differ, so verify the results after conversion. Don't submit a private subscription URL to an unknown conversion service just to switch interfaces; ask your provider for a compatible configuration first.

ClashX Meta: legacy macOS menu bar setups

Discontinued ClashX Meta is a macOS menu bar client from the Clash Meta ecosystem. It's useful for checking config paths, proxy toggles, and menu bar controls in a legacy setup, but the core bundled in its archived package doesn't represent the full feature set of current Mihomo.

Choose the Apple Silicon or Intel installer to match your Mac. For a fresh install or a computer you rely on every day, compare actively maintained clients first. Before migrating, turn off the old client's system proxy and launch-at-login settings, then enable the new client to avoid both programs changing the same network settings.

Narrow down your options by use case

What to check before switching clients

  1. Back up your configuration and local changes. Save your subscription source, override files, custom rules, and proxy group selections. Backups may contain credentials; keep them somewhere trusted and never post them directly in public forums.
  2. Check the core and configuration format. Confirm the target client supports the protocols and configuration fields you need. Surfboard requires a compatible format rather than Clash YAML; after moving from the original Clash to Mihomo, recheck DNS and rule behavior too.
  3. Turn off the old traffic routing method. Quit the old client and make sure the system proxy is off and TUN or background services are no longer routing traffic. On phones, disconnect other VPNs to avoid mistaking an interface conflict for an invalid subscription.
  4. Start with a minimal working configuration. Import one config, then verify the connection in Rule mode with the default proxy groups. Restore overrides, per-app routing, and TUN one at a time. Don't change every network setting during your first test.
  5. Test direct and proxied connections separately. Check services that should connect directly, services that should use the proxy, and local network access. One website loading proves only that one connection works; it doesn't confirm that DNS, rules, or every app is behaving as expected.

For an explanation of Rule, Global, and Direct modes, and how TUN, DNS, and rule precedence work together, read the configuration guide from beginner to advanced. Choosing a client determines how you manage settings and connect to the network; actual results still depend on the effective configuration, available proxy nodes, and your current network.

Bottom line: Start with Clash Plus for a first install or multiple devices. Compare Clash Verge Rev and FlClash for Linux or advanced desktop configuration. For Android-specific configuration, consider CMFA; choose Surfboard if you already have a compatible config. Keep CFW and ClashX Meta for archive reference and migration. Once you've chosen a platform, visit the download center to choose a client and installation method.