A strong first option for new users, especially if you want a similar workflow on desktop and phone. Start by importing a config, selecting a policy, enabling the proxy, and testing the connection. Then decide whether you need more advanced rule customization. A client is not a subscription service: you still need a working config in a supported format.
Support for multiple platforms doesn’t mean every version uses the same core or accepts every mihomo field. If you have a complex YAML config, check support for its protocols, DNS, policy groups, and rules. Install the iOS app from the App Store; the official website is clashplus.io. Don’t assume desktop TUN or service-mode instructions apply across platforms.
Clash Verge Rev
A good fit if desktop is your main workspace for managing configs. mihomo handles rules, protocols, and connections; the GUI handles config selection, subscription updates, and system integration. If you need custom rules, use the client’s override or merge features rather than editing a config that may be overwritten by remote updates.
More advanced options also mean more to check when troubleshooting: separate config issues from system-level ones. System proxy works with apps that respect the OS proxy settings. TUN routes more traffic but involves permissions, routing, and DNS. Don’t enable multiple traffic-capture methods just to get one app working; first identify where the issue occurs.
FlClash
A good fit if you use Android and desktop and want to minimize the learning curve. Its mihomo ecosystem makes it easier to reuse similar rules and policy groups, but cross-device migration still depends on config sources and supported fields—not copying the entire app data directory. Android VPN permission and the desktop system proxy are different controls.
Start with a small, clearly structured config. Make sure policy groups can select working nodes before adding rule sets and complex DNS settings. Similar interfaces can reduce the learning curve, but background activity, network permissions, resume from sleep, and routing can still differ by OS.
Clash Nyanpasu
A good fit for users who want to customize their desktop workflow and understand what the core does. This site provides a Windows download; that doesn’t mean the project is Windows-only. If you need specific Meta fields, check which core is currently enabled and what it supports, then verify that interface settings or overrides haven’t changed the config.
When using a highly configurable client, keep track of what each layer does: what comes from the remote subscription, what local overrides change, and what the interface toggles affect. If behavior differs from what you expect, check the running config and logs first. Avoid changing several settings at once, or you won’t know which one fixed the issue.
Clash for Windows
Discontinued
Useful for checking older guides, config structures, and existing setups, but not recommended as the starting point for a new device. Many online CFW guides still show familiar menus, but similar labels don’t mean an older core supports newer protocols and rule fields. Being able to import a file doesn’t mean the core understands every setting in it.
Looking for a Clash for Windows alternative? Note your old setup’s listening ports, mode, policy group names, and custom rules before choosing Clash Plus, Clash Verge Rev, or FlClash. After migration, set up the system proxy and startup behavior again. Make sure the old client’s service or background process isn’t still using the same port. Keep a copy of the old config for reference.
Clash Meta for Android
Often abbreviated as CMFA, this is a good fit for Android users who know Clash YAML and want to manage configs and app-specific routing directly. After importing a subscription, select the config you want to use and grant VPN permission. A config appearing in the list doesn’t necessarily mean the core has loaded it—check both.
Mobile troubleshooting also means checking battery optimization, background restrictions, and network changes. If the connection drops when the screen locks, don’t assume the node is down; check background permissions and VPN status first. For app-specific routing, confirm whether the app list uses an allowlist or blocklist so the target app isn’t accidentally left outside the routed traffic.
Surfboard
Surfboard is an Android proxy tool, not a Clash client with a different interface. It has its own config syntax and protocol support, so it’s best suited to users with a compatible subscription who know which format their provider exports. Check the config type before comparing interfaces.
When switching from Clash, don’t just change the file extension and try to import the config. Node parameters, policy group syntax, rules, and DNS behavior may all need conversion. Check the converted config for protocol support and rule order. If you want to keep an existing mihomo config, a client in the same ecosystem is usually easier to troubleshoot.
ClashX Meta
Discontinued
Useful for checking legacy setups with an existing macOS menu bar workflow. It uses the Clash Meta ecosystem, but a core included in an older release doesn’t automatically support current mihomo features just because the project name includes “Meta.” Check compatibility with your OS version, processor architecture, and config fields instead of relying on old guides.
For a new install, consider Clash Plus, Clash Verge Rev, or FlClash. Before migrating, note your current ports and policy selections. Quit the old client before enabling traffic routing in the new one. Also check login items and system proxy settings for references to the old listening address—otherwise the new interface may be running while traffic still goes through the old process.