Fix "API Error: 503 overloaded_error" and "Repeated 529 Overloaded errors"
API Error: 503 {"type":"error","error":{"type":"overloaded_error","message":"上游线路暂时不可用,请稍后重试(不是您账户余额的问题) | Upstream temporarily unavailable, please retry shortly (this is not about your account balance)."}}A 503 overloaded_error from CCSub means it already retried on other upstream lines and none was available at that moment. It's temporary and not billed. Wait a minute and type "continue", or switch models with /model.
Fix it in 3 steps
- 1
Wait a minute, then type "continue"
It's a temporary error and your original message is still in the conversation, so there's no need to paste a long prompt again. Claude Code has already retried several times before showing you this.
- 2
Try a different model
Use /model in Claude Code, or change the model ID in your tool's settings. Requests for different models can take different lines inside CCSub, so when one model has no free line, another one often works.
- 3
Contact support if it lasts more than 10 minutes
Email support@ccsub.net with the time of the failure (to the minute), your tool and model ID, and the full error text so the request can be located in the logs. Never include your API key.
Other forms of the same error
Upstream overloaded after 3 attempt(s): Our servers are currently overloaded. Please try again later.API Error: Repeated 529 Overloaded errors{"type":"error","error":{"type":"api_error","message":"Upstream returned invalid response"}}
Where this 503 comes from
CCSub sits in front of several upstream lines. When a request fails, it doesn't hand the error straight to you — it tries to recover first:
- On a 5xx, a timeout, or an "overloaded" response, it moves the request to another account or line for the same model and retries.
- Some upstreams signal overload by returning 200 and then putting an error inside the stream. CCSub detects that pattern and fails over the same way.
- Lines that keep failing are temporarily marked down so later requests route around them.
You only get a 503 after those retries are used up and there's genuinely no line available at that moment. In other words, it means "this model is short on capacity right now", and it usually clears within minutes.
What each message means
上游线路暂时不可用,请稍后重试(不是您账户余额的问题)— "Upstream temporarily unavailable, please retry shortly (this is not about your account balance)." The English translation is included in the message itself. An upstream line's account had a problem, such as its own balance, and CCSub replaced the raw error with this one.Upstream overloaded after N attempt(s): ...— the upstream reported overload, and CCSub tried N accounts that were all overloaded.API Error: Repeated 529 Overloaded errors— Claude Code's own message after receiving several 529s in a row and exhausting its retries.- 502
Upstream returned invalid responseand 500Internal proxy error— the upstream sent back something unparseable, or something unexpected happened while handling the request. Treat these exactly like a 503 and retry.
None of these are billed. Only requests that complete successfully are charged.
The fastest way to get going again
- Wait a minute or two, then type "continue". The Claude Code docs recommend the same thing: your original message is still in the conversation, so you don't need to paste a long prompt again.
- Switch models. Use
/model, or change the model ID in Codex, Cursor, or whichever tool you use. Different models can run on different lines, so when one model has nothing free, another usually does. - Break long tasks up. If one very long turn fails, the whole turn has to be redone. Smaller steps make each failure cheaper.
- Back off in your own code. On 502, 503 or 529, wait a few seconds, double the delay after each failure, and give up after three to five attempts with a clear message to the user. Retrying in a tight loop will also hit the 429 rate limit.
When to contact support
If the same model returns 503 for more than ten minutes straight, or every model fails, email support@ccsub.net and include:
- The time it happened, to the minute.
- Your tool and version (
claude --versionorcodex --version). - The model ID and the full error text.
- Your account email — never your API key.
With the time and model, support can find the exact failed request in the logs.
FAQ
Why does the message say "this is not about your account balance"?
When an upstream line's own account has a problem such as running out of credit, CCSub doesn't pass the raw upstream text (like an English Insufficient Balance) through to you. It rewrites it into this 503 so you don't think your own balance is empty. Your account is unaffected.
Am I charged for 503s?
No. Only requests that return a successful result are billed.
Why did Claude Code take so long to show the error?
Claude Code retries server errors like 5xx and 529 up to 10 times by default with growing delays, showing Retrying in Ns · attempt x/10. You only see the error once all of those fail.
Should I script unlimited retries?
No. Hammering the endpoint doesn't bring capacity back sooner and can trip the default limit of 60 requests per minute per key, which gets you a 429 instead. Wait at least a few seconds between attempts and back off further each time.
Still stuck?
- Read the troubleshooting guide (Chinese)
- Contact support: Email support@ccsub.net with the tool and version, your OS, the full error text, and your account email (never send your API key).
- Re-check your setup against the integration guide: Claude Code setup guide, Codex CLI setup guide, Cursor setup guide, Cline setup guide, Cherry Studio setup guide
Related errors
API Error: 504 {"type":"error","error":{"type":"timeout_error","message":"Upstream timed out"}}The upstream took too long to start answering. Use streaming (stream: true) in your own code, /compact very long contexts, and split long outputs. A one-off 504 just needs a retry and isn't billed.API Error: 402 {"type":"error","error":{"type":"insufficient_balance","message":"余额不足,请前往 https://www.ccsub.net/purchase 充值"}}Your available balance or today's subscription quota ran out. Top up, wait for the daily reset at midnight Beijing time, or — if you do have balance — retry in a few minutes.API Error: 429 {"type":"error","error":{"type":"rate_limit_error","message":"API Key request rate exceeded"}}Request-rate errors: raise the key's requests-per-minute or split traffic across keys. Concurrency errors: run fewer sessions or subagents at once — the limit is per account, so extra keys don't help.
New to CCSub?
Sign up, create an API key in the dashboard, and paste it into Claude Code, Codex CLI or your editor. You pay for what you use.