Illustration of a hash symbol with a warning triangle, representing a Claude Code API error

Claude Code API Error Messages: Which Are Server-Side and Which Are Yours

Anthropic’s Claude Code error reference puts each message on one side. A 5xx such as API Error: 500 is not caused by your prompt, settings or account, and Claude Code retries most server errors before showing them. Usage-limit, sign-in and connection messages point to your plan, credentials or network. For the server group, check the status page the message names (status.claude.com for Anthropic’s own API).

Key takeaways

Key takeaways

  1. Read the wording, not the “API Error” prefix. The reference files messages under server errors, usage limits, authentication, network and request errors. The section usually tells you whose side the problem is on.
  2. Most retries are already spent. By default Claude Code retries up to 10 times with exponential backoff before it shows an error. The reference’s steps for server messages are to check status and wait before resending.
  3. Three look-alikes need care. “Server is temporarily limiting requests (not your usage limit)” is a server throttle, while “Request rejected (429)” is a limit on your own key. “Request timed out” is a server message unless it also mentions your internet connection.
  4. Our incident data cannot confirm a message. Of 50 Claude status incidents (July 27 to October 7, 2026), 35 list Claude Code, with a median 71 minutes open. None of the 162 updates uses any of these error strings.

Published October 13, 2026. We read Anthropic’s Claude Code error reference and Claude API errors page in full on October 13, 2026, and computed incident counts from the status feed we saved on October 10, 2026. We tested nothing ourselves: this article reports what the documents say.

How the Claude Code API error reference sorts messages

The Claude Code error reference is one page of about 488 KB (retrieved October 13, 2026). It notes that most runtime errors map to an underlying API error code, and each section opens by saying whose side the problem is on. Most server errors “come from the inference provider”. Usage limits mean a quota tied to your account or plan has been reached, with three exceptions the section names. Authentication errors mean Claude Code cannot prove who you are. Network errors usually originate in your local network, proxy or firewall. Request errors concern the content of your request. Command-line, plugin, tool and configuration messages come from your machine and are outside this article.

“Server-side” does not always mean Anthropic. A server message ends with a sentence naming where to check service health, and it varies by provider: Amazon Bedrock, Google Cloud’s Agent Platform and Microsoft Foundry name their own status pages, and a custom ANTHROPIC_BASE_URL names the gateway host. The Claude API errors page (retrieved October 13, 2026) agrees on the sides: 500 api_error is an unexpected error inside Anthropic’s systems and 529 overloaded_error is temporary overload, while 429 rate_limit_error means your organization hit a rate limit or spend cap and 401 authentication_error is a problem with your API key.

Which side is the error on?Four boxes: server errors such as 500, 529, timeouts and the throttle message (check status and wait); your usage limits and 429 (check the reset); your sign-in (Not logged in, 401); your network (unable to connect, SSL certificate errors).Which side is the error on?Four groups in Anthropic's Claude Code error reference1ServerCheck status, wait500, 529, timeouts,throttle2Your usageCheck the resetSession and weeklylimits, 4293Your sign-in/login or /statusNot logged in, 4014Your networkProxy, VPN, certificatesUnable to connect,SSLournationonline.com
The four sides a Claude Code message can be on, per Anthropic’s error reference.

What Claude Code retries before it shows a message

The reference states that when you see an error on its page, Claude Code has already made whatever retries apply. The default is up to 10 retries with exponential backoff; CLAUDE_CODE_MAX_RETRIES changes it and has been capped at 15 since v2.1.186 (the watchdog setting below removes the limit). It retries server errors, overloaded responses and timeouts that arrive before any response has streamed, dropped connections, stalled streams (once) and, as of v2.1.199, temporary 429 throttles. It does not retry two things:

  • A TLS certificate failure. Since v2.1.199 this is reported on the first attempt, because the fix is on your side.
  • A failure after Claude has completed a block of text or a tool call. Re-running could execute the same tool calls twice, so Claude Code keeps the completed work.

During retries the spinner shows Retrying in Ns · attempt x/y. If the banner Waiting for API response · will retry in … · check your network reappears on every attempt, the page says to treat it as a network issue. For unattended runs, CLAUDE_CODE_RETRY_WATCHDOG=1 retries 429 and 529 errors indefinitely.

The message-by-message map

The table lists exact messages from the reference and its documented first step.

MessageSideWhat the reference saysDocumented first step
API Error: 500 Internal server errorServerA 5xx from the API is an unexpected failure inside the API, not caused by your prompt, settings or accountCheck status, wait a minute and resend; run /feedback if it persists with no posted incident
API Error: Repeated 529 Overloaded errorsServerAt capacity across all users; not your usage limit and not counted against your quotaCheck status, wait, or switch with /model; see our 529 explainer
Request timed outServerThe API did not answer before the connection deadline, during high load or with a very large response; default 10 minutesRetry; raise API_TIMEOUT_MS for a slow network or proxy
Server error mid-response. The response above may be incomplete.ServerA 5xx or overload arrived after Claude finished a block; completed work is kept (v2.1.199 or later)Reply continue
API Error: Server is temporarily limiting requests (not your usage limit)Server throttleA short-lived throttle unrelated to your plan quota; retried automatically as of v2.1.199Wait briefly; check status if it persists
You've hit your session limit (also weekly, Opus and Sonnet)Your usageYour plan allowance is used; the message shows the reset timeWait for the reset or run /usage; for an Opus or Sonnet limit, switch model family with /model
API Error: Request rejected (429)Your keyThe rate limit configured for your API key, Amazon Bedrock project or Google Cloud projectRun /status to confirm the credential; check provider limits; reduce concurrency
Not logged in · Please run /loginYour sign-inNo valid credential for this sessionRun /login
API Error: 401 Invalid authentication credentialsYour sign-inThe API rejected the account or organization behind your credential, for example after a revoked credentialRun /status to see which credential is active, then /login or rotate the key
Unable to connect to APIYour networkThe connection failed or never completed: no internet, a VPN blocking api.anthropic.com, or an unconfigured proxyRun curl -I https://api.anthropic.com in the same shell; set HTTPS_PROXY if needed
SSL certificate verification failedYour networkA TLS-inspecting proxy presents a certificate Claude Code does not trustSet NODE_EXTRA_CA_CERTS to your CA bundle

