Using Clash, you will eventually hit "no internet" moments. Most issues share a few root causes. This checklist walks through the usual failures and fixes—work top to bottom and you can often solve it yourself.
Before You Start: Narrow the Problem
The key is shrinking the search space: is it the node, the rules, or system settings? A reliable first step—switch to Global mode and test. If global works, nodes are fine and rules are the likely culprit. If global fails too, focus on nodes and system configuration. Keep that frame in mind for the scenarios below.
Scenario 1: No Internet at All
Every page spins or times out—check in order:
- Node health: try another node or check latency in a speed test;
- Subscription status: exhausted quota or expired plan kills all nodes—verify in your provider panel;
- System proxy vs. TUN conflict: both on at once sometimes fight—enable only one;
- System time: large skew can break handshakes—sync the clock;
- Client actually running: confirm the core is up and system proxy is enabled.
Scenario 2: Some Sites Won't Load
Most sites work but a few overseas ones fail—almost always a rule issue. The site was sent direct or rejected. Add an explicit proxy rule before the catch-all MATCH, for example:
rules: - DOMAIN-SUFFIX,example.com,PROXY # New: force through proxy - GEOIP,CN,DIRECT - MATCH,PROXY
Reload the config after editing. For rule syntax and ordering, see Clash Rule-Based Routing Explained: A Practical Guide to Writing rules on this blog.
Scenario 3: Subscription Update Failed
When a subscription will not pull down:
- Link unreachable: open the subscription URL in a browser first;
- Need proxy first: if the host is blocked, connect with any working node, then update;
- Credential issues: confirm with your provider—token reset, plan expiry.
Scenario 4: Connected but Slow or High Latency
Pages load but feel sluggish—usually nodes or local network:
- Switch node or region, or use a
url-testgroup to auto-pick lowest latency; - Avoid peak congestion hours when possible;
- Check home broadband and pause heavy downloads or streaming;
- Ask your provider about line status if needed.
Scenario 5: Other Apps Break After Enabling TUN
TUN takes over system-wide traffic and misconfiguration shows up fast:
- Turn off system proxy to avoid stacking with TUN;
- Confirm the virtual adapter driver is installed and permissions granted;
- Test with other VPNs, firewalls, or security tools disabled one at a time.
Scenario 6: Client Won't Start or Crashes
If the app itself fails, common causes are YAML syntax errors (indentation matters) or a port already in use. Try a minimal config to verify the client, then add your settings back; change the listen port if something else occupies it.
Troubleshooting mantra: try global first, then nodes, then rules, then system settings. That order saves a lot of dead ends.
Scenario 7: DNS Resolution Problems
Intermittent loads or domains that never resolve may be DNS-related. Clash has built-in DNS handling—if you changed it, revert to defaults and retest. You can also pick cleaner upstream DNS servers. For most users, default DNS settings are enough; do not over-tweak this layer.
Scenario 8: Mobile Won't Connect
On phones, confirm VPN permission is granted—Android and iOS both require it for the client to capture traffic. Check that no other system VPN or proxy app is competing for the tunnel. Switch between Wi‑Fi and cellular to rule out one network path.
Prevention Beats Firefighting
Good habits reduce how often you need this list: refresh subscriptions regularly, keep rules well ordered, use either system proxy or TUN—not both—and note changes when you tweak settings so you can roll back. Solid basics mean fewer emergencies.
Still Stuck?
If the checklist does not fix it, check the FAQ for a closer match or walk through the documentation step by step. Almost every problem lands in one of three buckets: nodes, rules, or system settings.
Debugging is also how you learn Clash. Each fix deepens your feel for how nodes, rules, and system settings interact. Next time something breaks, run global → nodes → rules → system settings calmly—most cases clear up. Bookmark this list; with practice you will troubleshoot faster every time.