Configuration Help / Connection Troubleshooting

Clash FAQ

Subscriptions, traffic routing, and network capture. Find where the problem starts, then adjust one thing at a time.

For your first connection, follow the Getting Started guide. For configuration options and overrides, see Advanced Setup. Click a question below to expand the answer.

4 topics 20 how-to answers Browse by symptom

Start with the basics

Getting Started

The core handles connections; the client manages configurations. Start by understanding the difference.

What do Clash, Mihomo, and the client each do?

Clash generally refers to a family of rule-based proxy tools and its configuration ecosystem. Mihomo is an actively developed compatible core that handles connections, rule matching, DNS, and other network tasks. The client provides the interface for subscriptions, proxy groups, and controls. A shared interface label does not mean two cores support the same features, so check which core the client uses and which configuration fields it supports before importing a config. If parsing fails, check feature compatibility before repeatedly switching nodes.

Why are there no available nodes after installing the client?

The client reads configurations and establishes connections, but installing it does not provide a proxy service. Import a subscription or configuration file you’re authorized to use, and make sure it contains working nodes and proxy groups. Check whether the configuration list has an entry, enable it, then choose an available node on the Proxies page. A file with rules but no nodes cannot establish a proxy connection. Check with your subscription provider about expiration, data limits, and service status.

How do Rule, Global, and Direct modes differ?

For everyday use, choose Rule mode to send connections to the assigned proxy groups according to your rules. To check whether a routing rule is causing a problem, temporarily switch to Global mode and select an available node, then switch back to Rule mode when you’re done. Direct mode usually sends connections that reach the core straight to their destination. Global describes how the core handles connections; it does not mean every app is being routed through it. Whether an app reaches the core also depends on the system proxy, app settings, or TUN.

Does a lower node test time always mean faster downloads?

Not necessarily. A node test usually measures how long the core takes to reach a specific test URL through that node. It reflects the response time for that request, not bandwidth. Results vary with the test URL, network congestion, and the destination’s location. Check whether the node reliably reaches the sites you need before comparing test results or download speeds. Avoid running tests repeatedly at a high rate: many simultaneous tests can strain connections and cause otherwise healthy nodes to time out briefly.

Where should I start when installing a Clash client on iOS?

Find Clash Plus in the iOS section of this site’s downloads page, then install it using the App Store link there. The product website is clashplus.io. The first time you connect, follow the system prompt to allow a VPN configuration, then import a subscription compatible with the client. Configuration fields and interfaces vary across platforms, so don’t assume desktop instructions for installing services, setting system proxy ports, or installing drivers apply to iOS. Check the current client’s documentation for supported features.

From import to connection

Setup & Installation

Keep working configurations, then check the subscription format, update route, and permissions.

What should I check first if a subscription link won’t import?

Copy the full link again, removing leading or trailing spaces, line breaks, and punctuation added by chat apps. Make sure you selected the Clash format or a compatible format specified by your subscription provider. Check whether the error is a download failure or a parsing failure: for a download failure, check your network, link expiration, and login status; for a parsing failure, check whether the response is actually a configuration file. Never post a subscription link containing personal credentials on a public forum. If you need help, share only the error message with sensitive details removed.

Subscription updates fail, but existing nodes still work. Do I need to reinstall?

Keep the working configuration for now; there’s no need to reinstall right away. Subscription update requests and node connections may take different routes, so working nodes don’t mean the subscription URL is still valid. Check whether the subscription has expired or its URL has changed, and whether the client lets you choose a direct or proxied route for update requests. Then try updating manually. If the response is a login page or error page, contact your provider. Export a backup before deleting the old configuration so you don’t lose settings that still work.

Should I enable both the system proxy and TUN when setting things up?

On desktop, start by enabling the system proxy and confirming that your browser can connect. Enable TUN only if needed. The system proxy works for apps that honor the system setting; TUN can route more network connections and requires additional system permissions, routing, and DNS configuration. Enabling multiple routing methods at once makes troubleshooting harder. Mobile clients usually work through the system VPN interface, so you don’t need to look for desktop-style switches. Start by checking the connection status in your current client.

TUN reports insufficient permissions or a missing service. What should I do?

Check the client’s service mode or auxiliary service settings, then follow its prompts to install or start the required service. Windows may require administrator privileges, macOS may ask you to authorize a helper component, and Linux may require access to the TUN device and network management permissions. After granting access, restart the client and test TUN on its own. Don’t disable system security protections just to dismiss a warning. If it still fails, note the service startup error and check which OS versions the client supports.

Why did my custom rules disappear after updating the subscription?

Subscription updates typically download a fresh copy of the remote configuration and replace the old one, so edits to the downloaded file can be overwritten. Put rules you want to keep in the client’s supported local overrides, extension scripts, or merged configuration, and confirm they’re applied after each update. Override names and merge order vary by client, so make a backup first. After making changes, check the effective configuration to confirm the rule order and proxy group names. Don’t rely only on a message that says the editor saved successfully.

