Choose by device and requirements, not by name
For a new Android device, start with a maintained client that can import your existing subscription. If you need the same client on Android and desktop, evaluate FlClash's cross-platform workflow. If Clash for Android is already stable on an older device, back up your configuration before deciding whether to migrate. Choose Clash Plus based on the release notes for the specific project linked from its download page; don't infer its core or platform support from the name alone.
There are two distinct layers: the client provides the interface for importing configurations, selecting nodes, and routing system traffic; the core parses configurations, handles protocols, applies rules, and resolves DNS. Similar interfaces don't mean identical core capabilities, and two apps that both display nodes may not be able to run the same full configuration.
Compare clients across five key areas
The table separates verifiable project characteristics from details you need to check in the current release. It doesn't list a single “latest version” for each app: the app version and core version are separate, and different builds of the same client may bundle different cores. When choosing a client, note the actual app and core versions installed on your device rather than treating the article date as a version guarantee.
| Comparison criteria | Clash Plus | FlClash | Clash for Android |
|---|---|---|---|
| Core and format support | Check the core name, version, and compatibility notes for the specific project; don't infer them from its name | Based on mihomo; supported protocols and fields still depend on the bundled core version | Uses the original project's older core; not suitable for configurations that require a recent mihomo version |
| Interface and platforms | Check each operating system and installer listed on the download page | Supports Android, Windows, macOS, and Linux, so you can use a familiar workflow across devices | Designed for Android, with common sections for configuration, proxies, logs, and settings |
| Subscription management | Check URL import, update notifications, and whether local edits are preserved | Manages and updates configurations; check how profile-level settings interact with global settings | Supports configuration import and updates; the server's response format must be compatible with the older client |
| Traffic routing | Confirm support for VPN or TUN routing on your target system, and check the required permissions | Uses Android's system VPN; desktop traffic can use the system proxy or TUN | Android routes traffic through a VPN service; this is different from the desktop system proxy toggle |
| Maintenance status | Check the relevant code repository, release history, and issue activity | An actively maintained client line; still check recent releases before installing | The original project has been unmaintained since 2023, so consider compatibility risks with newer systems and configurations |
Core version: start with what your subscription requires
How Clash, Clash Meta, and mihomo are related
Clash Meta continued development under the name mihomo. Seeing “Clash subscription support” only indicates compatibility with some configurations; it doesn't guarantee support for every recent mihomo feature. New protocols, rule-set fields, and DNS options in a configuration may exceed what an older core can parse.
If your subscription includes a type: hysteria2 proxy, choose a client build with a core that explicitly supports the protocol. An older client may report an unsupported proxy type during import or fail to start the configuration. Repeatedly refreshing the subscription usually won't help. First check whether your provider offers a compatible format, or switch to a client with a suitable core.
Record these three details before installing
- App version: Open the About or version information page under Settings and note the full version and build identifier. The menu name depends on the release.
- Core version: Check the About page or startup logs for identifiers such as mihomo or Clash. Don't mistake the app version for the core version.
- Configuration requirements: Ask your subscription provider which format to use, especially whether it requires mihomo or includes rule sets and specific DNS fields.
To diagnose compatibility, start with the first clear error in the startup log. “Unsupported proxy type” and “rule set download failed,” for example, are different problems: the former points to core capabilities, while the latter may also involve the network, URL, or access permissions. For a full configuration guide, see the documentation.
Usability: compare the actions you perform every day
Complete the full workflow on Android first
In the original Clash for Android interface, open “Profiles” → “+” → “Import from URL,” enter a name and subscription URL, then save and select the profile. Return to the main screen and start the service. The first time, Android will ask you to approve the VPN connection. Then open “Proxies” and choose a node in a proxy group. Button labels may vary between forks.
In FlClash or Clash Plus, test the same four tasks: find the profile import option, select a profile, switch proxy modes, and choose a node in a proxy group. Don't judge by how uncluttered the home screen looks. If changing nodes requires repeated backtracking, or update failures have no clear explanation, the day-to-day overhead will add up.
- Mode selection: Rule mode is usually best for everyday routing. Global mode can help isolate rule issues temporarily, while Direct mode doesn't select a proxy for you.
- Proxy group selection: For a manual group, choose a member yourself. Automatic testing groups follow the configuration's targets, intervals, and selection logic.
- Logs: Make sure you can find configuration and connection errors. After troubleshooting, restore the normal log level to avoid recording excessive connection details over time.
On desktop, check the proxy status separately
A desktop client showing “Running” only means the process or core has started; it doesn't prove that system traffic is being routed through the proxy. Browsers typically follow the system proxy, but some terminal tools and games don't. When evaluating desktop clients such as FlClash, check “System proxy enabled” and “TUN enabled” separately. They're not the same feature.
Subscription management: do your edits survive an update?
Subscription management isn't just about whether there's an “Update” button. Check whether updates overwrite local edits, whether the previous configuration is kept after a failed update, and how custom rules are saved. Direct edits to YAML generated from a remote subscription may be overwritten next time it updates. For rules you need to keep, use a supported override or merge mechanism and test the order in which it takes effect.
- After importing a subscription, note the profile and proxy group names and make sure the node list isn't empty.
- Run a manual update and check the last-updated time, error messages, and node changes. A successful HTTP request doesn't guarantee a valid Clash configuration was returned.
- Add an easy-to-check custom rule, update the subscription, then verify that the rule is still there and in the right order.
- Back up local overrides, rule files, and any essential settings. When migrating, don't copy only the subscription URL.
A client can't make up for a missing subscription service, either. If the profile is empty after switching clients, first confirm that you imported and selected it successfully instead of immediately assuming the app doesn't support your network.
TUN and Android VPN: similar goals, different settings
Android VPN permission is the entry point for system-level routing
Android clients typically create a virtual network interface through the system's VpnService. A VPN icon in the status bar means the system tunnel is up, not that the remote proxy node is reachable. Whether all apps use the tunnel also depends on access controls, per-app lists, routes, and configuration rules.
Android generally allows only one active VPN service at a time. Before testing a new client, stop the old one and any local filtering app that may be using the VPN connection. Then check the app's battery settings and allow background activity if needed. The exact system menus vary by phone manufacturer.
Desktop TUN routes traffic that ignores the system proxy
The desktop system proxy mainly affects apps that actively read the proxy settings. TUN routes eligible traffic at the virtual network interface level and usually requires administrator permissions or a service component. You may also need to resolve conflicts involving DNS, routes, or other VPNs. Having a TUN toggle doesn't mean every app will automatically connect properly.
For example, mixed-port: 7890 sets a listening port that accepts both HTTP and SOCKS proxy connections. Manually configuring an app to connect to 127.0.0.1:7890 is a different route from enabling TUN. Port 7890 is a common configuration value, not a fixed port for every client; check the active configuration and runtime settings.
- Only need a proxy in your browser? Start with the system proxy to minimize routing variables.
- Terminal tools or games ignore the system proxy? First check whether the app supports its own proxy settings, then decide whether to enable TUN.
- Using a corporate VPN at the same time? Check target subnets, DNS, and route priority. Don't stack full-traffic routing without checking for conflicts.
Maintenance and migration: decide based on your use case
Judge maintenance by actual release history, not a “New version” label next to a download button. Check recent OS compatibility updates, core upgrades, and known issues, and make sure the project repository matches the installer source. A name like Clash Plus doesn't identify a project. If the details are unclear, verify the source before comparing features.
| Use case | What to check first | Recommended action |
|---|---|---|
| Installing on a new Android device | System compatibility, core capabilities, and maintenance history | Shortlist maintained releases, then test importing and connecting with your existing subscription |
| Using Android and desktop | Cross-platform workflow and configuration compatibility | Evaluate FlClash first, then verify system proxy or VPN routing on each device |
| An older Clash for Android installation is working reliably | Whether you need newer protocols and whether system updates cause problems | Back up before migrating and keep a rollback option; don't switch solely for a different interface |
| Considering Clash Plus | The specific project, core, target platforms, and release history | Check the download page and project documentation item by item; don't assume it has features found in other clients |
Five checks to complete after migrating
- Stop the old client, import the same subscription, and confirm the new client loads the entire configuration.
- Choose Rule mode and the same manual node to start, minimizing variables from automatic switching.
- Visit one site that should connect directly and one that should use the proxy. Check the connection log to confirm which rule matched and which proxy was used.
- Test switching between Wi-Fi and mobile data, then lock the screen for five minutes and check that traffic works when you return. Five minutes is a suggested test duration, not a performance claim.
- Update the subscription manually and confirm that custom rules, proxy group selections, and background settings still work as expected.
Don't judge clients by a single latency reading. Results vary with the proxy route, test target, DNS cache, and measurement method. Even with the same node, lower latency doesn't necessarily mean faster downloads. For everyday use, it's more important that configurations load correctly, rules are verifiable, connectivity recovers after a network change, and errors are diagnosable.
The choice can be straightforward: try FlClash if you want a consistent workflow across devices; consider the compatibility limits of an unmaintained project before continuing with the older Clash for Android; and verify the actual capabilities of the specific Clash Plus build before choosing it. For more device-specific guidance, see the client comparison guide.