Client comparison / Platforms, cores, and configuration compatibility
Compare and choose a Clash client
Start by filtering by operating system, then compare configuration formats, traffic handling, and maintenance status. Clients with similar names may use different cores and may not share configurations.
Quick recommendation: Clash Plus for new installs
If you have no existing configuration to preserve and want to get a subscription imported and connected quickly, start with Clash Plus. We list it as our top pick in the Windows, macOS, Android, and iOS download sections. Check that your platform is supported, then choose the installer for your processor architecture. For iOS, use the App Store link; visit clashplus.io for the official site. Linux users can choose between Clash Verge Rev and FlClash.
If you already use mihomo configurations and need detailed desktop control over rules and TUN, compare Clash Verge Rev with FlClash. FlClash is a good fit if you want a similar interface on desktop and Android. This is a comparison of workflows, not a claim that features are identical: network permissions, background limits, and proxy implementations vary by operating system.
Clash for Windows and ClashX Meta are included for reference only, not recommended for new installs. Button locations, core features, and system compatibility described in older guides may not apply to actively maintained clients. Maintenance status is a general selection guide, not a live release tracker. Check the download page and project release notes for current system requirements.
Side-by-side comparison of eight clients
“Platforms” shows which operating systems a project supports; it does not mean this site offers downloads for all of them. We list only the builds shown on our download page—for example, Clash Nyanpasu is listed for Windows only, and Clash for Windows is available only as a Windows archive. Scroll horizontally to view the table on narrow screens.
| Client | Platforms | Core and configuration ecosystem | Maintenance status | Learning curve | Key features and best for |
|---|---|---|---|---|---|
| Clash Plus | Windows / macOS / Android / iOS | Supports proxy subscriptions and rule configuration; core and field compatibility vary by platform | Actively maintained | Easy to get started: import a subscription | Available on desktop and mobile; a good fit for first-time installs and cross-device use |
| Clash Verge Rev | Windows / macOS / Linux | mihomo (Meta family) | Actively maintained | Basic use is straightforward; overrides and TUN require some setup knowledge | Desktop configuration management, system proxy, and TUN; suited to desktop power users |
| FlClash | Windows / macOS / Linux / Android | mihomo (Meta family) | Actively maintained | Easy to get started; check network routing settings for your platform | Flutter UI, rule-based routing, and cross-platform workflows; for desktop and Android users |
| Clash Nyanpasu | Windows / macOS / Linux; this site offers a Windows build | Supports mihomo and other cores, depending on the selected build and settings | Actively maintained | Moderate; understand the difference between UI settings and core configuration | UI customization and configuration management; for users who want to fine-tune their desktop workflow |
| Clash for Windows | Historically supported Windows / macOS / Linux; this site offers a Windows archive | Original Clash family; check the core capabilities of existing builds individually | Discontinued | Many older guides are available, but migration and compatibility can be challenging | For reproducing legacy configurations and referencing older setups; not recommended for new installs |
| Clash Meta for Android | Android | Meta family; mihomo integration in later versions depends on the fork | Actively maintained (community forks) | Moderate; requires understanding VPN permissions and background app management | Manages configurations, proxy policies, and per-app routing; suited to Android-specific use |
| Surfboard | Android | Independent implementation with Surge-style configuration; not a mihomo GUI | Actively maintained | Easy with an existing compatible configuration; harder when converting one | For users with a Surfboard-compatible subscription or experience with its configuration syntax |
| ClashX Meta | macOS | Clash Meta family | Discontinued | Straightforward menu bar controls; check compatibility with its legacy core | Menu bar controls and legacy configuration reference; for maintaining existing setups |
Client reviews: workflows and limitations
Clash Plus: a strong pick for new users and multiple devices
Top pick
Clash Plus is a good starting point for a first install. Before choosing it, check which import formats your subscription provider supports. After installation, add a configuration, select a policy, and connect. It offers downloads for desktop and mobile; iOS users can go straight to the App Store from our download page.
Cross-platform availability does not mean configurations sync automatically or that network routing options are the same everywhere. To use multiple devices, import the subscription on each one and check how many simultaneous connections your provider allows. If you need advanced rules or a specific protocol, confirm support on your target platform before migrating your configuration.
Clash Verge Rev: desktop-focused configuration management
Clash Verge Rev supports Windows, macOS, and Linux. It suits users who primarily work on a computer and need to manage multiple configuration sources. mihomo handles rule matching, DNS, and proxy connections; the client provides configuration management and system integration. System proxy and TUN route traffic differently. For your first connection, enable one method, test it, then add other settings as needed.
If you use complex overrides or scripts, don't migrate only the subscription URL. Make a separate note of override rules, DNS settings, ports, and service permissions. If routing results don't match expectations, inspect the final active configuration first to avoid conflicts between subscription content and local changes.
FlClash: a similar workflow on desktop and Android
FlClash is built with Flutter and powered by mihomo. Its configuration, proxy policy, connection, and settings screens follow a similar layout across platforms, which can reduce the learning curve when switching devices. If you already have compatible Clash YAML, import it from a subscription, then choose a routing mode and proxy policy. You don't need to rewrite all your rules for each device.
A similar interface does not mean permissions work the same way. Android routes connections through the system VPN interface, while desktop users need to distinguish between system proxy and TUN. Each operating system also sets its own limits on background activity, routing, and DNS. FlClash does not support iOS; iPhone and iPad users should choose Clash Plus on the download page rather than look for a mobile installer with the same name.
Clash Nyanpasu: customize your desktop workflow
Clash Nyanpasu is best suited to desktop users willing to spend time organizing configurations and customizing the interface. Consider the client and the selected core separately: themes and layouts affect how you work, while the core determines support for protocols, DNS, and rule fields. This site's download page lists a Windows installer only; the project's support for other platforms does not mean downloads are available here.
If all you need is to import a subscription and connect, customization alone is not a strong reason to choose this client. Consider these features if you already have a clear configuration workflow or need to maintain multiple sources on desktop, and they will genuinely reduce repetitive work.
Clash for Windows: archived builds and migration reference
Discontinued
Clash for Windows, often abbreviated CFW, has historically supported desktop platforms beyond Windows despite its name. Many older guides still use it to demonstrate importing configurations and setting a system proxy, but they reflect a legacy interface and core. This site retains a Windows archive mainly for reference on existing setups. New users should not choose it simply because there are so many tutorials.
When migrating, you can often keep your subscription source and general approach to rules, but not every field, script, or advanced setting in an old configuration will necessarily work unchanged. Back up the old configuration, then import it separately into the new client. Check policy group names and the final fallback rule. Don't run two clients at once if they both try to control the system proxy or bind the same ports.
Clash Meta for Android: check how traffic is routed
Clash Meta for Android is often abbreviated CMFA; its name identifies the Android platform and Meta-family core. When choosing a mobile client, check not just whether it can import your subscription, but also VPN permissions, per-app routing, and background app management. Community forks continue the project in different ways. Check the documentation for the specific fork you download; the name alone does not tell you whether it is maintained.
If the connection drops when the screen locks, first check battery optimization and background activity permissions. If only some apps can't connect, check per-app routing and rule matches. Android generally cannot let multiple apps using the system VPN interface route traffic at the same time, so disconnect the current VPN session before switching clients.
Surfboard: check configuration syntax separately
Surfboard is listed alongside other proxy clients on our download page, but it is not a different interface for mihomo. It has its own implementation and uses Surge-style configuration, with support for a corresponding subset of features. Android users with a subscription explicitly marked as Surfboard-compatible can consider it. If you only have Clash YAML, first check whether your subscription provider offers a compatible format.
Changing the file extension does not convert a configuration. Proxy protocols, policy groups, rules, and DNS fields may all need to be adapted, and conversion tools cannot guarantee identical behavior. If you want to reuse an existing mihomo configuration directly, compare FlClash and CMFA instead.
ClashX Meta: archived macOS menu bar client
Discontinued
ClashX Meta uses a Meta-family core and is primarily controlled from the macOS menu bar. It can help explain menu options, configuration selection, and proxy switching in older setups. Since the project is no longer maintained, OS upgrades, support for newer protocols, and permission changes can make it harder to maintain. This site lists it separately from currently maintained macOS clients.
When migrating from an old setup, note the current configuration location and selected policy group, then turn off the old client's system proxy. After setting up the new client, test your browser and other apps separately and check for any leftover proxy settings. A preference for menu bar controls should not outweigh system compatibility or ongoing maintenance needs.
Choose by use case
Configuration checks before switching clients
Most migration problems come from configuration differences or leftover system settings, not a broken subscription. Follow these steps in order, completing each one before moving on. If something goes wrong, you can then pinpoint which layer changed.
- Back up your sources and local changes. Save your subscription URL, custom rules, policy group names, and DNS settings. Subscription URLs may contain credentials: don't post them publicly or upload screenshots that show the full URL.
- Stop the old client from routing traffic. Turn off the system proxy or TUN, then quit the old client. Check startup apps to prevent both clients from launching after you sign in again. On Android, disconnect the existing VPN session first.
- Import only the basic configuration. In the new client, check that the configuration parses and policy groups appear, then select a clear outbound policy. Don't restore all your overrides yet; this makes it easier to tell a subscription issue from a local change.
- Test connections app by app. Test your browser and the apps you actually need to route through the proxy. A working browser does not mean every app follows the system proxy. If you need to route other traffic, enable TUN and check permissions, routes, and DNS.
- Restore custom settings one at a time. Restore one type of rule or setting at a time, then check rule matches and connection behavior. If you can't connect, the subscription fails, or DNS acts up, use the troubleshooting guide to investigate instead of repeatedly switching clients.
Once you've chosen a platform, select a client on the downloads page. Downloads are grouped by Windows, macOS, Android, iOS, and Linux, with the mihomo core listed separately for servers and routers. Most desktop and mobile users should choose a GUI client. Downloading the core alone does not provide subscription management, system proxy controls, or a mobile VPN permission screen.