Check your actual traffic

Usage Tips

Use connection logs to see whether traffic is being routed, then check rules, DNS, and background settings.

Why are some apps connecting directly even though the system proxy is on?

The system proxy affects only apps that read that setting. Some apps have their own proxy options, and some connection types don’t use the system HTTP proxy. Open the client’s Connections page, then make the target app send a request. If no connection appears, check the app’s proxy settings or consider using TUN. If the connection appears but goes direct, check the mode, matched rule, and proxy group. A lit toggle doesn’t prove traffic is being routed, and a direct connection doesn’t always mean a node has failed.

How can I tell which rule a website actually matched?

Open the client’s connection list or logs, visit the site, then look for new connections by domain or process. Check the matched rule, proxy group, and final node. A web page often requests several domains, so inspect the key requests individually. Rules are usually evaluated from top to bottom; a broad rule near the top may match a connection before a more specific rule. After changing rules, send a new request and, if needed, close existing connections so a reused connection doesn’t make it look like nothing changed.

How can I use my computer’s proxy on a phone on the same local network?

Make sure the phone and computer can reach each other on the local network. In the computer’s client, enable LAN connections and check the listen address and mixed port. Set the phone’s Wi-Fi proxy to the computer’s LAN IP address and the matching port—not 127.0.0.1. Allow the connection through the computer’s firewall if needed, and check whether the router has client isolation enabled. Set appropriate access controls before sharing, never expose the proxy port to the public internet, and turn off sharing when you no longer need it.

Should I change DNS and Fake-IP settings together?

Keep the DNS settings that work in your subscription unless you have a specific resolution issue or app compatibility problem. Fake-IP maps domain names to virtual addresses so the core can identify connections; it does not change a website’s actual address. If you change the resolution mode, upstream resolver, or filter list, change one thing at a time and reconnect to test. For problems with device discovery, games, or local domains, consider a targeted filter rather than adding an exception that covers every domain.

What should I check first if my phone disconnects in the background or uses too much battery?

Check your system’s battery usage to see whether the client or actual network traffic is using the power. On Android, if the connection drops when the screen locks, check background activity permissions, battery optimization, and persistent notifications. Settings vary by manufacturer. If battery use is high, reduce unnecessary node health checks and frequent subscription updates, and check the logs for repeated reconnects. On iOS, check the system VPN status and network changes; don’t apply Android keep-alive fixes. After each change, let the phone run steadily for a while before comparing results.

Narrow it down by symptom

Troubleshooting

Restore your connection first, then check nodes, traffic routing, apps, and local ports separately.

All nodes are timing out. How can I tell if it’s my network or my subscription?

Turn off the proxy and confirm your basic connection can reach sites that normally work without a proxy. Then check your device’s clock and subscription status. Select one node, try to access the target site, and check the connection error instead of just rerunning speed tests. If the site works, the test URL may be unsuitable. If every connection fails, compare with another network if you can. A single failed node and all nodes failing call for different troubleshooting steps; don’t start by wiping your configuration or changing DNS, ports, and rules all at once.

How can I safely restore my connection if enabling TUN breaks the network?

Turn off TUN first and check whether the network recovers. If the problem persists, turn off the system proxy, exit the client normally, and check for leftover manual proxy settings in your system. Once the connection is back, review the TUN logs for routing, DNS, and virtual network adapter errors. Pause other VPNs or traffic-routing tools and test TUN on its own. Don’t delete unfamiliar network adapters or reset routes in bulk. When enabling it again, test one setting at a time and note which one triggers the problem so you can investigate the relevant configuration.

Are Windows Store apps bypassing the proxy because of UWP loopback restrictions?

If your browser works but a Store app using a sandboxed network can’t connect to a proxy on your computer, check for UWP loopback restrictions. Not all Store apps have the same restriction. Use the client’s loopback exemption tool if available, and grant access only to the apps that need it. You can also run CheckNetIsolation LoopbackExempt -s to see existing exemptions. Changing exemptions may require administrator privileges. Restart the affected app afterward, then check the connection log to confirm whether its traffic reaches the core.

The log says a port is already in use. Can I just change it to another number?

First check whether two clients or another proxy process are running at the same time, and close any duplicates. If you do need to change the listening port, choose one that isn’t already in use and update the system proxy, browser extensions, and any other apps where you entered the port manually. mixed-port accepts both HTTP and SOCKS5 connections, but the client app must still use the correct protocol. Restart the core after changing the port and confirm it’s listening. Changing the config without updating app settings will still leave those apps unable to connect.

A website won’t load, but other apps work. What log details should I share?

Note when the problem occurred, your client and OS, the current mode, the target domain, and the error log around one failed request. Compare Rule mode with Global mode after selecting a node, and check whether a browser proxy extension, encrypted DNS, or cache could affect the result. Before sharing, remove subscription links, node credentials, controller API keys, and personal IP addresses. A short excerpt related to the issue is usually easier to troubleshoot than a full configuration, and reveals less sensitive information.