FAULT REFERENCE

Clash FAQ and Troubleshooting

Organized into fundamentals, installation and configuration, usage tips, and troubleshooting. For connection problems, define the scope of the issue first, then check the configuration, proxy entry point, DNS, policy groups, and logs in order instead of changing several variables at once.

SECTION 01 / CONCEPTS

Fundamentals

First distinguish the client interface, runtime core, configuration file, and proxy mode so issues from different layers are not mixed together during troubleshooting.

How are Clash clients, the Clash core, and the mihomo core related?

The core reads configuration, establishes proxy connections, matches rules, and handles DNS. The graphical client manages subscriptions, switches policies, displays logs, and controls the system proxy. mihomo is an actively maintained core implementation that continues the Clash configuration model, and many newer clients use it as their runtime core. When troubleshooting, record the client name, core type, and configuration source, because interface issues and core errors follow different diagnostic paths.

What is the difference between Rule, Global, and Direct mode?

Rule mode routes requests according to the order of rules declared in the configuration and is best for everyday use. Global mode sends most requests through the currently selected proxy policy, making it useful for temporarily testing a node. Direct mode connects to destinations without using a proxy node. If a site will not open, briefly switch to Global mode for comparison. If Global works but Rule mode does not, check rule matches and policy-group selection instead of repeatedly toggling the system proxy.

What is the difference between a subscription URL and a local YAML configuration file?

A subscription URL is hosted by the configuration provider, and the client can periodically fetch and replace its contents. A local YAML file is stored on the device and maintained by the user. Subscription updates usually overwrite direct edits to the subscribed configuration, so persistent custom rules should go in the client’s supported override, merge, or scripting features. Before importing, confirm that the URL returns YAML or another supported configuration format—not a login page, error page, or regular webpage.

What does Fake-IP mode do?

In Fake-IP mode, the core first returns a reserved address to the application, then restores the original domain through an internal mapping before matching rules. This usually reduces repeated lookups while preserving domain information. Some LAN devices, games, enterprise software, and applications that validate real addresses may be incompatible. For LAN access problems, first add the relevant domains to fake-ip-filter. If the issue is broader, temporarily switch to redir-host for comparison to determine whether Fake-IP mapping is responsible.

SECTION 02 / INSTALLATION

Installation and Configuration

Configuration imports, subscription updates, TUN permissions, and startup behavior are controlled by different system capabilities. Handle each issue according to where the error appears.

What should I do if a YAML configuration fails to import or reports a parsing error?

Start by finding the first parsing error and its line number in the client log, then inspect indentation, colons, hyphens, and quotation marks around that line. YAML requires spaces for indentation, and list nesting must be consistent. Put node names or passwords containing special characters in quotes. Also verify that fields such as proxies, proxy-groups, and rules are at the correct nesting level. If the configuration came from a subscription URL, inspect the response first so a webpage error is not imported as YAML.

How can I troubleshoot a broken Clash subscription URL or a failed update?

Copy the subscription URL into a browser to check whether it returns content, and note the status, response body, and any redirect to a login page. If the browser cannot reach it either, contact the configuration provider about the URL. If the browser works but the client fails, check the client’s network permissions, proxy path, update interval, and local cache. You can delete the failed configuration copy and import it again, but back up override rules first. If the response is JSON, HTML, or blank, confirm that the client supports that subscription format.

What should I do if TUN mode reports insufficient permissions?

TUN mode creates a virtual network interface and changes system routes, so it requires more privileges than a standard system proxy. On Windows, check that service mode is installed and running, and complete the initial setup as an administrator if necessary. On macOS, approve the network extension or helper service. On Linux, CAP_NET_ADMIN, administrator privileges, and an available TUN device are usually required. After fixing permissions, fully quit and relaunch the client, then check whether the firewall is blocking the new virtual interface.

Clash is set to start at login, but it does not run after reboot. What should I do?

First distinguish between the client not starting and the client starting without enabling the system proxy. On Windows, check the entry status in Task Manager’s startup apps and verify that moving the installation directory did not invalidate the client path. On macOS, review Login Items and background-item permissions. On Linux, check desktop autostart files or user services. If the client starts but does not capture traffic, confirm separately that the options to set the system proxy or enable TUN automatically at startup are enabled.

SECTION 03 / OPERATION

Usage Tips

