Client Selection Guide
Clash Clients
Compared & Explained
Start with your device platform, then check subscription format and core compatibility. Familiarity, maintenance status, and how traffic is routed usually matter more to everyday usability than the client’s name.
Eight Clients
Platform & Feature Comparison
Ease of use reflects the steps involved in importing a subscription, choosing a proxy group, and connecting; it is not a review score. Maintenance status is a general indication—check each project’s announcements for current release activity. System proxy settings, TUN, and mobile VPN permissions work differently, so feature names alone don’t tell you which traffic a client will route.
Swipe horizontally to view the table on narrow screens. Check the platform documentation for Clash Plus core and configuration support; features may differ across platforms.
| Client | Platform Support | Core | Maintenance | Ease of Use | Key Features | Best For |
|---|---|---|---|---|---|---|
| Clash Plus | Windows、macOS、Android、iOS | Check platform documentation for compatibility with Clash ecosystem configurations | Actively maintained | Easy; start with the basic import flow | Available across multiple platforms; subscriptions and everyday proxy settings | Beginners and users with multiple devices |
| Clash Verge Rev | Windows、macOS、Linux | mihomo | Actively maintained | Easy to get started; configuration extensions take some learning | Desktop configuration management, overrides, and TUN settings | Desktop power users |
| FlClash | Windows、macOS、Linux、Android | mihomo | Actively maintained | Easy; permissions must be handled separately on each platform | Similar workflows on desktop and Android | Users who switch between a computer and Android |
| Clash Nyanpasu | Windows (available here) | Multi-core management; compatibility depends on the selected core | Actively maintained | Moderate; requires understanding how cores and configurations work together | Desktop controls, configuration, and core management | Desktop users comfortable managing configurations |
| Clash for Windows | Windows (archived here) | Original Clash lineage; features vary across historical builds | No longer maintained | Familiar to existing users; not recommended as a starting point | Legacy interface and configuration reference | Users migrating from a legacy setup |
| Clash Meta for Android | Android | Meta / mihomo lineage | Actively maintained | Moderate; requires handling background operation and VPN permissions | Manage Clash configurations, rules, and per-app proxy settings | Android users familiar with configuration |
| Surfboard | Android | Independent core; not Clash / mihomo | Actively maintained | Easy if you already have a compatible configuration | Its own configuration format and Android proxy management | Android users with a compatible subscription |
| ClashX Meta | macOS | Meta lineage | No longer maintained | Easy for existing users; use caution on newer systems | Menu bar controls and legacy configuration reference | Users migrating from an older macOS setup |
Core & Configuration Compatibility
The client presents configurations, proxy groups, and connection settings; the core parses rules, handles protocols, and routes traffic. Two clients using the same core can still behave differently because of core update schedules, configuration processing, and system permissions. Support for mihomo doesn’t mean every configuration field can be edited in the interface—or that every app will use the proxy after installation.
Original Clash, Clash Meta, and mihomo are related stages in an evolving project lineage. Meta continued under the mihomo name, adding protocol and rule capabilities; older clients may not recognize fields in newer subscriptions. To assess whether a configuration will work, check its protocols, proxy group types, rule sets, and DNS settings—not just whether the file ends in YAML. If parsing fails, read the error and identify the unsupported field before deciding whether to switch clients or adjust the configuration.
Surfboard needs to be considered separately. It uses its own configuration format, so a Clash YAML subscription URL won’t necessarily work. Consider it only if your provider offers a compatible subscription or you can prepare a matching configuration yourself. If converting a configuration, check that rules, policy groups, and DNS behavior are preserved. A successful import doesn’t guarantee the same behavior.
For more on how the cores evolved, read Original Clash, Meta, and mihomo: Core Differences. For platform-specific permissions, see the Cross-Platform Installation and Setup Guide.
Client Reviews
Select a client name to expand its review. Start with the use case, then check what to consider when migrating or configuring it.
Clash Plus: A First Pick for Beginners and Multi-Device Users
Clash Plus is our top recommendation, with versions for Windows, macOS, Android, and iOS. Start from one product page to find the right download for your platform, then import your subscription. For first-time users, getting through the basics—enable the configuration, choose a proxy group, and connect—is more useful than jumping straight into complex overrides. iOS users can go directly to the App Store from the downloads page. Official site: clashplus.io.
Support for multiple platforms doesn’t mean every setting has the same name or every feature works the same way. Desktop system proxy settings, Android background operation, and iOS network permissions all need separate attention. If your subscription uses newer protocols or less common rule fields, check support for your platform before installing. If you rely on extensive script-based overrides, make sure your workflow can be migrated first.
Clash Verge Rev: Desktop Rules & Configuration Extensions
Clash Verge Rev suits users who rely on a proxy client as a regular desktop tool. Built on mihomo, it supports standard subscription imports and offers controls for configuration extensions, rule changes, and TUN settings. If you keep custom rules alongside a provider’s subscription, pay attention to how configuration merges and overrides are applied so updates don’t force you to edit the original file again.
The trade-off with advanced features is having to understand where settings come from. A DNS field, for example, may come from the subscription, global settings, or an override. When something goes wrong, identify which layer takes effect. On a first install, stick with the defaults: test the system proxy first, then TUN separately. Linux users should choose a package for their distribution rather than using a desktop installer on a headless server.
FlClash: A Familiar Workflow on Desktop and Android
FlClash supports desktop platforms and Android and is built on mihomo. It suits users who want a similar approach to configuration management on a computer and an Android phone. Its main benefit is less time spent relearning menus and proxy group controls—not copying one device’s network settings to another. The same subscription can be a starting point, but check traffic routing separately on each device.
On Android, check VPN permissions, battery optimization, and background activity. On desktop, configure the system proxy or service permissions. If a phone disconnects, check whether the system has stopped the app before changing nodes. If some desktop apps bypass the proxy, check whether they honor the system proxy. FlClash is worth considering if you know the basics and want a consistent layout across devices.
Clash Nyanpasu: Desktop Controls & Core Management
Clash Nyanpasu suits users who want to manage desktop configurations, care about the interface, and understand the differences between cores. Downloads are available here for Windows. Its multi-core approach needs to be considered alongside your configuration: seeing a core in the interface doesn’t mean your subscription will work with it. Check the protocols and fields your subscription requires, then choose a compatible core.
When migrating from another client, avoid switching cores, changing DNS, and enabling a new traffic-routing mode all at once. Import the original subscription first and make sure it loads, then restore your preferred settings one at a time. That makes it easier to pinpoint the cause if something breaks. Beginners who just need a simple connection can start with Clash Plus; users managing several desktop configurations may prefer a more management-focused tool like this.
Clash for Windows: Archive & Legacy Configuration Migration
Clash for Windows is no longer maintained. This site keeps an archived download for users reviewing or migrating a legacy setup. Existing users may know its configuration and proxy pages and system proxy toggle, but familiarity doesn’t make it a good default for a new installation. Historical builds differ in their cores and features, so don’t assume the client supports every extension in your subscription just from its name.
Before migrating, save your subscription source, custom rules, and proxy group selections, then import them into the new client. Don’t overwrite the new client’s data directory or treat the old interface’s settings file as a universal Clash configuration. After migration, quit the old client and disable its startup entry to prevent both apps from competing for ports or changing the system proxy. For a new Windows installation, start with Clash Plus; for advanced desktop configuration, consider Clash Verge Rev.
Clash Meta for Android: Android Configurations & App Routing
Clash Meta for Android, often abbreviated as CMFA, follows the Meta / mihomo lineage. It suits Android users who know the structure of Clash configurations and want to manage rules and per-app proxy settings. First check your device’s processor architecture, then grant VPN permission, import a subscription, and enable the configuration. Seeing a configuration name in the import list only means it was saved; it doesn’t mean it’s running.
Android often applies battery optimization to background apps. A connection that drops when the screen turns off may be caused by background restrictions, startup settings, or power-saving policies—not necessarily a core or subscription issue. Another common pitfall is running two apps that both need the VPN connection; Android generally can’t route traffic through both as expected. For long-running use, allow background activity in your device settings, then monitor stability.
Surfboard: Compatible Configurations Matter More Than the Client Name
Surfboard is another Android proxy client, but it doesn’t use a Clash core. It suits users who already have a configuration specifically adapted for Surfboard—not those expecting to use a Clash YAML subscription just by switching interfaces. Before importing, check the format your provider supplies and whether its protocols, rules, and policy groups are supported by the current version of Surfboard.
If you already have a well-tested Surfboard configuration, there’s no need to migrate just for a consistent client name. If you need mihomo extensions, a client built on the corresponding core is a more direct choice. When converting a configuration, verify DNS, rule order, and default policies one by one. Pay particular attention to the final fallback rule: a configuration can start successfully and still route traffic differently than expected.
ClashX Meta: Menu Bar Workflow & Archive Status
ClashX Meta follows the Meta lineage and focuses on controls in the macOS menu bar. It’s archived here as discontinued software for users reviewing legacy configurations or planning a migration. A simple menu bar interface can make the setup seem simpler than it is: the configuration still determines rules, DNS, and proxy groups, and the menu can’t resolve compatibility issues.
After replacing your Mac or upgrading macOS, recheck the processor architecture, permissions, and system proxy status. Don’t assume an old installer is still suitable for a newer setup. To migrate, quit the old client, import the original subscription into a new one, then restore only the custom rules you still need. New macOS users should start with Clash Plus; for desktop configuration extensions, compare Clash Verge Rev and FlClash.
Recommendations by Use Case
Which Client Should You Choose?
If you don’t already have a set workflow, start with Clash Plus. Install the version for your device and import your subscription before deciding whether you need advanced configuration features. It’s our recommended starting point, but you still need to check system requirements and compatibility with specialized subscriptions.
Desktop users already working with mihomo overrides should consider Clash Verge Rev. For a similar workflow on desktop and Android, look at FlClash; for multi-core management and desktop configuration, consider Clash Nyanpasu. Choose between CMFA and Surfboard based on the Android configuration format. CFW and ClashX Meta are best reserved for reviewing or migrating legacy setups.
Download ClashMigration & Verification Checklist
Before switching clients, save your original subscription URL and any rules you added; there’s no need to copy the entire old data directory. Quit the old client and make sure the system proxy has been reset before starting the new one and importing the same subscription. Run one proxy client at a time during the first test to avoid conflicts between ports, virtual network adapters, and system proxy settings. Don’t change nodes, DNS, and traffic routing all at once, or it will be hard to tell what caused a difference.
- Configuration loaded: Confirm the new configuration is enabled and the logs show no protocol or field parsing errors.
- Proxy group selection: Check the default group and fallback policy; an available node list alone isn’t enough.
- App routing: Test your browser and other apps that should use the proxy to confirm which traffic is routed.
- After restart: Check the configuration, system proxy, and startup settings after restarting. Clean up the old setup only after that.
Changing clients won’t improve the quality of your subscription’s proxy routes. For latency, traffic ratios, and choosing a destination region, read How to Choose a Proxy Node. If you haven’t completed a basic import yet, follow the Quick Start Guide first, then come back to compare advanced features.