Troubleshooting path 2: is the network path clear at the moment of the update

A subscription update is, at its core, the client making a network request to a server. That process is directly affected by the current network environment, and once proxy mode is on, the actual request path can be more complicated than it looks.

How the system proxy relates to update requests

Most clients try to connect directly to the subscription server when updating, bypassing the currently active proxy node — this avoids the circular dependency of "using a possibly-dead node to fetch a fresh config." But if the system proxy or TUN mode on your machine is configured aggressively enough to force the client's own network requests through an unstable node too, the update request can time out as a result. Try temporarily disabling the system proxy, or switching to a direct connection, and testing the update again. If that works, the problem is in the current proxy chain, not the subscription link itself.

DNS resolution issues

If the subscription server's domain is being poisoned by local DNS or resolving to the wrong address, the connection will fail even when the link is completely correct. Try a different device, or switch to a trusted DNS server and test the same link again. If it works on a different network, the problem is almost certainly at the DNS layer.

Firewall or security software blocking

Some security software intercepts or delays network requests from unrecognized programs, especially the first time a freshly installed client tries to go online. If the update stays stuck on "connecting" for a long time with no clear error, check your firewall rules and your security software's network permission settings to confirm the client's process is allowed to access the network.

Restrictions on corporate networks or public Wi-Fi

Some corporate networks or public Wi-Fi networks restrict specific ports or protocols. Even if your regular browsing works fine, the port used by the subscription server might be blocked on its own. Switching to a phone's mobile hotspot is the fastest way to test this — if the subscription updates immediately on a different network, the current network's restrictions are almost certainly the cause, not the subscription or the client.

Troubleshooting path 3: hidden failures caused by User-Agent compatibility

This factor is easy to overlook but can have a real impact. When a subscription server receives an update request, it reads the User-Agent header to figure out which client is making the request, and uses that to decide what config format to return, which rule template to enable, or even whether to allow the update at all.

Why User-Agent can cause "looks successful but content never changes"

Some subscription services return different versions of the config depending on the User-Agent. If the User-Agent your client sends doesn't match what the server expects, the server might return a cached, stale copy — or a stripped-down config — instead of an error. The client sees a "200 success" response and reports the update as complete, but the node list was never really refreshed. This is a common cause of the second failure pattern described above.

How to confirm whether User-Agent is the issue

Most clients built on the Clash Meta (mihomo) core let you customize the User-Agent in subscription settings, or toggle between "use the core's default identifier" and "use the client's own identifier." If you suspect this is the cause, try switching the User-Agent setting and re-fetching the subscription, then compare whether the node count changes. You can also manually set a User-Agent from the terminal to test whether the same link returns different content:

curl -A "clash-verge/2.0" "your-subscription-link" -o test1.yaml
curl -A "Mozilla/5.0" "your-subscription-link" -o test2.yaml

After both downloads finish, compare the file contents and sizes. If they're noticeably different, the subscription service is indeed returning different content based on User-Agent, and you can pick whichever identifier works better in the client going forward.

Note

Subscription providers handle User-Agent very differently — some don't distinguish at all, others use it to control traffic billing. If your node list never seems to change, it's worth checking User-Agent after network troubleshooting but before requesting a brand-new link.

A sensible auto-update interval for each client

Set the auto-update interval too short and you risk tripping the provider's rate limit, indirectly causing the "false dead link" symptom described above. Set it too long and node information won't refresh promptly, especially when a provider swaps nodes or adjusts rules on short notice. A few general guidelines:

Some clients also support conditions like "auto-update only on Wi-Fi" or "only while charging." Mobile users who care about data usage or battery life can enable these to cut down on unnecessary background requests.

A troubleshooting order you can follow step by step

Turning the three paths above into a simple-to-complex checklist usually gets you to the root cause within a few minutes.

  1. Confirm the subscription link has no stray spaces or truncation, and test it by opening it in a browser.
  2. Disable the system proxy or switch to a direct connection, and try updating again.
  3. Switch to a different network (like a phone hotspot) and test again.
  4. Check the client's auto-update interval setting to rule out a rate limit.
  5. Try switching the User-Agent setting and compare the node count before and after.
  6. If none of the above turns anything up, contact your subscription provider to confirm the link and plan status.
Warning

If you've confirmed the link, network, and User-Agent are all fine but the node list still never changes, it's very likely that the provider's content genuinely hasn't been updated on their end. That's not a client-side issue — report it directly to your subscription provider.

Make sure your client version is current first

Some subscription parsing and User-Agent compatibility issues have already been fixed in newer client releases — check your current version number before troubleshooting further.

Download Clash