FAQ · Frequently Asked Questions
Clash FAQ
Frequently asked questions about the client, organized into four categories: core concepts, installation and authorization, everyday usage, and troubleshooting. Each entry gives a step you can act on right away; for full walkthroughs, see the Setup Guide and Installation Guide.
BASICS
Concepts to get straight first
What is Clash, and how does it relate to the mihomo core?
Clash is a general term for a family of rule-based proxy tools. The original Clash core is no longer maintained, and most mainstream community clients now ship with the mihomo (formerly Clash Meta) core, which stays compatible with the original config format while supporting more protocols and rule types. When people say "download Clash," they usually mean a GUI client such as Clash Plus, Clash Verge Rev, or FlClash — the core is bundled with the client and never needs separate installation.
What's the difference between Clash Plus, Clash Verge Rev, and FlClash, and how do I pick one?
The core functionality is the same across all three: importing subscriptions, routing traffic by rules, and switching nodes. The differences are mainly in interface and platform coverage: Clash Plus covers Windows, macOS, Android, and iOS, making it the top pick on every platform; Clash Verge Rev offers rich desktop configuration options for advanced users who want fine-grained control; FlClash keeps a simple, consistent interface across platforms. Pick the section matching your OS on the download page — the same subscription works across different clients.
When should I use Rule mode, Global mode, or Direct mode?
Rule mode matches traffic against the config file's rules section entry by entry — regular sites go direct, everything else routes through a policy group — and it's the recommended everyday mode. Global mode forwards all traffic through the proxy, useful for temporarily debugging rule configs or reaching services that require full-time proxying. Direct mode bypasses the proxy entirely, which is like temporarily disabling routing without quitting the client. The switch is usually found under "Proxy Mode" or "Outbound Mode" on the client's main screen, and takes effect immediately.
Does using Clash cost money? What is a subscription, and where do I get one?
Both the client and the core are open-source software, free to use. The client itself doesn't provide any nodes, though — you need a subscription link from a node provider. A subscription is a URL that, once imported into the client, automatically generates a node list and routing rules; it's usually a paid service. Node speed, stability, and expiration are all determined by the subscription provider and have nothing to do with the client software itself, which is only responsible for scheduling those nodes according to the rules.
INSTALL
Installation, Authorization, and Subscription Import
How do I turn on the system proxy after installing on Windows?
After installing the client and importing a subscription, turn on the "System Proxy" switch in the client settings. The client writes 127.0.0.1:7890 (the default mixed port) into Windows' system proxy settings, and apps that follow the system proxy — browsers, for instance — start working through it automatically. Some apps don't read the system proxy (many command-line tools and games included); enable TUN mode if you need to cover those as well. See this site's Setup Guide for the full step-by-step walkthrough.
What if macOS says the app is "damaged" or "can't verify the developer"?
This is macOS Gatekeeper's default block on unnotarized apps, not a sign that the installer itself is broken. Go to "System Settings → Privacy & Security," find the blocked app near the bottom of the page, and click "Open Anyway." If it still reports the app as damaged, run xattr -cr /Applications/ClientName.app in Terminal to clear the quarantine attribute and try opening it again — adjust the path to match where it's actually installed. You'll still be asked to confirm once on first launch afterward; that's normal.
How do I import a subscription link into the client? What confirms a successful import?
Copy the full URL your subscription provider gave you, choose "Import from URL" on the client's "Profiles" or "Subscription" page, paste it, and confirm — the client will download and parse the config. A successful import shows a new entry in the profile list and node groups with a node list on the proxy page. If the list is empty or an error appears, first check whether the chat app that sent you the link truncated it or added extra spaces. Some clients also support importing via QR code or from a local YAML file.
What if TUN mode asks for admin rights or the service install fails?
TUN mode has to create a virtual network adapter, which requires system-level permissions. On Windows, run the client as administrator, or install the system service component as prompted; on macOS, the first time you enable it, you'll be asked for your login password; on Linux, grant the core binary the CAP_NET_ADMIN capability or run it as root. Restart the client after authorizing, then turn on the TUN switch. If the service install keeps failing, check whether security software is blocking the driver installation.
Android shows a VPN connection request on first connect — should I allow it?
Yes, you should allow it. The Android client takes over device traffic through the system's VpnService interface, and tapping connect for the first time triggers a system dialog asking to set up a VPN connection — you need to tap "OK" for the local virtual tunnel to be established. That tunnel only connects to the client running on your own device; the client decides whether each piece of traffic goes direct or through a node based on your rules, and it isn't connecting to some remote VPN server. If you tap "Deny" by mistake, tapping the connect button again will bring the prompt back.
USAGE
A few everyday operations
When should I use url-test, fallback, or manual selection in a policy group?
A url-test group periodically checks the latency of every node inside it and automatically picks the fastest one — good for everyday use. A fallback group checks availability in list order and switches to the next node when the preferred one fails, suited to setups with a clear primary/backup node. Manual selection lets you pin a specific node yourself, which fits services that require a fixed regional exit (region-locked content, for example). The mechanics and key parameters of all three types are broken down in a dedicated article on this site's blog.
How do I keep certain sites or apps off the proxy?
In rule mode, routing is controlled by the config file's rules section: add a DOMAIN-SUFFIX rule for a target domain or an IP-CIDR rule for a target subnet, and set the outbound to DIRECT to bypass the proxy. Some clients offer a GUI for rule overrides or bypass lists, so you don't have to edit YAML by hand. At the system-proxy level, you can also add addresses to the OS's proxy exception list. Whatever you change, remember to reload the config so it takes effect.
Can subscriptions update automatically, and how often should they?
Mainstream clients let you set an auto-update interval for each subscription — pulling every 24 hours is common — and you can also click update manually in the profile list any time. It's worth leaving auto-update on: if the provider swaps node addresses and your local copy is still the old list, you'll see widespread timeouts. If an update ever fails, the client generally keeps using the last cached config, so your current connection isn't affected.
How do I configure terminals and command-line programs that don't follow the system proxy?
Most command-line tools don't read the system proxy, so you need to set environment variables manually: export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890, using the client's actual mixed port. This only applies to the current terminal session; add it to your shell config file to make it persistent. If you'd rather not configure each tool individually, turn on TUN mode instead — it takes over traffic from every process at the network layer, so command-line tools need no changes at all.
TROUBLE
When connections fail or errors appear, check in order
What order should I follow to troubleshoot a subscription update or parse failure?
Start by opening the subscription link directly in a browser to confirm it returns real content and not an expiration notice. Then check, in order: whether the link is complete and untruncated, whether your system clock is accurate, and whether the subscription URL itself needs a proxy to reach (try switching to direct mode temporarily and updating, or the other way around). If the link opens fine but the client reports a parse error, the returned format is usually incompatible — contact the subscription provider to confirm they offer a Clash-format subscription. This site's blog has an item-by-item checklist you can follow.
How do I troubleshoot when every node times out?
Confirm five things in order: your local network works fine (you can get online with the proxy off); the subscription hasn't expired and its data allowance isn't exhausted; the client's latency-test URL is itself reachable; you've manually updated the subscription once to get the latest node addresses; and switching to global mode with a single node picked manually rules out a rule misconfiguration. If a few nodes work while most time out, it's usually a server-side issue that the subscription provider needs to fix — it isn't something the client can solve.
The system proxy is on, but browser traffic still isn't going through it?
First check whether the browser has a proxy extension installed — its settings can override the system proxy. Next, confirm the port the system proxy points to matches the client's listening port (7890 by default); a common cause is the client's port having changed without the system setting following along. Some browsers need a restart before they pick up a new proxy setting. Also note that Firefox uses its own independent proxy configuration by default, so you'll need to switch it to "Use system proxy settings" in its network settings.
UWP (Microsoft Store) apps on Windows still can't connect even with the proxy on?
By default, Windows blocks UWP apps from connecting to the local loopback address, so even when the system proxy points to 127.0.0.1, their requests get isolated and dropped. Two fixes: use the client's built-in "UWP loopback exemption" tool (offered by some clients) and check the target app to allow it through; or switch to TUN mode, which takes over traffic at the network layer and sidesteps the loopback restriction entirely. Restart the target app after making the change to verify.
What if the client reports the port (7890 or 9090) is already in use on startup?
That means another process is already listening on the same port — often because two proxy clients are running at once, or a previous process was left over after exiting. On Windows, use netstat -ano to find the PID holding the port, then end that process in Task Manager; on macOS and Linux, use lsof -i:7890 to locate it. Restart the client once the conflicting process is closed; if you need both programs to coexist, switch to a different port in the client settings and restart to apply it. See this site's blog article for the full command walkthrough on all three platforms.
The browser shows an HTTPS certificate error after enabling the proxy — is someone intercepting traffic?
Not necessarily. There are three common causes: the system clock is off by enough to break certificate validity checks; the current node or network path is malfunctioning and returning a hijacked page instead of the real site; or a packet-capture tool's root certificate is installed and its decryption feature is still active. Check in this order: calibrate the system clock first, then switch nodes and retest, and finally check whether any MITM-style tool is running in the background. Don't click through the warning page until you've identified the cause.
NEXT · Didn't find your answer
Keep looking by topic
Not sure about a term? Check the glossary first. For platform-by-platform download, install, and config details, the Installation Guide covers every step across Windows, macOS, Linux, Android, and iOS.