Connectivity Troubleshooting · Clash Technical Blog

Troubleshooting Clash Node Timeouts: Latency Tests, Node Switching, and Frequent Disconnects

Timeout only means the test request timed out, not that the node necessarily failed. Reproduce real access with the same node, inspect rules and logs, compare one node, one protocol, and the whole subscription, and test the real task on another network.

  • Node timeout
  • Latency test
  • Connection drops
On this page

A timeout message beside a node stands out, but it does not necessarily mean the task you care about has failed. Web browsing, long downloads, and voice connections have different needs, so test the actual situation. Keep one node and one target fixed, allowing you to compare the speed test, connection records, and logs.

The Latency Test Shows Timeout: Does Real Access Also Fail?

Timeout means the configured test address did not respond within the timeout period. The node may be unreachable, the test URL blocked, DNS failing, or the local network blocking access. It alone does not prove that the whole computer is offline or indicate performance for video, downloads, or UDP.

Use the same node to open the site that failed or repeat the same app action, and record both the actual result and the latency test. Even with low latency, separately check whether downloads keep going and long responses finish completely.

Questions answered by the two tests

TestWhat it shows
Node latency / health checkWhether the test URL responds within the timeout
Open the target site in a browserWhether the web request completes through the selected outbound route according to the expected rule
Long download or streamed responseConnection persistence, packet loss, and midstream switching
Game or voice trafficUDP support, jitter, and actual route quality

Fix the Node Selection and Confirm Requests Reach It

Choose a specific node in the primary policy group and do not use url-test, fallback, or load-balance. Keep Rule mode, open Connections, and repeat the same website or app action. With a fixed outbound route, success and failure come from the same path.

Record the target domain, matched rule, node name, protocol type, and log error. If the connection view has no request, check whether the app goes through Clash. If it shows DIRECT, inspect the rules. If the request reaches the node but still times out, investigate the node connection.

Handling Failures of One Node, One Protocol, or the Whole Subscription

Only one node times out
More likely a single node is offline or congested, or its server port changed; compare another node in the same region.
Every node using one protocol times out
Check whether the current core supports the configuration fields and whether the local network restricts that protocol.
Every node in the same subscription times out
Check whether the subscription expired, quota is exhausted, or the service has an announcement before continuing to benchmark.
Several subscriptions fail on the current Wi-Fi
Compare using a phone hotspot to check whether the failure comes from the local network, DNS, or firewall.
Web pages work, but games or voice traffic fail
Validate UDP and TUN capture separately; web latency cannot substitute for either.

A single failed node does not require changing DNS and TUN together. If several subscriptions fail on the same network, comparing access networks is more useful.

Distinguish Timeouts, Refusals, Resets, and Resolution Failures from Logs

i/o timeout / context deadline exceeded

The path did not complete within the time limit; compare the node, network, and target address.

TLS handshake timeout / handshake failed

The connection reached the handshake stage but did not complete; verify the node protocol, system time, core compatibility, and current network.

connection refused

The connection was refused. The node service may not be listening on that port, or the port configuration may have changed. Check the actual destination address in the log.

connection reset by peer

The peer or an intermediary reset the established connection; inspect protocol compatibility and network stability.

no such host / DNS error

Domain resolution did not complete; inspect the Clash DNS and system DNS paths.

unsupported / parse error

The configuration exceeds the core's capabilities; this is not network latency.

The log time must correspond to the test action you just performed. Background subscription updates, health checks, and browser requests may all write logs simultaneously, so capturing only the final line can select the wrong event.

Compare a Phone Hotspot and Another Node

If a phone hotspot works but the original Wi-Fi does not, the node still works; check the router’s DNS, firewall, IPv6, or the provider’s network. If access slows only during evening peaks and recovers during the day, record the test time and sustained speed; that is more consistent with network congestion.

If an entire protocol group fails while other protocols work, record the protocol and core version and check the configuration with the subscription provider. Transport or flow names such as Reality and XTLS Vision do not directly indicate connection quality.

Four comparisons with minimal variables

  1. Node A + Wi-Fi

    Repeat the fixed target and preserve the log.

  2. Node A + mobile hotspot

    Change only the access network.

  3. Node B + original Wi-Fi

    Switch to another node from the same subscription, keep the protocol as similar as possible, and leave the network unchanged.

  4. Node using another protocol + original Wi-Fi

    Use only if the earlier comparisons remain inconclusive.

Which Connections Can Frequent Automatic Node Changes Interrupt?

url-test selects a lower-latency node from probe results; fallback switches in order when the current node is unavailable. A short probe interval, small tolerance, or unstable test URL can make new requests change outbound routes frequently. Whether existing connections stop also depends on node failure and whether the client closes them.

Temporarily change the policy group to select and pin one node. If the drops disappear, the node itself may not be at fault; health-check parameters or automatic-switching behavior may be. When restoring the automatic group, use a stable test URL, lengthen interval appropriately, and give url-test sufficient tolerance.

url-test structure that can be placed directly in a Mihomo configuration
proxy-groups:
  - name: 自动选择
    type: url-test
    include-all: true
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 80
    lazy: true

How to Test Browsing, Downloads, and Voice Separately

For a web issue, complete sign-in and page loading. For a download, observe sustained transfer. For voice or gaming, inspect UDP and session stability. Connections should continue showing the expected rule and fixed outbound route, and the same error should no longer appear in logs.

If the test URL responds but the original task still times out, record the node, network, time, and error, and give them to the subscription provider to locate connection or server problems.

References