First check which config format you have, then decide whether you need TUN, configuration overrides, or core switching. These reviews explain what each client can and cannot do; they do not rank speed, memory use, or stability without testing under the same conditions.
Clash Plus: A Strong First Choice for New Devices
Clash Plus is our top pick, with downloads for Windows, macOS, Android, and iOS. If you're new to subscriptions, start by importing one, choosing a proxy group, and testing the connection. Adjust DNS or routing modes only after that, so it's easier to identify issues.
If you use multiple devices, consider the same client family across supported platforms—but don't assume the settings are identical. iOS handles traffic differently from desktop systems, so check each platform's guide for config formats, protocol support, and permissions. Visit the official site at clashplus.io; download links are all on our downloads page.
See Clash Plus downloads by platform →
Clash Verge Rev: Desktop Config Management
Clash Verge Rev uses mihomo and suits users who want to manage subscriptions, proxy groups, and local configs on desktop. Start with the system proxy for basic use. Consider service mode or TUN only if an app doesn't follow the system proxy—there's no need to enable every routing feature right away.
Config overrides let you keep local rules and DNS changes, but you need to understand how the original subscription, override logic, and final active config relate. If traffic routing changes after a subscription update, inspect the generated config and logs—not just one section in the editor. Linux users should also check that the package matches their distribution.
See desktop and Linux downloads →
FlClash: A Consistent Workflow Across Desktop and Android
FlClash uses mihomo, with downloads for Windows, macOS, Android, and Linux. If you regularly switch between a computer and an Android phone, its similar interface makes config lists, proxy groups, and connection status easier to find across devices.
A familiar interface doesn't mean permissions work the same way. Desktop may require a service or virtual network adapter; Android needs VPN permission and suitable battery settings. When migrating, check how each device stores local configs, updates subscriptions, and keeps the app running in the background. A successful import alone doesn't prove traffic is routed correctly.
See Android client downloads →
Clash Nyanpasu: Core and Config Management
Clash Nyanpasu suits users who want to understand how the client and core work together. It provides core management and config processing tools for comparing core behavior. Check support for each field against the selected core instead of assuming that an option's label tells the whole story.
When switching cores often, keep a minimal working config and test one change at a time. A rule accepted by one core may not parse the same way in another. This site provides a Windows installer. Before choosing this client, check the order in which configs are processed to avoid unexpected results from layered overrides.
See Windows client downloads →
Clash for Windows: Archive and Migration Reference
No longer maintained
Clash for Windows still appears in many older guides, and its interface labels and legacy service workflow can be useful for reference. That doesn't make it a good default for a new PC. Archived clients don't keep up with new protocols, rule fields, or system compatibility issues. A legacy config that still starts may not be suitable for long-term use.
Its legacy Clash/Clash Premium core differs from mihomo. When migrating, transfer your subscription source and any essential local rules instead of copying the entire data directory into a new client. Check scripts and client-specific fields from older guides one by one. If the config fails to parse, remove incompatible entries and rebuild equivalent rules using the new core's documentation.
See the Windows setup and config guide →
Clash Meta for Android: Troubleshooting Rules and Logs
Clash Meta for Android, often shortened to CMFA, follows the Meta/mihomo core line. It suits users who already know Clash configs and want to inspect rules and logs on Android. Connecting requires Android VPN permission. If you already use another app that routes traffic through the VPN interface, check whether it competes for the same connection first.
A connection dropping when your phone locks isn't always a node issue. Background restrictions, battery optimization, and how Android handles network changes can all affect connectivity. First test in the foreground with the default config, then try locking the screen and switching between Wi-Fi and mobile data. Choose ARM64, ARM, or universal builds to match your device—not just the largest download.
See CMFA downloads and architecture options →
Surfboard: Check the Config Syntax First
Surfboard is an Android proxy client with its own implementation and Surge-style config syntax—not just another interface for mihomo. It may suit users who already have compatible configs. If you only have a Clash YAML subscription, first check whether your provider supports a compatible format.
Changing a config file's extension won't convert it, and subscription conversion may not preserve every rule or protocol setting. After converting, check node types, proxy groups, rule order, and DNS behavior; unsupported fields may need changes. If you just want to use an existing Clash config, choose a client that supports its format directly to make troubleshooting easier.
See Surfboard downloads →
ClashX Meta: Migrating a Legacy macOS Setup
No longer maintained
ClashX Meta uses a menu bar interface and can help you reference proxy group selection and system proxy settings from an older macOS setup. It follows the Meta core line, but an archived package doesn't automatically gain current mihomo features—or guarantee support for newer systems and protocols.
For a new device, start with an actively maintained client. Before migrating an existing setup, note your subscription, proxy ports, and local rules. Quit the old client and turn off its system proxy before launching the new one. Choose the right installer for Apple Silicon or Intel. If your older system doesn't meet a new client's requirements, check the project's requirements rather than relying on an archived build as a general compatibility fix.
See macOS client downloads →