Clash FAQs
Subscription imports, proxy modes, and connection issues. Browse by topic, check the traffic entry point first, then review the configuration and proxy.
For your first setup, follow the subscription import guide. To troubleshoot network issues step by step, see the troubleshooting manual. Menu names vary slightly between clients; refer to your actual settings and core logs.
Getting Started
First, distinguish the client, core, traffic entry point, and forwarding policy. Each has different settings, and they aren’t interchangeable.
What are Clash, mihomo, and Clash Verge Rev?
Clash is a common name for a proxy core and its configuration ecosystem. mihomo is an open-source core that builds on the related configuration system, while Clash Verge Rev is a desktop GUI client that runs a core. Subscription imports, tray menus, and startup options are client features; rule matching, DNS, and traffic forwarding are mainly handled by the core. To check configuration compatibility, identify both the client and the core it actually runs—not just the word Clash in the window title.
Can I connect right after installing a Clash client?
A client reads configuration and forwards traffic, but it is not a proxy service by itself. To get started, you need a subscription link you’re authorized to use or a local configuration file. Import and select the configuration, then choose an available proxy in a proxy group. Next, enable the system proxy or configure TUN if needed. Simply opening the client won’t route traffic from every app. Make sure the configuration is enabled, the core is running, and the app is using the right proxy entry point.
What’s the difference between Rule, Global, and Direct modes?
Rule mode applies rules in order to decide how each connection is handled, making it a good choice for everyday traffic routing. Global mode sends connections entering the core to the global proxy group. Direct mode connects those requests straight to their destinations. Global mode doesn’t take over the entire device or fix DNS issues or unavailable proxies. For troubleshooting, you can switch to Global temporarily to compare results, then switch back to Rule mode once you’ve identified the cause. This helps distinguish rule issues from traffic interception problems.
Should I use the system proxy or TUN mode?
Start by using the system proxy to test access in a browser. It works mainly with apps that follow the system proxy settings; some games, command-line tools, and apps with their own network stack may ignore them. TUN routes traffic through a virtual network interface, which can help with those apps, but may require permissions and can conflict with DNS settings or other VPNs. These are traffic entry points; Rule and Global are forwarding policies. You can use Rule mode with TUN—Global mode isn’t required.
Is Clash for Windows still worth using now that it’s discontinued?
Clash for Windows is no longer maintained. Existing installs may still work, but archived builds can’t be relied on for future OS compatibility or core features. For a new install, compare currently maintained clients in the download center. Before migrating, save your subscription source, rule overrides, and any local configuration you need; don’t overwrite the old folder. Import your setup into the new client and verify access before quitting the old one and removing its startup entry. This helps prevent both clients from competing for ports or changing your system proxy settings.
Platforms
Follow this order: import the configuration, enable it, check the port, then grant traffic interception permissions. Verify each step before moving on.
Where do I import a subscription link?
In the client’s Subscription or Configuration page, add a remote configuration, paste the full subscription URL, and save. Wait for it to download and parse, then select the configuration. An account page or purchase page URL is not a subscription URL—copy the link from your provider’s subscription section. Remove any spaces, line breaks, or punctuation added by a chat app. Subscription links may contain access credentials, so don’t post them publicly or submit them to untrusted online converters.
Why isn’t my local YAML configuration working after import?
Importing a file usually just adds it to the configuration list. Select it there and make sure the core reloads successfully. Check the logs for syntax errors, missing proxy groups, or references to nonexistent rules. Use spaces for YAML indentation—never mix in tabs—and make sure proxy group names match the names used in rules. If the configuration relies on external rule sets, check that those resources are reachable. Keep a backup before editing and change one thing at a time so you can compare reload results.
Where can I find Clash port settings, and what should I use for the mixed port?
Find the mixed port under the client’s Port or Network settings. Use the value shown in your current client and running configuration; don’t assume another client’s default. The mixed port accepts both HTTP and SOCKS proxy connections. In an app, enter the local address and port for the protocol you’ve selected. The external controller address is for managing the core, not for browser traffic. After changing the port, update browser extensions, terminal environment variables, and any other manual proxy settings. Then check the logs for port conflicts.
What should I do if TUN reports insufficient permissions or fails to create a virtual adapter?
Turn off TUN first and confirm that the regular system proxy works before troubleshooting the virtual adapter. A desktop client may require service mode to be installed and running, or OS authorization to manage network settings; check the client’s instructions. On Windows, check that the service is running and that no driver is being blocked. On macOS and Linux, check the authorization result and relevant logs. Once authorized, turn TUN back on. Don’t leave system protections disabled just to bypass a warning, and never install network drivers from untrusted sources.
What else should I configure after importing a subscription on my phone?
Select the configuration and proxy policy, enable the connection, and make sure the OS has granted VPN configuration permission. On Android, if per-app proxying is enabled, check that the target app is included. On iOS, confirm the active connection is using the configuration you just imported. Devices usually can’t run multiple VPN-based proxy or filtering apps at the same time, so disconnect the other one before switching. If the connection drops in the background, check battery optimization and background permissions. A successful subscription download doesn’t mean the proxy connection is working.
Usage Tips
Subscription updates, rule overrides, and startup behavior are managed separately. Note your original settings before making changes so you can roll them back if needed.
How often should I set subscriptions to update automatically?
Look for the automatic update toggle and interval in the subscription’s edit or update settings. The interval may be in minutes, hours, or seconds. Follow your provider’s recommendation if they have one. Otherwise, start with one update per day and shorten the interval only if the configuration changes frequently. Too many requests may trigger server limits. After setting the interval, try a manual update to confirm the URL works. Check whether scheduling pauses when the device sleeps or the client exits. Automatic updates won’t restore a proxy that’s currently down.
Why do my custom rules disappear after a subscription update?
Remote subscription updates usually regenerate the configuration, so edits to a downloaded YAML file can be overwritten. Use the client’s override, merge, or script extension features where available, and check which subscription each feature applies to. Rules are matched in order, so specific domain rules generally belong before broader rules and the final fallback rule. After saving, check the active configuration and connection details to confirm the rules were inserted in the right place. Seeing a rule in an editor doesn’t mean the core has loaded it.
Are Clash startup, silent launch, and automatic connection the same thing?
Start on boot usually means the client opens when you sign in. Silent launch usually means it starts without showing the main window. Whether it restores the system proxy, TUN, and previous configuration depends on separate client settings. Quit and reopen the client normally to see which settings are restored, then test again after signing in. If you use service mode, check how the background service starts too. Don’t leave startup enabled for the old and new clients as well as a system scheduled task; duplicate processes can conflict and overwrite proxy settings.
How can devices on my local network use the Clash proxy on my computer?
Enable LAN access in the client and make sure its listen address allows connections from your local network. On the other device, enter the computer’s LAN IP address and mixed port. Both devices must be able to reach each other, and your firewall should allow the required port only on trusted networks. Don’t use a loopback address or forward the proxy port to the public internet through your router. LAN access provides an explicit proxy endpoint, not a transparent proxy. Apps that don’t support manual proxy settings need a separate gateway or routing solution.
Why can my browser connect, but terminal commands can’t?
Many terminal tools don’t read the desktop system proxy settings. Set a proxy using the tool’s options or environment variables such as HTTP_PROXY and HTTPS_PROXY. First check the client’s mixed port, then run a one-off test using a proxy option supported by the tool. If it works, decide whether to add it to your terminal configuration. An HTTPS destination doesn’t mean the proxy endpoint must use HTTPS—use the endpoint and protocol provided by the client. Check existing environment variables, NO_PROXY, and the tool’s own settings, as they can override one another.
Troubleshooting
Check your basic network connection first, then distinguish configuration downloads, app traffic routing, and proxy connectivity. Keep the exact error message; it’s more useful than repeatedly reinstalling the client.
How can I tell whether a failed subscription update or parse error means the subscription has expired?
First identify whether the error is a network connection failure, an HTTP status error, or a content parsing error. For the first two, check your network, the URL’s validity, and the provider’s server status. For a parsing error, confirm the response is a configuration format supported by the client—not a login page, error message, or different subscription format. Ask your provider to check your account and link, and recopy a URL compatible with your current core if needed. One timeout doesn’t prove a subscription has expired. Don’t keep importing the same link; note the error type and work through the checks one by one.
All nodes are timing out. What should I check first?
Disconnect the proxy and confirm your internet connection works. Then check the system clock, subscription status, and connection errors in the client logs. Timeout tests depend on the test URL and method, so a failed test doesn’t necessarily mean all real traffic will fail. Try opening a real webpage through a known working proxy, then compare results on your current network and another trusted one. If the logs show an authentication failure, update your credentials or contact your provider. If multiple tools are routing traffic, quit the other proxy or VPN and test again.
The system proxy is on, but my browser still isn’t using Clash. What should I do?
Check that the system proxy address and port match the client’s mixed port. Then check whether a browser extension or separate proxy setting is overriding the system settings. Load a page and look for the connection in the client’s connection details. If it isn’t listed, check the app’s proxy entry point, bypass addresses, and other proxy software. If it is listed, check the matching rule and proxy. Don’t keep toggling the system proxy. For testing, use one clearly defined proxy setup so old ports or automatic configuration scripts don’t interfere.
How do I check Windows loopback restrictions when a UWP app can’t access the proxy?
Some AppContainer apps are subject to local loopback restrictions. Check this if a desktop browser can use the local proxy but an app cannot. If the client provides a UWP loopback tool, follow its prompts and grant exemptions only to apps that need them. Users familiar with Windows administration can also use CheckNetIsolation to view existing exemptions. Not all Store apps use the same network model, so don’t apply a blanket fix. Restart the app after making changes. If it still fails, check whether it follows the system proxy settings and has the required network permissions.
What should I do if webpages stop loading after I enable TUN, or my internet stays down after I quit the client?
Turn off TUN, quit other VPNs, restore automatic DNS, and check whether the system proxy still points to a local port that is no longer running. If your connection works after turning off the system proxy, fix the leftover proxy setting first. If the issue only occurs with TUN enabled, check virtual adapter, routing, and DNS logs for conflicts with other network tools. Don’t change DNS, rules, and the TUN stack all at once. Keep your original configuration and adjust one setting at a time. Once basic connectivity is restored, re-enable traffic routing using the client’s recommended settings.