Subscription 10 min read

Clash Subscription Update Failed: Common Causes & Auto-Update Setup

Subscription won't update? Don't switch providers yet — check the link, network, and client settings first, then set a proper auto-update interval.

Sort update errors into four types first

You hit "Update," it spins for a few seconds, then a red error line pops up. Error messages differ by client, but they all boil down to four categories, each pointing to a completely different fix. Figure out which one you're dealing with before touching anything.

Error messageWhat it actually meansPrime suspect
Timeout / timeout / EOFThe request never reached the serverNetwork restrictions, blocked domain
401 / 403 / UnauthorizedThe token in the link was rejected by the serverPlan expired, data exhausted, or link was reset
404 / Not FoundSubscription path has changedLink expired — grab a fresh copy
Parse failed / yaml error / format errorWhat came back isn't proxy dataSubscription converter glitch, or an HTML error page was returned

A common trap: reinstalling the client no matter what the error says. Reinstalling changes neither the link nor the network, so it fixes none of the four issues above — it's just wasted time.

Step 1: Check the subscription link itself

The subscription link is the source of the whole config, so verify it first — it only takes 30 seconds. Paste the full link into your browser's address bar, hit enter, and see what comes back:

  • A large block of YAML text starting with proxies:, or a long random-looking base64 string: the link is alive — the problem is on the client or network side, so keep reading below.
  • A 403 message, expiration notice, or data-exhausted banner: the account itself has been suspended. Log into your provider's site to check your plan status, renew, or wait for your data to reset before updating again.
  • Redirected to a login page, or told the link doesn't exist: the subscription token has likely been reset. Go back to the provider's site, copy the latest link, and edit this profile in your client to replace the old URL entirely.

A healthy subscription response starts out looking like this (YAML example):

proxies:
  - name: "HK 01"
    type: ss
    server: hk01.example.com
    port: 8388
    cipher: aes-128-gcm
    password: "your-password"

Two more things worth a quick check:

  • A stray space or line break at the start or end of a copied link will make the client reject it as invalid outright. After pasting, check the leading and trailing characters and strip anything extra.
  • Some providers serve different content based on User-Agent: a link that opens fine in a browser doesn't guarantee the client can fetch it, and vice versa. Browser verification only confirms "the link exists" — it's not a substitute for testing in the actual client.

Step 2: Rule out network issues and break the deadlock

Updating a subscription is, at its core, just an HTTPS request. The catch: many providers' subscription domains are themselves blocked, and it's exactly when all your nodes have expired — you need a working proxy to update, but you need a successful update to get a working proxy. This is the classic subscription deadlock. Three ways to break out of it:

Update through a proxy

As long as you have even one working node left, use it. In Clash Verge Rev, open the "Profiles" page, right-click the target subscription, choose "Edit," enable "Update via proxy" (some versions label it "Update through proxy"), save, then click Update again — the request will now go through your current proxy.

Switch networks and try again

If home broadband can't get through, switch to your phone's mobile hotspot. Mobile carriers and home ISPs often block the same domain differently, so a lot of "it just won't update" cases resolve instantly on 4G/5G. Once the update succeeds, switch back to your regular network — it won't affect anything afterward.

Enable TUN mode, then update

TUN mode takes over all system traffic through a virtual network adapter, so even the client's own update request gets routed through the proxy — effectively forcing a proxy update. This only works if the core is running properly and you still have at least one usable node.

On office and campus networks

Corporate and school networks often block unfamiliar domains or restrict uncommon ports. If the same client works fine at home but fails at the office, it's almost certainly the outbound network — switching networks to test is the fastest way to confirm, no need to mess with client settings.

Step 3: Check the client and subscription conversion

  • Subscription conversion adds another point of failure. A converted link = original subscription + conversion backend + rule template — if any piece breaks, the update fails. When troubleshooting, first try switching back to the raw link from your provider: if that works, the conversion service is the problem — switch backends or just use the raw link going forward.
  • Local config cache is corrupted. Symptoms include clicking Update with no response, or repeated parse errors. Delete this profile and re-add it by pasting the link again — it's much faster than reinstalling the client.
  • Client core is outdated. Most providers now include mihomo-specific protocol fields (hysteria2, tuic, vless, etc.) in their subscriptions. The original Clash core doesn't recognize these types, which shows up as most nodes missing after an update, or an outright parse error. Switching to a client built on the mihomo (Clash Meta) core resolves this — check the download page for the version matching your platform.
  • Permission or directory issues (rare). If the client is installed in a read-only directory, or its config folder is locked by security software, fetches can succeed while writing to cache still fails. Reinstalling to a standard directory fixes this.

A failed update doesn't mean every node is dead

When a fetch fails, the client keeps your previous working config in place — as long as some of those older nodes still work, your proxy connection stays uninterrupted. Take your time troubleshooting; there's no need to rush into switching providers.

Set an auto-update interval

Manually clicking Update is easy to forget. Every major client supports pulling updates on a timer — set it once and forget about it.

Clash Verge Rev

Open the "Profiles" page, right-click the target subscription → "Edit" → find "Update Interval" (in minutes), enter a value, and save. You can also set a global default interval in Settings, which new subscriptions will inherit automatically.

FlClash / Clash for Android

Long-press the target subscription in the profile list (or tap the edit icon) to open its detail page, then set the auto-update interval and save.

A good range is 360 to 720 minutes. Too short, and frequent requests may trigger rate limiting on the provider's side, causing updates to fail; too long, and you'll miss node changes or IP rotations. If your provider's announcement specifically asks you to shorten the interval, dial it down temporarily.

One thing to keep in mind: auto-update just runs the same fetch on a schedule. If the root cause is a network block, auto-update will fail just the same. Get your network sorted using the first two steps before the interval setting can actually do anything.

Quick troubleshooting checklist

  1. Open the subscription link in a browser to confirm the link itself is alive.
  2. Log into your provider's site to confirm your plan is active and data hasn't run out.
  3. Switch to a phone hotspot and try updating once to check for local network blocking.
  4. Enable "Update via proxy," or turn on TUN mode, then update again.
  5. Drop the subscription converter and use the provider's raw link instead.
  6. Delete and recreate the profile; if it still fails, upgrade to a client with the mihomo core.

Six steps, 90% of cases solved

Work through these six steps in order and you'll pinpoint the exact cause in over 90% of cases. The remaining 10% is usually the provider migrating servers or switching subscription systems — check their announcement page, or just try again in a few hours.

Download the Clash client

Once your subscription is sorted, make sure your client is up to date too: the download page is organized by platform, so grab whatever you need for Windows, macOS, Linux, Android, or iOS.

Download Clash