Clash Plus: a good starting point for new installs
A good fit for users who want to get connected first and learn the rules as they go. Start with the option for your operating system instead of choosing between multiple desktop forks. After installing, import a compatible config from your provider, check that you can select a proxy group, and test your browser connection. iOS users should use the App Store link on the download page. Network routing works differently on desktop and mobile, so don't copy connection steps from another platform.
Before choosing a client, confirm your subscription format and required protocols. The same name across platforms doesn't guarantee config compatibility, especially for configs that rely on scripts, platform-specific fields, or complex overrides. If Linux desktop support is your main requirement, choose Verge Rev or FlClash from our list.
See Clash Plus downloads by platform →
Clash Verge Rev: desktop config and override management
Verge Rev uses the mihomo core and is suited to managing subscriptions, adjusting rules, and troubleshooting connections on Windows, macOS, or Linux. Start by importing a config on the Config page. For advanced use, add overrides to keep your custom rules separate from subscription content, so they aren't overwritten by the next update. To use TUN, first set up service mode or the required permissions.
Best for users who are comfortable distinguishing client settings from core settings. The system proxy provides a proxy entry point for some apps, while TUN handles network traffic at another level; they're not the same switch. If a connection fails, check the logs rather than blaming every network issue on the mode selected in the interface.
Read the Clash Verge Rev guide →
FlClash: a similar workflow on desktop and Android
Based on mihomo, FlClash offers a similar experience for config and proxy management on desktop and Android. If you switch between devices often, familiar page layouts can make settings easier to find. But system proxy settings on desktop, VPN permissions on mobile, and background activity limits are platform-specific; a similar interface won't remove those differences.
When using multiple devices, keep subscription sources and rule intent consistent rather than copying an entire file with machine-specific paths, listen addresses, or network adapter settings. On mobile, check battery optimization and VPN status first; on desktop, check the listening port and system proxy. Test each separately to avoid mistaking a device-specific issue for a broken subscription.
Clash Nyanpasu: core selection and desktop customization
Nyanpasu is best for users who want to customize the desktop interface and config workflow. Multiple core options give you flexibility, but also make compatibility your responsibility: different cores may accept different fields in the same YAML file. Before switching, note the current core, keep a working copy of your config, and check that the target core supports your protocols, DNS settings, and rule types.
This page links to the Windows download available on our site; it isn't a complete list of platforms supported by the project. If you just need to import a subscription and connect, don't add steps for core options you don't need. To compare core behavior, change one variable at a time and keep the error logs. Avoid switching cores, changing DNS, and changing traffic routing all at once.
Clash for Windows: legacy compatibility only
CFW is no longer maintained. Many older tutorials still refer to its menus, but being easy to find in search results doesn't make it a good fit for current systems or protocols. The original Clash core and mihomo have different capabilities. If an unknown proxy type or config field causes an error, repeatedly reimporting the config won't fix it. Don't assume removing the field will preserve the original routing behavior.
Consider an archived build only when reproducing an old workflow or testing a legacy config. For everyday use, migrate to a maintained client. During migration, record your subscription, proxy group selections, ports, and custom rules. Keep a copy of the old config for reference, but don't let two clients control the system proxy or compete for the same listening port.
Clash Meta for Android: per-app access controls
Clash Meta for Android, often called CMFA, is suited to Android users who want to control proxy access by app. Config rules determine where connections go; app access controls determine which apps are routed through the client. These are separate layers: excluding an app usually means changing its domain rules won't affect the result.
On first launch, grant Android VPN permission, then check that the config is enabled. Android typically allows only one standard VPN service to run at a time, so other VPN apps may conflict with the client. If the connection drops when the screen locks, check battery management and background restrictions before changing DNS or proxy groups.
See the Android setup guide →
Surfboard: check the config format first
Surfboard appears on the same download list, but it's not another mihomo graphical client. It has an independent implementation and uses Surge-style configs. If you have a Clash YAML subscription, first check whether your provider offers a compatible format. Changing the file extension alone won't make a config work with a different parser.
Best for Android users who already have a compatible config and understand its proxy and rule syntax. Similar formats don't guarantee support for every module, script, or protocol from another app. Configs may contain subscription credentials, so use your provider's conversion option or a trusted local tool rather than handing them to an unfamiliar online converter.
ClashX Meta: a legacy macOS menu bar workflow
ClashX Meta can help explain the menu bar workflow on an existing macOS setup, but it's no longer maintained and isn't recommended for new installs. Convenient menu bar controls don't mean its archived core can parse newer config fields. If a system update causes permission issues, stale proxy settings, or startup failures, consider migrating instead of working around system restrictions indefinitely.
Before migrating to Clash Plus, Verge Rev, or FlClash, turn off the old client's system proxy and quit the app, then check the new client's listening ports. Existing proxy group names can help guide your choices, but menu bar preferences and internal client state may not transfer. Test your browser and everyday apps before removing old startup items.