Clash Plus
Top pick
A good fit for new users who want one straightforward path from installation and import to choosing rules, as well as anyone using both desktop and mobile. Its appeal is broad platform coverage, not identical settings across every version. On iOS, traffic routing uses the system VPN; on desktop, distinguish the system proxy from other routing options. Read each permissions prompt carefully.
If you already have a complex YAML configuration, first check which fields the target platform supports. After importing, verify that proxy groups, rules, and DNS behave as expected. Seeing a configuration name in the app does not mean migration is complete. For product details, visit clashplus.io.
See Clash Plus downloads by platform →
Clash Verge Rev
A good fit for desktop users who need a long-term setup and want to inspect connections and maintain routing rules. The mihomo core makes it easier to troubleshoot against a consistent set of field documentation; the GUI handles everyday tasks such as selecting configurations, setting the system proxy, and using TUN. After installation, test a basic proxy connection before setting up service mode or granting administrator permissions.
Its configuration management tools also require you to distinguish the original subscription from local changes. Edits to content that gets overwritten on update may disappear at the next refresh. When using merges, overrides, or scripts, keep both the input and final configurations, and organize changes using mechanisms the client actually supports.
See desktop client downloads →
FlClash
A good fit for users who switch between desktop and Android and want a similar workflow on both. Its mihomo-based configuration makes it easier to reuse routing ideas, but desktop proxy settings and Android VPN authorization work differently. On phones, you also need to account for background operation, battery optimization, and conflicts with other VPN apps.
Test an existing configuration on one device before migrating the rest. Do not copy desktop paths or listening addresses unchanged to a phone. If the interface says connected but an app cannot access the network, first check whether that app is included in the routing scope, then check DNS and rules. Do not mistake a platform permissions issue for a core issue.
See Android client options →
Clash Nyanpasu
A good fit for desktop users who want to distinguish the GUI from the running core. This page compares the Windows installer offered here. When managing cores, remember that switching cores within the same interface may change field compatibility. Starting successfully does not mean existing DNS, rules, and protocol options still work the same way.
First validate one core with one configuration, then try other combinations. When troubleshooting, record the selected core, the configuration actually loaded, and the parsing logs. If you only need to import a subscription and switch proxy groups, managing multiple cores may add complexity without helping.
See Windows client options →
Clash for Windows
No longer maintained
Also known as CFW, this client is mainly a reference for legacy setups and older guides. It is not equivalent to current mihomo clients. Archived cores may not recognize newer protocol types or configuration fields. Button locations, service installation, and system proxy instructions in old guides may also no longer apply to current OS versions.
Not recommended for new installations. If you have a working setup, back it up before migrating to a maintained client. Migrate using the original subscription or configuration file rather than copying the entire application data directory. If you need to reproduce an old issue, limit the scope of the test and document how it differs from your current setup.
Compare maintained Windows clients →
Clash Meta for Android
Also known as CMFA, this client suits Android users who understand Clash YAML and want to maintain configurations directly on their device. Meta/mihomo-family features depend on the specific build; do not assume every desktop field or workflow applies. On first launch, grant VPN permission and make sure the intended configuration is selected.
Android issues often stem from background restrictions or per-app access controls. If it stops working when the screen locks, check whether the OS is killing its background process. If only certain apps fail, check whether they are excluded from the VPN. Match the installer architecture to your device; the word Android in a filename is not enough to confirm compatibility.
See CMFA and other Android options →
Surfboard
A good fit for Android users who already have a compatible configuration and want to keep using that format. It is not a different interface for Clash YAML and does not use mihomo. A subscription URL opening in a browser does not mean its response can be parsed by Surfboard.
Before choosing, confirm that your provider's format, protocols, and rule syntax are supported. Format conversion can only map compatible parts; it may not preserve every proxy group, DNS option, or extended field. If you only have Clash YAML, a client that supports that format is usually the more direct choice.
See Android configuration compatibility options →
ClashX Meta
No longer maintained
This macOS menu bar client uses a Meta-family core and is best treated as a reference when migrating an existing setup. Its controls are easy to find in the menu bar, but its archived status means you should not expect ongoing support for new OS changes or core fields. For a fresh macOS installation, compare Clash Plus, Clash Verge Rev, and FlClash first.
Before migrating, note the current listening port, rule mode, and system proxy status. After quitting the old client, confirm that proxy settings have been restored before launching the new one. This helps avoid port conflicts or both apps changing the system proxy. Check whether your Mac needs the Apple Silicon or Intel build.
See macOS client options →