Some applications do not read the system proxy, while DNS, UWP containers, or protocol behavior can affect other requests. First determine whether the issue is limited to a specific application.

Clash is running, but the system proxy has no effect. What should I do?

First verify that the HTTP or mixed port shown by the client matches the address and port in the system proxy settings; the usual local address is 127.0.0.1. Then check whether the browser or application uses its own proxy, a proxy extension, or ignores system settings. Enterprise policies, security software, and other proxy tools may also override the system proxy. Close other networking tools, toggle the system proxy again, and test with a browser known to honor system proxy settings. If only certain applications fail, investigate that application’s proxy behavior.

Windows Store apps cannot connect through Clash. How do I configure UWP loopback?

Some UWP apps run in restricted containers and cannot access a local loopback proxy by default, so a working desktop browser does not mean Store apps will connect. Use the UWP loopback tool provided by the client, select only the apps that need network access, and save the exemptions. Do not select every entry at once; keeping the scope narrow makes the impact easier to control. Restart the target app afterward. If it still fails, verify that the system proxy port is available and check whether the app uses QUIC, its own DNS, or another connection method that ignores the system proxy.

What should I check when a node times out or latency testing fails?

A failed latency test does not necessarily mean the node is completely unavailable; the test address, network egress, and protocol handshake can all affect the result. Confirm that the device’s basic network works, then update the subscription and compare a node in another region or using another protocol. Check the log to determine whether the failure is DNS, a connection timeout, TLS, or authentication. If many nodes time out at once, suspect the local network, subscription status, or test address. If only one node fails, the node itself is more likely unreachable or its parameters may have changed.

What should I do if DNS resolution fails or domains stop opening after enabling Clash?

First determine whether only domain names are affected or IP addresses are unreachable as well. If IP addresses work but domains fail, check dns.enable, nameserver, fallback, enhanced-mode, and the listen address, and confirm that the configured DNS servers are reachable from the current network. Encrypted DNS left enabled on the system, browser secure DNS, or another local resolver may bypass or occupy Clash DNS. After making changes, clear the system DNS cache, restart the target app, and use the log to confirm that requests are reaching the core.

SECTION 04 / TROUBLESHOOTING

Troubleshooting

For complex issues, preserve the reproduction conditions and the first error in the log. Change one variable at a time, then repeat the test with the same destination.

Clash shows as connected, but neither browsers nor apps can access the internet. What should I do?

Troubleshoot in this order: basic networking, proxy entry point, DNS, policy group, and rule matching. Disable the system proxy or TUN first to confirm that the device can connect directly. Then restore Clash, check that the port is listening, and verify that the node selected by the current policy group works. Temporarily switch to Global mode to distinguish a rule issue from a node issue. If Global also fails, inspect connection errors in the log. If only Rule mode fails, check the final rules, policy-group references, and whether REJECT or an unavailable child policy was selected by mistake.

What should I do if the proxy connection drops frequently or stops working after some time?

Record when the disconnection occurs and check whether it coincides with device sleep, network changes, an automatic subscription update, or a node health check. After switching between mobile data and Wi-Fi, existing connections may need to be re-established. When a desktop system resumes from sleep, the virtual interface and system proxy state may also be out of sync. Quit and relaunch the client for comparison, and check the log for network changes, connection resets, or authentication errors. If it happens only with one node, switch nodes and compare stability.

What should I do if Clash reports that a port is already in use at startup?

A port conflict means that another process is listening on a configured port, such as port, socks-port, mixed-port, redir-port, or the controller port. Fully quit duplicate Clash clients and other proxy tools, then start Clash again. If the conflict remains, use system networking tools to identify the process, confirm its purpose, and stop it, or change the Clash port to an unused value. After changing ports, update the system proxy, browser manual proxy settings, and connection settings on LAN devices as well.

What should I do if my local rules and policy changes disappear after a subscription update?

A subscription update usually downloads and replaces the hosted configuration, so rules, nodes, and policy groups written directly into the subscription file may be overwritten. Move persistent changes to the client’s override, merge-configuration, scripting, or separate configuration-file features, and keep a restorable backup before updating. During migration, handle basic fields such as ports and DNS first, then merge policy groups and rules, and finally verify that every referenced policy name exists. Do not rely solely on temporary edits shown in the subscription file interface.