This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
from line 51
5151| `spend limit reached` / `spend limit unavailable` | [Usage limits](#spend-limit-reached) |
5252| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |
5353| `Couldn't save your login` | [Authentication](#couldnt-save-your-login) |
54| `Sign in again to take your previous account or API key off the config file.` | [Authentication](#sign-in-again-to-take-your-previous-account-or-api-key-off-the-config-file) |
55| `Your account or API key may still be in the config file. Run claude auth logout.` | [Authentication](#your-account-or-api-key-may-still-be-in-the-config-file) |
5456| `Authentication required · Sign in again to continue` | [Authentication](#not-logged-in) |
5557| `Could not resolve authentication method` | [Authentication](#could-not-resolve-authentication-method) |
5658| `Invalid API key` | [Authentication](#invalid-api-key) |
from line 80
7880| `Couldn't verify your organization's policy for remote control` | [Troubleshoot Remote Control](https://code.claude.com/docs/en/remote-control.md#couldnt-verify-your-organizations-policy-for-remote-control) |
7981| `Remote Control is disabled by your organization's policy` | [Troubleshoot Remote Control](https://code.claude.com/docs/en/remote-control.md#remote-control-is-disabled-by-your-organizations-policy) |
8082| `Remote Control was turned off by your organization's policy` | [Troubleshoot Remote Control](https://code.claude.com/docs/en/remote-control.md#remote-control-was-turned-off-by-your-organizations-policy) |
83| `Session failed: working folder not found:` | [Troubleshoot Remote Control](https://code.claude.com/docs/en/remote-control.md#working-folder-not-found) |
84| `The program file this Remote Control started from is gone` | [Troubleshoot Remote Control](https://code.claude.com/docs/en/remote-control.md#program-file-is-gone) |
85| `Session failed: spawn error:` followed by an `ENOENT` message | [Troubleshoot Remote Control](https://code.claude.com/docs/en/remote-control.md#program-file-is-gone) |
8186| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |
8287| `Failed to authenticate: OAuth token revoked` | [Authentication](#oauth-token-revoked-or-expired) |
8388| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Authentication](#oauth-token-revoked-or-expired) |
from line 166
161166| `Request too large for the API's 32MB request limit` | [Request errors](#request-too-large) |
162167| `Image was too large` | [Request errors](#image-was-too-large) |
163168| `API Error: an image in the conversation could not be processed and was removed` | [Request errors](#image-was-too-large) |
169| `An image in the conversation exceeds the dimension limit for many-image requests` | [Request errors](#image-was-too-large) |
164170| `Unable to resize image` | [Request errors](#unable-to-resize-image) |
165171| `Request rejected as unprocessable by the model` | [Request errors](#request-rejected-as-unprocessable-by-the-model) |
166172| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Request errors](#pdf-errors) |
from line 231
225231| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Command-line errors](#invalid-agents-configuration) |
226232| `Error: --agents file not found` | [Command-line errors](#invalid-agents-configuration) |
227233| `Error: Settings file exceeds the 2MiB limit` | [Command-line errors](#settings-file-exceeds-the-2mib-limit) |
234| `Configuration error in` | [Command-line errors](#configuration-error-in-claude-json) |
235| `Claude configuration file at <path> was empty and no backup holds anything: starting with defaults.` | [Command-line errors](#claude-configuration-file-was-empty) |
228236| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Command-line errors](#the-current-directory-no-longer-exists) |
229237| `Temp directory <dir> ... Refusing to use it` / `Claude Code's temporary directory <dir> could not be created` | [Command-line errors](#temp-directory-refused-or-cannot-be-created) |
230238| `ENOSPC: no space left on device, mkdir '<dir>'` | [Command-line errors](#temp-directory-refused-or-cannot-be-created) |
from line 338
330338| `cannot contain null bytes (\0)` | [Tool errors](#path-cannot-contain-null-bytes) |
331339| `Path contains null bytes` | [Tool errors](#path-cannot-contain-null-bytes) |
332340| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [Tool errors](#command-contains-an-invisible-character) |
341| `This call was not run. The command was approved before Claude Code restarted` | [Tool errors](#command-approved-before-a-restart-was-not-run) |
333342| `File is too large to read as an image (the limit is 128MB)` | [Tool errors](#file-is-too-large-to-read-as-an-image) |
334343| `Cannot read this as an image: <path> is a pipe or a device` | [Tool errors](#file-is-too-large-to-read-as-an-image) |
335344| `subagent_type is required: the general-purpose agent is not available in this session` | [Tool errors](#subagent-type-is-required) |
from line 425
416425| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Configuration warnings](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |
417426| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [Configuration warnings](#skill-or-command-name-refused) |
418427| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Configuration warnings](#workspace-has-not-been-trusted) |
428| `Make this change again later: <path> could not be updated, so it applies to this session only` | [Configuration warnings](#make-this-change-again-later) |
419429| `is a network path, which cannot be added as a working directory` | [Configuration warnings](#working-directory-is-a-network-path) |
420430| `Remote managed settings failed to load (<cause>)` | [Configuration warnings](#remote-managed-settings-failed-to-load) |
421431| `Your organization requires remote managed settings to load, but they could not be loaded` | [Enforce fail-closed startup](https://code.claude.com/docs/en/server-managed-settings.md#enforce-fail-closed-startup) |
from line 1045
10351045* Run `/login` to authenticate with your Claude subscription or Console account
10361046* If you expected an environment variable to authenticate you, confirm `ANTHROPIC_API_KEY` is set and exported in the shell where you launched `claude`
10371047* For CI or automation where interactive login is not possible, configure an [`apiKeyHelper`](https://code.claude.com/docs/en/settings-reference#apikeyhelper) script that fetches a key at startup
1048* If `claude -p` jobs exit with this message when someone signs in again to the same claude.ai account and organization, update Claude Code where that sign-in runs. Before v2.1.318, Claude Code removed the stored login during that sign-in, before saving the new one.
10381049* See [Authentication precedence](https://code.claude.com/docs/en/authentication.md#authentication-precedence) to understand which credential Claude Code uses when several are present
10391050
10401051If you are prompted to log in repeatedly, see [Not logged in or token expired](https://code.claude.com/docs/en/troubleshoot-install.md#not-logged-in-or-token-expired) for system clock checks and macOS credential-storage recovery steps.
from line 1456
14451456* On other platforms, run `/login` again
14461457* If the login still doesn't save, see [Not logged in or token expired](https://code.claude.com/docs/en/troubleshoot-install.md#not-logged-in-or-token-expired) for the keychain unlock command and other credential-storage recovery steps
14471458
1459### Sign in again to take your previous account or API key off the config file
1460
1461This warning after you sign in means any account you were signed in with before may still be stored in [`~/.claude.json`](https://code.claude.com/docs/en/claude-directory#ce-claude-json):
1462
1463```text theme={null}
1464Sign in again to take your previous account or API key off the config file.
1465```
1466
1467An API key may still be in `~/.claude.json` too if a Console login created one on Linux or Windows.
1468
1469**What to do:**
1470
1471* Run `claude auth login` in your shell to sign in again. Claude Code then retries the save that takes the replaced account or API key off the file.
1472
1473### Your account or API key may still be in the config file
1474
1475You ran `/logout` or `claude auth logout`, and Claude Code signed this process out but couldn't confirm that [`~/.claude.json`](https://code.claude.com/docs/en/claude-directory#ce-claude-json) no longer holds your account. Either the save didn't land, or the file couldn't be read back to check.
1476
1477```text theme={null}
1478Your account or API key may still be in the config file. Run claude auth logout.
1479```
1480
1481An API key may still be in `~/.claude.json` too if a Console login created one on Linux or Windows.
1482
1483**What to do:**
1484
1485* Run `claude auth logout` in your shell to try the save again. When the save goes through, the command prints `Successfully logged out from your Anthropic account.`
1486
14481487### Couldn't start the local listener that receives the browser sign-in
14491488
14501489Each of these messages from `/login`, `claude auth login`, or `claude setup-token` means Claude Code couldn't open the port on `127.0.0.1` where your browser returns the sign-in result.
from line 2463
24242463Image was too large. Double press esc to go back and try again with a smaller image.
24252464API Error: 400 ... image dimensions exceed max allowed size
24262465API Error: an image in the conversation could not be processed and was removed.
2466An image in the conversation exceeds the dimension limit for many-image requests (3000px). Run /compact to remove old images from context, or start a new session.
24272467```
24282468
24292469The `could not be processed and was removed` line means the API refused an image in the conversation, such as one over the size or dimension limits.
from line 2478
24382478
24392479* Resize the image before pasting. The API accepts images up to 8000 pixels on the longest edge for a single image, or 3000 pixels when more than 20 images are in context.
24402480* Take a tighter screenshot of the relevant region instead of the full screen
2481* For the `dimension limit for many-image requests` message, run `/compact` at the Claude Code prompt if the message names it, or start a new session with fewer images
24412482
2483The `dimension limit for many-image requests` message shows the pixel limit named in the API's error.
2484
24422485### Unable to resize image
24432486
24442487Claude Code couldn't downscale an attached image before sending it to the API.
from line 2502
24592502
24602503* If the message asks you to convert the image, convert it to PNG, JPEG, GIF, or WebP and attach it again. Claude Code can verify dimensions for these formats from the file header, without decoding the image.
24612504* If the message reports a dimension or size limit, resize or recompress the image below that limit before attaching.
2462* If the message names a cause, such as a CMYK JPEG, an animated WebP, or a possibly damaged file, re-save the image in the format the message suggests and attach it again.
2463
2464### Request rejected as unprocessable by the model
2465
2466The API refused the request as one the model can't process. The message is the API's own.
2467
2468```text theme={null}
2469API Error: 400 Request rejected as unprocessable by the model (too many or oversized images, or unsupported parameters)
2470```
2471
2472Claude Code can remove the oldest images and documents from a refused request and send it again. Before v2.1.290, Claude Code didn't remove images on this refusal, so a long session that accumulated hundreds of them could fail with this error on every turn.
2473
2474**What to do:**
2475
2476* If the message keeps appearing in a conversation with images or documents, remove them yourself. Press Esc twice to step back past the turns that added them, or run `/clear` to start fresh.
2477
2478### PDF errors
2479
2480The PDF you attached couldn't be processed. The messages are shown here in their non-interactive form; in an interactive session they instead prompt you to double press esc and try again.
2481
2482```text theme={null}
2483PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext).
2484PDF is password protected. Try using a CLI tool to extract or convert the PDF.
2485The PDF file was not valid. Try converting it to text first (e.g., pdftotext).
2486```
2487
2488**What to do:**
2489
2490* 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
2491* For protected or invalid PDFs, remove the password or re-export the file from its source application, then try again
2492
2493When Claude reads a page range from a PDF with the Read tool, the read can fail with a different message:
2494
2495```text theme={null}
2496pdftoppm is not installed. Install poppler-utils (e.g. `brew install poppler` or `apt-get install poppler-utils`) to enable PDF page rendering.
2497```
2498
2499Page-range reads render pages with `pdftoppm`. Install poppler-utils with the command the message gives, or on other platforms a poppler build that puts `pdftoppm` on your `PATH`. See [Read tool behavior](https://code.claude.com/docs/en/tools-reference.md#read-tool-behavior) for which PDFs are read by page range.
2500
2501### Extra inputs are not permitted
2502
2503The endpoint that received the request rejected one of the request's fields as an input it doesn't accept, and the endpoint's message names that field.
2504
2505```text theme={null}
2506API Error: 400 ... context_management: Extra inputs are not permitted
2507```
2508
2509Claude Code sends beta-only fields such as `context_management` and tool search's `defer_loading` alongside an `anthropic-beta` header that enables them. When a gateway forwards the body but drops the header, the API sees fields it doesn't recognize. When a gateway forwards an Anthropic-format body to an upstream with a different schema, that upstream rejects such fields. [Beta header and body field pairs](https://code.claude.com/docs/en/llm-gateway-protocol.md#beta-header-and-body-field-pairs) covers both cases.
2510
2511**What to do:**
2512
2513* If the message contains `context_management: Extra inputs are not permitted`, [update Claude Code](https://code.claude.com/docs/en/setup.md#update-claude-code) to v2.1.304 or later. After you update, Claude Code answers this rejection by sending the request once more without the field. Before v2.1.304, Claude Code didn't retry this rejection.
2514* If the message names `defer_loading` or `tool_reference`, [update Claude Code](https://code.claude.com/docs/en/setup.md#update-claude-code) to v2.1.305 or later. Claude Code then answers this rejection by [sending the request once more](htt
2505* If the message names a cause, such as a CMYK JPEG, an animated WebP, or a possibly damaged file, re-save the image in the format the message sugge
No line in this hunk matches that.