1> ## Documentation Index
2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
3> Use this file to discover all available pages before exploring further.
4
5# Error reference
6
7> Look up Claude Code runtime error messages with what each one means and how to fix it.
8
9This page lists runtime errors Claude Code displays and how to recover from each one, plus what to check when responses seem off without an error. For installation errors such as `command not found` or TLS failures during setup, see [Troubleshooting](/en/troubleshooting).
10
11These errors and recovery commands apply across the CLI, the [Desktop app](/en/desktop), and [Claude Code on the web](/en/claude-code-on-the-web), since all three wrap the same Claude Code CLI. For surface-specific issues, see the troubleshooting section on that surface's page.
12
13<Note>
14 Claude Code calls the Claude API for model responses, so most runtime errors map to an underlying API error code. This page covers what each error means inside Claude Code and how to recover. For the raw HTTP status code definitions, see the [Claude Platform error reference](https://platform.claude.com/docs/en/api/errors).
15</Note>
16
17## Find your error
18
19Match the message you see in your terminal to a section below.
20
21| Message | Section |
22| :----------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------- |
23| `API Error: 500 ... Internal server error` | [Server errors](#api-error-500-internal-server-error) |
24| `API Error: Repeated 529 Overloaded errors` | [Server errors](#api-error-repeated-529-overloaded-errors) |
25| `Request timed out` | [Server errors](#request-timed-out), or [Network](#unable-to-connect-to-api) if the message mentions your internet connection |
26| `<model> is temporarily unavailable, so auto mode cannot determine the safety of...` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |
27| `You've hit your session limit` / `You've hit your weekly limit` | [Usage limits](#youve-hit-your-session-limit) |
28| `Server is temporarily limiting requests` | [Usage limits](#server-is-temporarily-limiting-requests) |
29| `Request rejected (429)` | [Usage limits](#request-rejected-429) |
30| `Credit balance is too low` | [Usage limits](#credit-balance-is-too-low) |
31| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |
32| `Invalid API key` | [Authentication](#invalid-api-key) |
33| `This organization has been disabled` | [Authentication](#this-organization-has-been-disabled) |
34| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |
35| `does not meet scope requirement user:profile` | [Authentication](#oauth-scope-requirement) |
36| `Unable to connect to API` | [Network](#unable-to-connect-to-api) |
37| `SSL certificate verification failed` | [Network](#ssl-certificate-errors) |
38| `Prompt is too long` | [Request errors](#prompt-is-too-long) |
39| `Error during compaction: Conversation too long` | [Request errors](#error-during-compaction-conversation-too-long) |
40| `Request too large` | [Request errors](#request-too-large) |
41| `Image was too large` | [Request errors](#image-was-too-large) |
42| `PDF too large` / `PDF is password protected` | [Request errors](#pdf-errors) |
43| `Extra inputs are not permitted` | [Request errors](#extra-inputs-are-not-permitted) |
44| `There's an issue with the selected model` | [Request errors](#theres-an-issue-with-the-selected-model) |
45| `Claude Opus is not available with the Claude Pro plan` | [Request errors](#claude-opus-is-not-available-with-the-claude-pro-plan) |
46| `thinking.type.enabled is not supported for this model` | [Request errors](#thinking-type-enabled-is-not-supported-for-this-model) |
47| `max_tokens must be greater than thinking.budget_tokens` | [Request errors](#thinking-budget-exceeds-output-limit) |
48| `API Error: 400 due to tool use concurrency issues` | [Request errors](#tool-use-or-thinking-block-mismatch) |
49| Responses seem lower quality than usual | [Response quality](#responses-seem-lower-quality-than-usual) |
50
51## Automatic retries
52
53Claude Code retries transient failures before showing you an error. Server errors, overloaded responses, request timeouts, temporary 429 throttles, and dropped connections are all retried up to 10 times with exponential backoff. While retrying, the spinner shows a `Retrying in Ns · attempt x/y` countdown.
54
55When you see one of the errors on this page, those retries have already been exhausted. You can tune the behavior with two environment variables:
56
57| Variable | Default | Effect |
58| :---------------------------------------- | :------ | :------------------------------------------------------------------------------------------------------------------- |
59| [`CLAUDE_CODE_MAX_RETRIES`](/en/env-vars) | 10 | Number of retry attempts. Lower it to surface failures faster in scripts; raise it to wait through longer incidents. |
60| [`API_TIMEOUT_MS`](/en/env-vars) | 600000 | Per-request timeout in milliseconds. Raise it for slow networks or proxies. |
61
62## Server errors
63
64These errors come from Anthropic infrastructure rather than your account or request.
65
66### API Error: 500 Internal server error
67
68Claude Code shows the raw API response body for any 5xx status. The example below shows a 500 response:
69
70```text theme={null}
71API Error: 500 {"type":"error","error":{"type":"api_error","message":"Internal server error"}} · check status.claude.com
72```
73
74This indicates an unexpected failure inside the API. It is not caused by your prompt, settings, or account.
75
76**What to do:**
77
78* Check [status.claude.com](https://status.claude.com) for active incidents
79* Wait a minute, then send your message again. Your original message is still in the conversation, so for a long prompt you can type `try again` instead of pasting the whole thing.
80* If the error persists with no posted incident, run `/feedback` so Anthropic can investigate with your request details. See [Report an error](#report-an-error) if `/feedback` is unavailable on your provider.
81
82### API Error: Repeated 529 Overloaded errors
83
84The API is temporarily at capacity across all users. Claude Code has already retried several times before showing this message:
85
86```text theme={null}
87API Error: Repeated 529 Overloaded errors · check status.claude.com
88```
89
90A 529 is not your usage limit and does not count against your quota.
91
92**What to do:**
93
94* Check [status.claude.com](https://status.claude.com) for capacity notices
95* Try again in a few minutes
96* Run `/model` and switch to a different model to keep working, since capacity is tracked per model. Claude Code prompts you to do this when one model is under particularly high load, for example `Opus is experiencing high load, please use /model to switch to Sonnet`.
97
98### Request timed out
99
100The API did not respond before the connection deadline.
101
102```text theme={null}
103Request timed out
104```
105
106This can happen during periods of high load or when a very large response is being generated. The default request timeout is 10 minutes.
107
108**What to do:**
109
110* Retry the request
111* For long-running tasks, break the work into smaller prompts
112* If a slow network or proxy is the cause, raise `API_TIMEOUT_MS` as described in [Automatic retries](#automatic-retries)
113* If timeouts are frequent and your network is otherwise healthy, see [Network and connection errors](#network-and-connection-errors) below
114
115### Auto mode cannot determine the safety of an action
116
117The model that [auto mode](/en/permission-modes#eliminate-prompts-with-auto-mode) uses to classify actions is overloaded, so auto mode blocked the action instead of approving it unchecked.
118
119```text theme={null}
120<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait briefly and then try this action again.
121```
122
123Reads, searches, and edits inside your working directory skip the classifier, so they keep working during the outage.
124
125**What to do:**
126
127* Retry after a few seconds; Claude sees the same message and usually retries on its own
128* If retries keep failing, continue with read-only tasks and come back to the blocked action later
129* This is transient and unrelated to [auto mode eligibility](/en/permission-modes#eliminate-prompts-with-auto-mode); you do not need to change settings
130
131## Usage limits
132
133These errors mean a quota tied to your account or plan has been reached. They are distinct from [server errors](#server-errors), which affect everyone.
134
135### You've hit your session limit
136
137Subscription plans include a rolling usage allowance. When it runs out you see one of these messages:
138
139```text theme={null}
140You've hit your session limit · resets 3:45pm
141You've hit your weekly limit · resets Mon 12:00am
142You've hit your Opus limit · resets 3:45pm
143```
144
145Claude Code blocks further requests until the reset time shown in the message.
146
147**What to do:**
148
149* Wait for the reset time shown in the error
150* Run `/usage` to see your plan limits and when they reset
151* Run `/extra-usage` to buy additional usage on Pro and Max, or to request it from your admin on Team and Enterprise. See [Extra usage for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) for how this is billed.
152* To upgrade your plan for higher base limits, see [claude.com/pricing](https://claude.com/pricing)
153
154To watch your remaining allowance before you hit the limit, add the `rate_limits` fields to a [custom status line](/en/statusline#rate-limit-usage), or in the Desktop app click the [usage ring](/en/desktop#check-usage) next to the model picker.
155
156### Server is temporarily limiting requests
157
158The API applied a short-lived throttle that is unrelated to your plan quota.
159
160```text theme={null}
161API Error: Server is temporarily limiting requests (not your usage limit)
162```
163
164This is [retried automatically](#automatic-retries) before being shown.
165
166**What to do:**
167
168* Wait briefly and try again
169* Check [status.claude.com](https://status.claude.com) if it persists
170
171### Request rejected (429)
172
173You have hit the rate limit configured for your API key, Amazon Bedrock project, or Google Vertex AI project.
174
175```text theme={null}
176API Error: Request rejected (429) · this may be a temporary capacity issue
177```
178
179**What to do:**
180
181* Run `/status` and confirm the active credential is the one you expect. A stray `ANTHROPIC_API_KEY` in your environment can route requests through a low-tier key instead of your subscription.
182* Check your provider console for the active limits and request a higher tier if needed
183* For Anthropic API keys, see the [rate limits reference](https://platform.claude.com/docs/en/api/rate-limits) for how tiers work and how to set per-workspace caps
184* Reduce concurrency: lower [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/en/env-vars), avoid running many parallel subagents, or switch to a smaller model with `/model` for high-volume scripted runs
185
186### Credit balance is too low
187
188Your Console organization has run out of prepaid credits.
189
190```text theme={null}
191Credit balance is too low
192```
193
194**What to do:**
195
196* Add credits at [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), and consider enabling auto-reload there so the balance refills before it hits zero
197* Switch to subscription authentication with `/login` if you have a Pro, Max, Team, or Enterprise plan
198* Set per-workspace spend caps in the Console to prevent a single project from draining the org balance. See [Manage costs effectively](/en/costs).
199
200## Authentication errors
201
202These errors mean Claude Code cannot prove who you are to the API. Run `/status` at any time to see which credential is currently active.
203
204### Not logged in
205
206No valid credential is available for this session.
207
208```text theme={null}
209Not logged in · Please run /login
210```
211
212**What to do:**
213
214* Run `/login` to authenticate with your Claude subscription or Console account
215* If you expected an environment variable to authenticate you, confirm `ANTHROPIC_API_KEY` is set and exported in the shell where you launched `claude`
216* For CI or automation where interactive login is not possible, configure an [`apiKeyHelper`](/en/settings#available-settings) script that fetches a key at startup
217* See [Authentication precedence](/en/authentication#authentication-precedence) to understand which credential wins when several are present
218
219If you are prompted to log in repeatedly, see [Not logged in or token expired](/en/troubleshooting#not-logged-in-or-token-expired) for system clock and macOS Keychain fixes.
220
221### Invalid API key
222
223The `ANTHROPIC_API_KEY` environment variable or `apiKeyHelper` script returned a key the API rejected.
224
225```text theme={null}
226Invalid API key · Fix external API key
227```
228
229**What to do:**
230
231* Check for typos and confirm the key has not been revoked in the [Console](https://platform.claude.com/settings/keys)
232* Run `env | grep ANTHROPIC` in the same shell. Tools like direnv, dotenv shell plugins, and IDE terminals can load a stale key from a `.env` file in your project without you setting it explicitly.
233* Unset `ANTHROPIC_API_KEY` and run `/login` to use subscription auth instead
234* If the key comes from an [`apiKeyHelper`](/en/settings#available-settings) script, run the script directly to confirm it prints a valid key on stdout
235* Run `/status` to confirm which credential source Claude Code is actually using
236
237### This organization has been disabled
238
239A stale `ANTHROPIC_API_KEY` from a disabled Console organization is overriding your subscription login.
240
241```text theme={null}
242Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your other credentials
243API Error: 400 ... This organization has been disabled.
244```
245
246Environment variables take precedence over `/login`, so a key exported in your shell profile or loaded from a `.env` file is used even when you have a working Pro or Max subscription. In non-interactive mode (`-p`), the key is always used when present.
247
248**What to do:**
249
250* Unset `ANTHROPIC_API_KEY` in the current shell and remove it from your shell profile, then relaunch `claude`
251* Run `/status` afterward to confirm the active credential is your subscription
252* If no environment variable is set and the error persists, the disabled organization is the one tied to your `/login`. Contact support or sign in with a different account.
253
254### OAuth token revoked or expired
255
256Your saved login is no longer valid. A revoked token means you signed out everywhere or an admin removed access; an expired token means the automatic refresh failed mid-session.
257
258```text theme={null}
259OAuth token revoked · Please run /login
260OAuth token has expired · Please run /login
261API Error: 401 ... authentication_error
262```
263
264**What to do:**
265
266* Run `/login` to sign in again
267* If the error returns within the same session after re-authenticating, run `/logout` first to fully clear the stored token, then `/login`
268* For repeated prompts to log in across launches, see the system clock and macOS Keychain checks in [Troubleshooting](/en/troubleshooting#not-logged-in-or-token-expired)
269* For other failures including `403 Forbidden` and OAuth browser issues, see [Permissions and authentication](/en/troubleshooting#permissions-and-authentication)
270
271### OAuth scope requirement
272
273The stored token predates a permission scope that a newer feature needs. You see this most often from `/usage` and the status line usage indicator:
274
275```text theme={null}
276OAuth token does not meet scope requirement: user:profile
277```
278
279**What to do:**
280
281* Run `/login` to mint a new token with the current scopes. You do not need to log out first.
282
283## Network and connection errors
284
285These errors mean Claude Code could not reach the API at all. They almost always originate in your local network, proxy, or firewall rather than Anthropic infrastructure.
286
287### Unable to connect to API
288
289The TCP connection to the API failed or never completed.
290
291```text theme={null}
292Unable to connect to API. Check your internet connection
293Unable to connect to API (ECONNREFUSED)
294Unable to connect to API (ECONNRESET)
295Unable to connect to API (ETIMEDOUT)
296fetch failed
297Request timed out. Check your internet connection and proxy settings
298```
299
300Common causes include no internet access, a VPN that blocks `api.anthropic.com`, or a required corporate proxy that is not configured.
301
302**What to do:**
303
304* Confirm you can reach the API host from the same shell by running `curl -I https://api.anthropic.com`. On Windows PowerShell use `curl.exe -I https://api.anthropic.com` so the built-in `Invoke-WebRequest` alias is not used.
305* If you are behind a corporate proxy, set `HTTPS_PROXY` before launching Claude Code and see [Network configuration](/en/network-config)
306* If you route through an LLM gateway or relay, set [`ANTHROPIC_BASE_URL`](/en/env-vars) to its address. See [LLM gateway configuration](/en/llm-gateway) for setup.
307* Ensure your firewall allows the hosts listed in [Network access requirements](/en/network-config#network-access-requirements)
308* Intermittent failures are [retried automatically](#automatic-retries); persistent failures point to a local network issue
309
310If `curl` succeeds but Claude Code still fails, the cause is usually something between Node.js and the network rather than the network itself:
311
312* On Linux and WSL, check `/etc/resolv.conf` for an unreachable nameserver. WSL in particular can inherit a broken resolver from the host.
313* On macOS, a VPN client that was disconnected or uninstalled can leave a tunnel interface or routing rule behind. Check `ifconfig` for stale `utun` interfaces and remove the VPN's network extension in System Settings.
314* Docker Desktop and similar container runtimes can intercept outbound traffic. Quit them and retry to rule this out.
315
316### SSL certificate errors
317
318A proxy or security appliance on your network is intercepting TLS traffic with its own certificate, and Node.js does not trust it.
319
320```text theme={null}
321Unable to connect to API: SSL certificate verification failed. Check your proxy or corporate SSL certificates
322Unable to connect to API: Self-signed certificate detected
323```
324
325**What to do:**
326
327* Export your organization's CA bundle and point Node at it with `NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem`
328* See [Network configuration](/en/network-config#custom-ca-certificates) for full setup instructions
329* Do not set `NODE_TLS_REJECT_UNAUTHORIZED=0`, which disables certificate validation entirely
330
331## Request errors
332
333These errors mean the API received your request but rejected its content.
334
335### Prompt is too long
336
337The conversation plus attached files exceeds the model's context window.
338
339```text theme={null}
340Prompt is too long
341```
342
343**What to do:**
344
345* Run `/compact` to summarize earlier turns and free space, or `/clear` to start fresh
346* Run `/context` to see a breakdown of what is consuming the window: system prompt, tools, memory files, and messages
347* Disable MCP servers you are not using with `/mcp disable <name>` to remove their tool definitions from context
348* Trim large `CLAUDE.md` memory files or split them into [imports](/en/memory)
349* Subagents inherit every MCP tool definition from the parent session, which can fill their context window before the first turn. Disable MCP servers you are not using before spawning subagents.
350* Auto-compact is on by default and normally prevents this error. If you have set [`DISABLE_AUTO_COMPACT`](/en/env-vars), re-enable it or run `/compact` manually before the window fills.
351
352See [Explore the context window](/en/context-window) for an interactive view of how context fills up.
353
354### Error during compaction: Conversation too long
355
356`/compact` itself failed because there is not enough free context to hold the summary it produces.
357
358```text theme={null}
359Error during compaction: Conversation too long. Press esc twice to go up a few messages and try again.
360```
361
362This can happen when the window is already full at the moment auto-compact triggers, or when you run `/compact` after seeing `Prompt is too long`.
363
364**What to do:**
365
366* Press Esc twice to open the message list and step back several turns. This drops the most recent messages from context. Then run `/compact` again.
367* If stepping back does not free enough space, run `/clear` to start a fresh session. Your previous conversation is preserved and can be reopened with `/resume`.
368
369### Request too large
370
371The raw request body exceeded the API's byte limit before tokenization, usually because of a large pasted file or attachment.
372
373```text theme={null}
374Request too large (max 30 MB). Double press esc to go back and remove or shrink the attached content.
375```
376
377This is a size limit on the HTTP request, separate from the [context window limit](#prompt-is-too-long).
378
379**What to do:**
380
381* Press Esc twice and step back past the turn that added the oversized content
382* Reference large files by path instead of pasting their contents, so Claude can read them in chunks
383* For images, see [Image was too large](#image-was-too-large) below
384
385### Image was too large
386
387A pasted or attached image exceeds the API's size or dimension limits.
388
389```text theme={null}
390Image was too large. Double press esc to go back and try again with a smaller image.
391API Error: 400 ... image dimensions exceed max allowed size
392```
393
394The image stays in conversation history after the error, so every subsequent message fails with the same error until you remove it.
395
396**What to do:**
397
398* Press Esc twice and step back past the turn where the image was added
399* Resize the image before pasting. The API accepts images up to 8000 pixels on the longest edge for a single image, or 2000 pixels when many images are in context.
400* Take a tighter screenshot of the relevant region instead of the full screen
401
402### PDF errors
403
404The PDF you attached could not be processed.
405
406```text theme={null}
407PDF too large (max 100 pages, 32 MB). Try splitting it or extracting text first.
408PDF is password protected. Try removing protection or extracting text first.
409The PDF file was not valid. Try converting to a different format first.
410```
411
412**What to do:**
413
414* For oversized PDFs, ask Claude to read a page range with the Read tool instead of attaching the whole file, or extract text with a tool like `pdftotext` and reference the output file by path
415* For protected or invalid PDFs, remove the password or re-export the file from its source application, then try again
416
417### Extra inputs are not permitted
418
419A proxy or LLM gateway between Claude Code and the API stripped the `anthropic-beta` request header, so the API rejected fields that depend on it.
420
421```text theme={null}
422API Error: 400 ... Extra inputs are not permitted ... context_management
423API Error: 400 ... Extra inputs are not permitted ... tools.0.custom.input_examples
424API Error: 400 ... Unexpected value(s) for the `anthropic-beta` header
425```
426
427Claude Code sends beta-only fields such as `context_management`, `effort`, and tool `input_examples` alongside an `anthropic-beta` header that enables them. When a gateway forwards the body but drops the header, the API sees fields it does not recognize.
428
429**What to do:**
430
431* Configure your gateway to forward the `anthropic-beta` header. See [LLM gateway configuration](/en/llm-gateway).
432* As a fallback, set [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/en/env-vars) before launching. This disables features that require the beta header so requests succeed through a gateway that cannot forward it.
433
434### There's an issue with the selected model
435
436The configured model name was not recognized or your account lacks access to it.
437
438```text theme={null}
439There's an issue with the selected model (claude-...). It may not exist or you may not have access to it. Run /model to select a different one.
440```
441
442**What to do:**
443
444* Run `/model` to pick from models available to your account
445* Use an alias such as `sonnet` or `opus` instead of a full versioned ID. Aliases track the latest release so they do not go stale. See [Model configuration](/en/model-config).
446* See [Model not found](/en/troubleshooting#model-not-found-or-not-accessible) to locate where a stale ID is set across `--model`, `ANTHROPIC_MODEL`, and settings files
447
448### Claude Opus is not available with the Claude Pro plan
449
450Your active subscription plan does not include the model you selected.
451
452```text theme={null}
453Claude Opus is not available with the Claude Pro plan · Select a different model in /model
454```
455
456**What to do:**
457
458* Run `/model` and select a model your plan includes
459* If you upgraded your plan recently and still see this, run `/logout` then `/login`. The stored token reflects your plan at the time you signed in, so upgrading on the web does not take effect in an existing session until you re-authenticate.
460* See [claude.com/pricing](https://claude.com/pricing) for which models each plan includes
461
462### thinking.type.enabled is not supported for this model
463
464Your Claude Code version is older than the minimum for Opus 4.7. The CLI sent a thinking configuration the model no longer accepts.
465
466```text theme={null}
467API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.
468```
469
470**What to do:**
471
472* Run `claude update` to upgrade to v2.1.111 or later, then restart Claude Code
473* If you cannot upgrade, run `/model` and select Opus 4.6 or Sonnet instead
474* If you hit this in the Agent SDK, see [SDK troubleshooting](/en/agent-sdk/quickstart#troubleshooting)
475
476### Thinking budget exceeds output limit
477
478The configured extended thinking budget exceeds the maximum response length, so there is no room left for the actual answer.
479
480```text theme={null}
481API Error: 400 ... max_tokens must be greater than thinking.budget_tokens
482```
483
484Claude Code adjusts these values automatically on the Anthropic API. You typically see this error on Amazon Bedrock or Google Vertex AI when [`MAX_THINKING_TOKENS`](/en/env-vars) is set higher than the provider's output limit, or when plan mode raises the thinking budget.
485
486**What to do:**
487
488* Lower `MAX_THINKING_TOKENS`, or raise [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/en/env-vars) above the thinking budget
489* See [Extended thinking](/en/common-workflows#use-extended-thinking-thinking-mode) for how the budget interacts with output length
490
491### Tool use or thinking block mismatch
492
493The conversation history reached the API in an inconsistent state, usually after a tool call was interrupted or a turn was edited mid-stream.
494
495```text theme={null}
496API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation.
497API Error: 400 ... unexpected `tool_use_id` found in `tool_result` blocks
498API Error: 400 ... thinking blocks ... cannot be modified
499```
500
501All three variants mean the same thing: the sequence of `tool_use`, `tool_result`, and `thinking` blocks in history no longer matches what the API expects.
502
503**What to do:**
504
505* Run `/rewind`, or press Esc twice, to step back to a checkpoint before the corrupted turn and continue from there. See [Checkpointing](/en/checkpointing) for how checkpoints are created and restored.
506
507## Responses seem lower quality than usual
508
509If Claude's answers seem less capable than you expect but no error is shown, the cause is usually conversation state rather than the model itself. Claude Code does not silently change model versions. It can switch to a fallback model in specific cases such as an Opus quota being reached or a Bedrock or Vertex AI region lacking your model; the Model selection check below catches both, and [Model configuration](/en/model-config) explains when fallback applies.
510
511Check these first:
512
513* **Model selection**: run `/model` to confirm you are on the model you expect. A previous `/model` choice or an `ANTHROPIC_MODEL` environment variable may have you on a smaller model than you intended.
514* **Effort level**: run `/effort` to check the current reasoning level and raise it for hard debugging or design work. Defaults vary by model and plan, so check before assuming you are below the maximum. See [Adjust effort level](/en/model-config#adjust-effort-level) for per-model defaults and the `ultrathink` shortcut.
515* **Context pressure**: run `/context` to see how full the window is. If it is near capacity, run `/compact` at a natural breakpoint or `/clear` to start fresh. See [Explore the context window](/en/context-window) for how auto-compact affects earlier turns.
516* **Stale instructions**: large or outdated `CLAUDE.md` files and MCP tool definitions consume context and can steer responses. `/doctor` flags oversized memory files and subagent definitions; `/context` shows MCP tool token usage.
517
518When a response goes wrong, rewinding usually works better than replying with corrections. Press Esc twice or run `/rewind` to step back to before the bad turn, then rephrase the prompt with more specifics. Correcting in-thread keeps the wrong attempt in context, which can anchor later answers to it. See [Checkpointing](/en/checkpointing).
519
520If quality still seems off after checking the above, run `/feedback` and describe what you expected versus what you got. Feedback submitted this way includes the conversation transcript, which is the fastest way for Anthropic to diagnose a real regression. See [Report an error](#report-an-error) if `/feedback` is unavailable on your provider.
521
522## Report an error
523
524This page covers errors from the Claude API. For errors from other Claude Code components, see the relevant guide:
525
526* MCP server failed to connect or authenticate: [MCP](/en/mcp)
527* Hook script failed or blocked a tool: [Debug hooks](/en/hooks#debug-hooks)
528* Permission denied or filesystem errors during install: [Troubleshooting](/en/troubleshooting)
529
530If an error is not listed here or the suggested fix does not help:
531
532* Run `/feedback` inside Claude Code to send the transcript and a description to Anthropic. The command also offers to open a prefilled GitHub issue. Feedback is unavailable on Bedrock, Vertex AI, and Foundry deployments.
533* Run `/doctor` to check for local configuration problems
534* Check [status.claude.com](https://status.claude.com) for active incidents
535* Search [existing issues](https://github.com/anthropics/claude-code/issues) on GitHub