Where the sides blur

Request timed out. The server section describes the API not answering in time. The network section lists the longer form ending “Check your internet connection and proxy settings”. The reference’s index sends you to the network section only when the message mentions your connection.

The throttle versus Request rejected (429). Both sound like rate limits. The reference says Claude Code recognizes the throttle by the absence of the quota headers that a real plan limit carries, and it retries the throttle. Request rejected (429) is the limit configured for your key or cloud project, even though its text says “this may be a temporary capacity issue”.

The mid-response notices. Server error mid-response is a server fault; our suggestion, not Anthropic’s, is to read what remains before you reply continue. Connection lost mid-response, Your computer went to sleep mid-response and The response stopped arriving share the notice for other causes: a dropped connection, a sleeping computer, a stalled stream. Read the exact words.

What our incident data can and cannot say

Method. We used our saved copy of status.claude.com’s feed: 50 incidents and 162 updates, started between July 27 and October 7, 2026 (UTC). An incident counts as listing Claude Code when any of its updates, taken together, sets a component named Claude Code to a status other than operational. Minutes open run from the incident’s start to its first update marked resolved. That is the status-page window, not the time any user saw an error.

Result. 35 of the 50 incidents (70%) list Claude Code. Their median stayed open 71 minutes; 19 stayed open over an hour and 9 over two hours. None lists Claude Code alone: 26 list exactly claude.ai, the Claude API, Claude Cowork and Claude Code together. One more, the August 14 “Service disruption on Claude Code on the web and related services”, names Claude Code in its title but lists only Claude Cowork, so counting titles too would give 36; counting update text as well would give 38.

What it cannot show. None of the 162 updates contains “API Error”, “overloaded”, “529”, “500”, “Internal server error”, “timed out” or “temporarily limiting”. The closest wording is a September 10 Claude API update mentioning “request timeouts” (it does not list Claude Code), and a September 29 update saying users may see failed requests and that retrying may succeed. A posted incident tells you Claude Code was affected, not which Claude Code API error you saw. A quiet status page does not rule out a server-side message either: the 500 section itself says what to do if the error persists with no posted incident. For the full analysis see our Claude status history, and for how to read the closing time, what “resolved” means.

What users report about the throttle message (unverified)

Five GitHub issues in the anthropics/claude-code repository carry the same title (one has a “[BUG]” prefix), “API Error: Server is temporarily limiting requests (not your usage limit) · Rate limited”. We read only their titles, dates and first comments. These are user reports: we did not reproduce them, and we do not know which Claude Code version each reporter ran.

IssueFiled (UTC)State on October 13, 2026
#53915April 27, 2026Open, 68 comments
#59730May 16, 2026Closed May 20 as a duplicate
#61607May 23, 2026Closed May 26 as a duplicate
#63703May 29, 2026Closed July 3 for inactivity
#65773June 6, 2026Closed June 9 as a duplicate

What we could not verify

  • Which message belongs to which incident. No status update quotes a Claude Code error string.
  • How long a server-side message lasts. The reference says to wait “a minute” or “a few minutes” and gives no duration.
  • Whether the five reports describe one failure, or what any reporter’s version was.
  • Other providers. We read the Anthropic API path; Bedrock, Google Cloud’s Agent Platform and Foundry have their own sections.
  • Fix success rates. We did not trigger these errors, so we report none.

Wording, retry limits and version numbers come from the page as it stood on October 13, 2026 and may change. For a general path that starts with “is it just me?”, see our five-step decision guide.

Frequently asked questions

Is “API Error: 500” caused by my prompt or settings?

No, according to the reference, which says a 5xx from the API indicates an unexpected failure inside the API and is not caused by your prompt, settings or account. Its steps are to check status.claude.com, wait a minute and resend, and run /feedback if the error persists with no posted incident.

How many times does Claude Code retry before showing an error?

Up to 10 by default, with exponential backoff, according to the reference. CLAUDE_CODE_MAX_RETRIES changes the number. It does not retry a failure that arrives after Claude has completed a block of text or a tool call, or a TLS certificate failure.

Does “Server is temporarily limiting requests” count against my usage limit?

The message says it does not, and the reference calls it a short-lived server throttle unrelated to your plan quota. Its steps are to wait briefly and check status.claude.com if it persists.

Will status.claude.com show these errors?

Not necessarily. In our saved feed, 35 of 50 incidents list Claude Code, but none of the 162 updates uses these error strings, so a posted incident does not confirm which message you saw. The reference tells you to check the status page for server-side messages and to use /feedback if one persists without an incident.

Editorial Team

Independent analysis of how reliable ChatGPT, Claude and other AI tools are, built from public status pages, providers' own incident write-ups and datasets we publish. How we work, how AI is used and how to report a correction: https://ournationonline.com/editorial-standards/