Fehlerreferenz
Schlagen Sie Claude Code-Laufzeitfehlermeldungen nach und erfahren Sie, was jede bedeutet und wie Sie sie beheben.
Diese Seite listet Laufzeitfehler auf, die Claude Code anzeigt, und wie Sie sich von jedem erholen können, sowie was Sie überprüfen sollten, wenn Antworten ohne Fehler seltsam wirken. Für Installationsfehler wie command not found oder TLS-Fehler während des Setups siehe Troubleshoot installation and login.
Mit Ausnahme von Wrapper and IDE errors, die das startende Programm ausgibt und nicht Claude Code selbst, gelten diese Fehler und Wiederherstellungsbefehle über die CLI, die Desktop-App und Cloud-Sitzungen, da alle drei die gleiche Claude Code CLI verwenden. Für andere oberflächenspezifische Probleme siehe den Abschnitt zur Fehlerbehebung auf der Seite dieser Oberfläche.
Claude Code ruft die Claude API für Modellantworten auf, daher werden die meisten Laufzeitfehler einem zugrunde liegenden API-Fehlercode zugeordnet. Diese Seite behandelt, was jeder Fehler in Claude Code bedeutet und wie Sie sich davon erholen. Für die rohen HTTP-Statuscode-Definitionen siehe die Claude Platform error reference.
Fehler finden
Ordnen Sie die angezeigte Meldung einem Abschnitt unten zu.
| Meldung | Abschnitt |
|---|---|
API Error: 500 Internal server error |
Serverfehler |
API Error: Repeated 529 Overloaded errors |
Serverfehler |
Opus is experiencing high load / Fable is experiencing high load |
Serverfehler |
Request timed out |
Serverfehler, oder Netzwerk, wenn die Meldung Ihre Internetverbindung erwähnt |
API Error: No response from API |
Serverfehler |
Server error mid-response. The response above may be incomplete. |
Serverfehler |
Connection lost mid-response / Your computer went to sleep mid-response / The response stopped arriving |
Serverfehler |
Connection closed mid-response / Response stalled mid-stream |
Serverfehler |
Part of the response never arrived / The response stream was malformed |
Serverfehler |
API Error: Content block not found / API Error: Content block already closed / API Error: Stream event unreadable |
Serverfehler |
Connection lost before a response was produced / Your computer went to sleep before a response was produced / The response stalled before a response was produced |
Automatische Wiederholungen |
Connection closed while thinking / Response stalled while thinking |
Automatische Wiederholungen |
Connection lost while your computer was asleep |
Automatische Wiederholungen |
<model> is temporarily unavailable, so auto mode cannot determine the safety of... |
Serverfehler |
Auto mode could not evaluate this action and is blocking it for safety |
Serverfehler |
Auto mode classifier transcript exceeded context window |
Serverfehler |
Agent aborted: auto mode classifier request refused by the safety safeguard |
Serverfehler |
The server-side auto mode classifier gave no verdict |
Serverfehler |
Auto mode is unavailable — the server returned no safety verdict for the last 10 responses |
Serverfehler |
Agent terminated early due to an API error |
Serverfehler |
You've hit your session limit / You've hit your weekly limit / You've hit your Opus limit / You've hit your Sonnet limit |
Nutzungslimits |
Usage credits required for 1M context |
Nutzungslimits |
the prompt to confirm went unanswered — nothing was sent |
Nutzungslimits |
Server is temporarily limiting requests |
Nutzungslimits |
Request rejected (429) |
Nutzungslimits |
Credit balance is too low |
Nutzungslimits |
You've hit your monthly spend limit / You've hit your individual spend limit / You've hit your org's monthly spend limit / You've hit your channel's monthly spend limit / You've hit your team's shared budget / You've hit your individual usage limit |
Nutzungslimits |
Could not update your spend limit |
Nutzungslimits |
spend limit reached / spend limit unavailable |
Nutzungslimits |
Not logged in · Please run /login |
Authentifizierung |
Couldn't save your login |
Authentifizierung |
Authentication required · Sign in again to continue |
Authentifizierung |
Could not resolve authentication method |
Authentifizierung |
Invalid API key |
Authentifizierung |
Your apiKeyHelper script is failing |
Authentifizierung |
Invalid auth token · Fix external auth token |
Authentifizierung |
Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable |
Authentifizierung |
Invalid request header from the environment · Fix the environment variable |
Authentifizierung |
This organization has been disabled |
Authentifizierung |
Your organization has disabled API key authentication |
Authentifizierung |
Your organization has disabled Claude subscription access |
Authentifizierung |
Routines are disabled by your organization's policy |
Authentifizierung |
Remote Control is only available when using Claude via api.anthropic.com |
Authentifizierung |
OAuth token refresh failed — run /login to re-authenticate |
Authentifizierung |
JWT refresh failed: no OAuth token — run /login |
Authentifizierung |
Claude.ai login expired |
Authentifizierung |
Claude.ai login was rejected — run /login, then /remote-control |
Authentifizierung |
OAuth token unavailable — run /login to restore Remote Control |
Authentifizierung |
Signed out of Claude — run /login, then /remote-control |
Authentifizierung |
signed-in claude.ai account or organization changed on this machine |
Authentifizierung |
Remote Control stopped — the app running this session is now signed in to a different Claude account |
Authentifizierung |
Remote Control stopped — the app running this session is signed out of Claude |
Authentifizierung |
Couldn't verify your organization's policy for remote control |
Fehlerbehebung für Remote Control |
OAuth token revoked / OAuth token has expired |
Authentifizierung |
API Error: 401 Invalid authentication credentials |
Authentifizierung |
Login expired · Please run /login |
Authentifizierung |
Failed to start OAuth callback server |
Authentifizierung |
Claude login not accepted · Run /login, then try again |
Authentifizierung |
Artifacts need a claude.ai login |
Authentifizierung |
Not signed in to the Cloud gateway — run /login. |
Authentifizierung |
Administrator policy requires a Cloud gateway sign-in on this machine |
Authentifizierung |
Failed to authenticate: OAuth session expired and could not be refreshed |
Authentifizierung |
Could not refresh your login because another Claude Code process is refreshing it |
Authentifizierung |
Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh |
Authentifizierung |
Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted |
Authentifizierung |
Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted |
Authentifizierung |
Anthropic profile login expired · Re-authenticate your Anthropic profile |
Authentifizierung |
Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile |
Authentifizierung |
does not meet scope requirement user:profile |
Authentifizierung |
claude.ai rejected the session token / session token rejected |
Authentifizierung |
MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate) |
Authentifizierung |
rejected the credential from its headersHelper / rejected the Authorization header in its config |
Authentifizierung |
MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate |
Authentifizierung |
MCP server "<name>" requires re-authorization (token expired) |
Authentifizierung |
This server's URL is missing or not a valid URL, so sign-in can't start |
Authentifizierung |
Issuer mismatch in authorization response (RFC 9207) |
Authentifizierung |
Refusing to send credentials to non-https token endpoint / <short-name> from the MCP SDK for <server-url> |
Authentifizierung |
Cloud gateway session expired — run /login to reconnect. |
Authentifizierung |
Cloud gateway <url> no longer accepts this session |
Authentifizierung |
Sign-in timed out while waiting for you to continue. Try again. |
Authentifizierung |
AWS credentials expired or invalid |
Authentifizierung |
AWS authentication failed |
Authentifizierung |
Google Cloud credentials expired or invalid |
Authentifizierung |
Google Cloud authentication failed |
Authentifizierung |
Microsoft Foundry authentication failed |
Authentifizierung |
Gateway refused the request |
Authentifizierung |
Could not load AWS credentials / Could not load Google Cloud credentials |
Authentifizierung |
AWS default-chain credential resolve timed out |
Authentifizierung |
Timed out after 60s waiting for AWS |
Authentifizierung |
A request to AWS timed out. Check your network and proxy settings, then try again. |
Authentifizierung |
Could not load the default credentials auf Google Clouds Agent Platform |
Authentifizierung |
Unable to connect to API |
Netzwerk |
Connection refused — / Can't reach the API server — / No internet route — / Couldn't connect through your proxy / Connection dropped, jeweils mit einem Fehlercode in Klammern |
Netzwerk |
Unable to connect to Anthropic services während des Setups |
Netzwerk |
Socket is closed |
Netzwerk |
Waiting for API response · will retry in |
Automatische Wiederholungen, oder Netzwerk, wenn es anhält |
API returned an empty or malformed response |
Netzwerk |
Streaming response ended before any complete data was received |
Netzwerk |
Bedrock streaming response has content-type "..."; expected "application/vnd.amazon.eventstream" |
Netzwerk |
SSL certificate verification failed |
Netzwerk |
SSL certificate error (...) während des Logins oder Starts |
Netzwerk |
unable to get local issuer certificate |
Netzwerk |
403 mit x-deny-reason: host_not_allowed in einer Cloud- oder Routine-Sitzung |
Netzwerk |
proxy refused the connection |
Netzwerk |
403 mit This GraphQL query is not enabled for this session in einer Cloud-Sitzung |
GitHub-Proxy |
The cloud environments service returned an empty response / The cloud environments service returned a response in an unexpected format |
Netzwerk |
Couldn't reconnect to your Remote Control session |
Netzwerk |
N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed. |
Netzwerk |
Couldn't share the transcript. |
Netzwerk |
Couldn't send feedback |
Netzwerk |
Prompt is too long / Input is too long for requested model |
Anfragefehler |
Prompt is too long · automatic compaction failed: |
Anfragefehler |
Prompt is too long · this conversation is a single exchange / A single-exchange conversation cannot be compacted |
Anfragefehler |
Context limit reached · /compact or /clear to continue |
Anfragefehler |
Context limit reached · /clear to continue |
Anfragefehler |
capability_rejected: prompt_too_long auf einer Claude-Apps-Gateway-Sitzung |
Anfragefehler |
upstream rejected the request / request too large for this upstream auf einer Claude-Apps-Gateway-Sitzung |
Upstream-Fehlermeldungen |
upstream rate limit exceeded auf einer Claude-Apps-Gateway-Sitzung |
Upstream-Fehlermeldungen |
all upstreams failed (N attempted) auf einer Claude-Apps-Gateway-Sitzung |
Upstream-Fehlermeldungen |
Claude Code may not be enabled for your organization nach einer Claude-Apps-Gateway-Anmeldung |
Fehlerbehebung für Claude-Apps-Gateway |
Context exceeds the ...-token limit by ... tokens in /context-Ausgabe |
Anfragefehler |
Request too large |
Anfragefehler |
Request too large for the API's 32MB request limit |
Anfragefehler |
Image was too large |
Anfragefehler |
Unable to resize image |
Anfragefehler |
PDF too large / PDF is password protected / pdftoppm is not installed |
Anfragefehler |
Extra inputs are not permitted |
Anfragefehler |
API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid / Property keys should match pattern |
Anfragefehler |
tool_use.name: String should have at most 200 characters |
Anfragefehler |
There's an issue with the selected model |
Anfragefehler |
Model ... is not a recognized model id |
Anfragefehler |
Model ... not found |
Anfragefehler |
Couldn't confirm model ... with the API |
Anfragefehler |
API error: ... · model not changed |
Anfragefehler |
Claude Opus is not available with the Claude Pro plan |
Anfragefehler |
Claude Code ... does not support this model; version ... or newer is required |
Anfragefehler |
Claude Code ... is older than the minimum version required by your organization's policy |
Anfragefehler |
Model ... is restricted by your organization's settings |
Anfragefehler |
Model ... is not available. Your organization restricts model selection. |
Anfragefehler |
Can't switch to the default model |
Anfragefehler |
Model switch ... blocked by a PreModelSwitch hook |
Anfragefehler |
couldn't save it as your default / couldn't confirm it was saved as your default |
Anfragefehler |
thinking.type.enabled is not supported for this model |
Anfragefehler |
Effort '<level>' isn't available with thinking turned off on this model |
Anfragefehler |
effort '<level>' is not supported when thinking is disabled |
Anfragefehler |
max_tokens must be greater than thinking.budget_tokens |
Anfragefehler |
API Error: 400 due to tool use concurrency issues |
Anfragefehler |
API Error: 400 orphaned tool_result in conversation history |
Anfragefehler |
API Error: 400 duplicate tool_use ID in conversation history |
Anfragefehler |
Invalid data in redacted_thinking block |
Anfragefehler |
[Unsupported tool content removed] |
Anfragefehler |
role 'system' must precede an 'assistant' message |
Anfragefehler |
Invalid encrypted_content in search_result block / Invalid encrypted_index in text block / Failed to decrypt web search result content |
Anfragefehler |
Invalid encrypted_stdout in encrypted_code_execution_result block |
Anfragefehler |
server_tool_use.name: Input should be auf jedem Turn einer fortgesetzten Sitzung |
Anfragefehler |
<model> can't help with this. Start a new session to continue |
Anfragefehler |
Claude Code is unable to respond to this request, which appears to violate our Usage Policy |
Anfragefehler |
<model>'s safeguards flagged this message |
Anfragefehler |
<model>'s safeguards flagged this session |
Anfragefehler |
<model> has safety measures that flagged this message for a cybersecurity topic |
Anfragefehler |
Installation was killed before it could finish (exit code 137) |
Installationsfehler |
The connection dropped while downloading the update |
Installationsfehler |
Download timed out: exceeded the total deadline |
Installationsfehler |
--bg and --print conflict |
Befehlszeilenfehler |
Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one. |
Befehlszeilenfehler |
Cloud sessions cannot be created from a --restricted session |
Befehlszeilenfehler |
Cloud sessions are disabled by your organization's policy |
Befehlszeilenfehler |
Couldn't verify your organization's policy for cloud sessions |
Befehlszeilenfehler |
Error: --json-schema is not a valid JSON Schema |
Befehlszeilenfehler |
Error: Invalid --agents configuration: |
Befehlszeilenfehler |
Error: --agents takes a JSON object, or a file path only with --print (-p) |
Befehlszeilenfehler |
Error: --agents file not found |
Befehlszeilenfehler |
Error: Settings file exceeds the 2MiB limit |
Befehlszeilenfehler |
The current directory no longer exists (it was deleted or moved) / Can't read the current directory |
Befehlszeilenfehler |
Temp directory <dir> ... Refusing to use it / ENOSPC: no space left on device, mkdir '<dir>' |
Befehlszeilenfehler |
couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded |
Befehlszeilenfehler |
Error: Workspace not trusted beim Starten von Remote Control |
Befehlszeilenfehler |
`<flag>` before `remote-control` is not carried over to the sessions Remote Control starts |
Befehlszeilenfehler |
`claude import` is not yet available in this build |
Befehlszeilenfehler |
Could not read Claude Code config |
Befehlszeilenfehler |
Could not import <server>: <reason> |
Befehlszeilenfehler |
Cannot add MCP server to scope: managed |
Befehlszeilenfehler |
is Anthropic-hosted and doesn't support local OAuth |
Befehlszeilenfehler |
Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes |
Befehlszeilenfehler |
MCP server "<name>" was not saved to / was not removed from |
Befehlszeilenfehler |
MCP server "<name>" may not have been saved / may not have been removed |
Befehlszeilenfehler |
Server rejected the Authorization header minted by the configured headersHelper |
Befehlszeilenfehler |
Error: MCP tool <name> (passed via --permission-prompt-tool) not found |
Befehlszeilenfehler |
OAuth callback port <port> is already in use — another process may be holding it |
Befehlszeilenfehler |
No available ports for OAuth redirect |
Befehlszeilenfehler |
Shell command failed for pattern "...", von /security-review oder einem Skill, der dynamischen Kontext injiziert |
Befehlszeilenfehler |
Shell command permission check failed for pattern "...", von einem Skill, der dynamischen Kontext injiziert |
Befehlszeilenfehler |
Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found |
Befehlszeilenfehler |
Input must be provided either through stdin or as a prompt argument when using --print |
Befehlszeilenfehler |
Error: Input contained only whitespace |
Befehlszeilenfehler |
Blank prompt — the message was only whitespace, so nothing was sent to the model. |
Befehlszeilenfehler |
Error: stream-json input carried over 256M characters with no newline |
Befehlszeilenfehler |
Unknown command: /<name>, mit oder ohne einen Did you mean-Vorschlag |
Befehlszeilenfehler |
Diff is too large for ultrareview / PR #<N> is too large for ultrareview |
Befehlszeilenfehler |
Could not find merge-base with <branch> |
Befehlszeilenfehler |
Your checkout has no branches (detached HEAD only) |
Befehlszeilenfehler |
Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected |
Befehlszeilenfehler |
Your connected GitHub account can't see <owner>/<repo> |
Befehlszeilenfehler |
The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead |
Befehlszeilenfehler |
Not uploading this working tree mit the upload cannot follow that setting |
Befehlszeilenfehler |
GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud |
Befehlszeilenfehler |
Single sign-on authorization needed |
Befehlszeilenfehler |
Failed to resume the conversation |
Befehlszeilenfehler |
No conversation found with session ID: <session-id> |
Befehlszeilenfehler |
Windows reported an error (EBADF) when Claude Code read this session's transcript file |
Befehlszeilenfehler |
Cannot switch renderers in this session |
Befehlszeilenfehler |
Cannot switch renderers while work is running in the background |
Befehlszeilenfehler |
Couldn't open Claude Desktop |
Befehlszeilenfehler |
Failed to open Claude Desktop. Please try opening it manually. |
Befehlszeilenfehler |
Couldn't read your Zed keymap / Couldn't back up your Zed keymap / Couldn't update your Zed keymap |
Befehlszeilenfehler |
Your Zed keymap isn't a readable list of keybindings |
Befehlszeilenfehler |
Skill usage reports are not available on this connection. |
Befehlszeilenfehler |
Custom output styles can't be selected over Remote Control or from a relayed message |
Befehlszeilenfehler |
Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load |
Befehlszeilenfehler |
`plugin eval` is currently in early access / `plugin eval` is currently unavailable |
Plugin-Fehler |
Marketplace "<name>" is registered from an untrusted source |
Plugin-Fehler |
Claude Code refuses the marketplace name "<name>" |
Plugin-Fehler |
Marketplace name impersonates an official Anthropic/Claude marketplace |
Plugin-Fehler |
Marketplace "<name>" is already added from a different source |
Plugin-Fehler |
"<name>" is another spelling of "<reserved>", a reserved marketplace name |
Plugin-Fehler |
references ${user_config.*} in a shell-form command |
Plugin-Fehler |
Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command |
Plugin-Fehler |
headersHelper for MCP server '<name>' references ${user_config.*} |
Plugin-Fehler |
Plugin archive integrity check failed |
Plugin-Fehler |
An npm plugin source must name a registry package |
Plugin-Fehlerbehebung |
path escapes plugin directory |
Plugin-Fehler |
path could not be checked |
Plugin-Fehler |
its marketplace entry path does not stay inside the marketplace directory |
Plugin-Fehler |
Plugin source path refused |
Plugin-Fehler |
Failed to load marketplace configuration |
Plugin-Fehler |
Marketplace configuration file is corrupted |
Plugin-Fehler |
Plugin "<name>@synced" is required by your organization and can't be disabled here |
Plugin-Fehler |
"<plugin>" was not uninstalled: it is still switched on in <file> |
Plugin-Fehler |
"<plugin>" was not uninstalled: <file> is there and could not be read |
Plugin-Fehler |
Plugin "<plugin>" was not uninstalled: installed_plugins.json |
Plugin-Fehlerbehebung |
would be spawned with zero tools — refusing |
Werkzeugfehler |
File is covered by a Read deny rule in your permission settings |
Werkzeugfehler |
cannot contain null bytes (\0) |
Werkzeugfehler |
Path contains null bytes |
Werkzeugfehler |
subagent_type is required: the general-purpose agent is not available in this session |
Werkzeugfehler |
Error: this write left the memory index at MEMORY.md at ..., over its ... read limit |
Werkzeugfehler |
pkill: refusing to run |
Werkzeugfehler |
Failed to write to <name>'s inbox — nothing was sent |
Werkzeugfehler |
Failed to write the plan approval request to the lead's inbox — plan not submitted |
Werkzeugfehler |
Its agent definition was not restored: the folder its definition file came from is not trusted |
Werkzeugfehler |
Message too large for cross-session delivery |
Werkzeugfehler |
Too many messages to this session just now |
Werkzeugfehler |
Cross-session message was dropped at the recipient session's inbox |
Werkzeugfehler |
Refusing to send: reply target is a symlink / Refusing to send: cannot vet reply target |
Werkzeugfehler |
Refusing to read <path>: its symlink resolution changed after permission was checked (<reason>) / Refusing to search <path>: its symlink resolution changed after permission was checked |
Werkzeugfehler |
Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked / Refusing to write <path>: it is a symbolic link. Write to the link's target path instead |
Werkzeugfehler |
Refusing to write through symlink: <path> / Refusing to write into symlinked directory: <path> |
Werkzeugfehler |
Refusing to write <path>: where it leads on disk could not be determined / Refusing to read <path>: where it leads on disk could not be determined |
Werkzeugfehler |
Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared / Refusing to search <path>: it could not be opened |
Werkzeugfehler |
its permission check expired before it ran (too many concurrent file operations) / ripgrep was found only by name on PATH |
Werkzeugfehler |
task output swap refused (tasks dir moved or linked) |
Werkzeugfehler |
Command killed: its output file was replaced or could no longer be verified |
Werkzeugfehler |
Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT) |
Werkzeugfehler |
The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC) |
Werkzeugfehler |
Command output was lost: the temp filesystem at <dir> is full / is out of inodes |
Werkzeugfehler |
the source file is not valid UTF-8 text / the source file is not valid UTF-16 text |
Werkzeugfehler |
the source file has the replacement character U+FFFD |
Werkzeugfehler |
Reading a local file from outside this session's connected folders, or through a link, needs the approval card |
Werkzeugfehler |
cannot read file_path (...) — the file could not be examined, and no one can answer the approval card |
Werkzeugfehler |
WebFetch cannot fetch localhost or other hostnames without a dot |
Werkzeugfehler |
The safety check for domain ... is rate-limited |
Werkzeugfehler |
The safety check for domain ... is temporarily rate-limited |
Werkzeugfehler |
Unable to verify if domain ... is safe to fetch |
Werkzeugfehler |
Can't open MCP settings while no terminal is attached to this background session |
Fehler in Hintergrund-Sitzungen |
Can't open MCP settings in a background session |
Fehler in Hintergrund-Sitzungen |
blocked because the path is spelled in a form that cannot be safely resolved |
Fehler in Hintergrund-Sitzungen |
blocked because the path is network-shaped |
Fehler in Hintergrund-Sitzungen |
is isolated in the worktree <path>, but this command <reason>. Refusing to run it |
Fehler in Hintergrund-Sitzungen |
too complex to verify that it stays inside the worktree |
Fehler in Hintergrund-Sitzungen |
This session has no saved transcript |
Fehler in Hintergrund-Sitzungen |
Can't open — this session is running in another terminal |
Fehler in Hintergrund-Sitzungen |
This conversation is already open in another running Claude session |
Fehler in Hintergrund-Sitzungen |
This session's saved conversation is no longer on disk |
Fehler in Hintergrund-Sitzungen |
kept <id> — its worktree is still at <path> |
Fehler in Hintergrund-Sitzungen |
kept <id> — <n> unpushed commits on <branch> |
Fehler in Hintergrund-Sitzungen |
kept <id> — worktree has commits that are not pushed anywhere |
Fehler in Hintergrund-Sitzungen |
terminal host process died — press Enter to restart / This session's terminal host process died |
Fehler in Hintergrund-Sitzungen |
Session isn't responding / Press enter again to restart this session — it isn't responding |
Fehler in Hintergrund-Sitzungen |
Session <id> was stopped while the respawn was in flight |
Fehler in Hintergrund-Sitzungen |
This session was running agent '<name>', which is no longer available |
Fehler in Hintergrund-Sitzungen |
CLAUDE_CODE_PROCESS_WRAPPER: launcher ... |
Fehler in Hintergrund-Sitzungen |
EUNKNOWN: unknown error, uv_spawn |
Fehler in Hintergrund-Sitzungen |
EACCES: permission denied, posix_spawn |
Fehler in Hintergrund-Sitzungen |
exited before it became reachable |
Fehler in Hintergrund-Sitzungen |
Couldn't start a background session (working directory no longer exists or is not accessible: ...) |
Fehler in Hintergrund-Sitzungen |
Workspace not trusted. beim Starten oder Neustarten einer Hintergrund-Sitzung |
Fehler in Hintergrund-Sitzungen |
Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...) |
Fehler in Hintergrund-Sitzungen |
Claude Code process exited with code N |
Wrapper- und IDE-Fehler |
The connection to Claude Code ended before this message completed |
Wrapper- und IDE-Fehler |
Could not locate the Claude CLI on PATH |
Wrapper- und IDE-Fehler |
Restored the code, but skipped N files |
Rewind-Warnungen und Fehler |
No files were restored: N files failed (backup missing, or the file could not be updated) |
Rewind-Warnungen und Fehler |
Transcript writes are failing (...) |
Warnungen zum Speichern von Sitzungen |
Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set |
Warnungen zum Speichern von Sitzungen |
Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker |
Warnungen zum Speichern von Sitzungen |
Claude Code's fullscreen renderer didn't finish starting last time on this machine / Claude Code's fullscreen renderer has repeatedly failed to start on this machine |
Vollbildrendering |
Claude Code exited after an unrecoverable interface error (...) |
Konfigurationswarnungen |
Agent descriptions are over the 15.0k-token limit |
Konfigurationswarnungen |
Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account |
Konfigurationswarnungen |
Ignoring N permissions.allow entries from ... this workspace has not been trusted |
Konfigurationswarnungen |
is a network path, which cannot be added as a working directory |
Konfigurationswarnungen |
Remote managed settings failed to load (<cause>) |
Konfigurationswarnungen |
Managed settings were not approved; exiting without applying them. |
Konfigurationswarnungen |
Claude Code can't start: your organization's managed settings block the default model / Claude Code can't start: your organization allows only the models listed in "availableModels" |
Konfigurationswarnungen |
Your organization's managed settings allow Claude Code to use: <providers> |
Konfigurationswarnungen |
Your organization's managed settings allow Claude Code to use no API provider at all |
Konfigurationswarnungen |
MCP server <name> is blocked by enterprise managed policy |
Konfigurationswarnungen |
Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it. |
Konfigurationswarnungen |
Managed settings drop-in directory could not be read |
Konfigurationswarnungen |
Unable to read managed policy settings |
Konfigurationswarnungen |
otelHeadersHelper failed; telemetry is not being exported. See /status: ... |
Konfigurationswarnungen |
"crossSessionInbound" must be one of "accept", "hold", "refuse" |
Konfigurationswarnungen |
headersHelper not run — this workspace has no persisted trust |
Konfigurationswarnungen |
Invalid permission rule "..." was skipped: Malformed Tool(content) rule |
Konfigurationswarnungen |
... is not matched by file permission checks |
Konfigurationswarnungen |
... has a wildcard before the rest of the command |
Konfigurationswarnungen |
CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced |
Konfigurationswarnungen |
[claude-code:unrecognized_model] |
Konfigurationswarnungen |
Stale sandbox mask files left by a killed session |
Konfigurationswarnungen |
| Antworten scheinen von geringerer Qualität als üblich | Antwortqualität |
Automatische Wiederholungen
Claude Code wiederholt vorübergehende Fehler bis zu 10-mal mit exponentiellem Backoff, bevor dir ein Fehler angezeigt wird. Es wiederholt nicht immer einen Fehler, der während einer unvollständigen Antwort von Claude auftritt. Wenn du einen der Fehler auf dieser Seite siehst, hat Claude Code bereits alle anwendbaren Wiederholungen für diesen Fehler durchgeführt.
Claude Code wiederholt diese Fehler:
- Serverfehler, überladene Antworten und Request-Timeouts, die ankommen, bevor Claude mit dem Streamen seiner Antwort begonnen hat.
- Unterbrochene Verbindungen. Wenn eine Verbindung während eines Requests unterbrochen wird, bevor Claude einen Teil seiner Antwort abgeschlossen hat, einschließlich seines Denkens, sendet Claude Code den Request mit demselben Backoff erneut aus und die Runde wird fortgesetzt, auch wenn bereits etwas Text zu streamen begonnen hatte. Wenn die Verbindung unterbrochen wird, nachdem Claude das Denken abgeschlossen hat, aber bevor es einen Text oder Tool-Aufruf gestartet hat, sendet Claude Code den Request stattdessen bis zu zweimal schnell hintereinander erneut aus und beendet die Runde mit
Connection lost before a response was produced, wenn die Verbindung an diesem Punkt weiterhin unterbrochen wird. - Eine Verbindung, die Claude Code als unterbrochen erkannt hat, weil dein Computer während eines Requests in den Ruhezustand versetzt wurde. Claude Code zählt sie als unterbrochene Verbindung nach den obigen Regeln; sobald das Wiederholungs-Label den spezifischen Grund benennt, lautet es
Connection lost while your computer was asleep, und wenn die Runde endet, nachdem Claude das Denken abgeschlossen hat, aber bevor ein Text oder Tool-Aufruf erfolgt, lautet die NachrichtYour computer went to sleep before a response was produced. - Ein stagnierender Antwort-Stream, wenn die Antwort-Header angekommen sind, aber keiner von Claudes Antwort angekommen ist, oder wenn Claude das Denken abgeschlossen hat, aber keinen Text oder Tool-Aufruf gestartet hat: Claude Code bricht die stagnierende Verbindung ab und sendet den Request höchstens einmal erneut aus, außerhalb des oben genannten 10-Versuch-Budgets. Wenn der Response ein zweites Mal stagniert, nachdem Claude das Denken abgeschlossen hat, aber bevor ein Text oder Tool-Aufruf erfolgt, beendet Claude Code die Runde mit
The response stalled before a response was produced. - Ein Streaming-Request, auf den die API nie mit Response-Headern antwortet, auf einer Verbindung, auf der die first-byte deadline läuft: Claude Code bricht ihn bei der Deadline ab und sendet ihn höchstens einmal pro Model-Request erneut aus, innerhalb des Wiederholungs-Budgets, und beendet dann die Runde mit No response from API, wenn dieser Versuch auch unbeantwortet bleibt. Bei anderen Verbindungen wartet der Request auf
API_TIMEOUT_MS. Wenn duCLAUDE_CODE_RETRY_WATCHDOGsetzt, gilt die Einfach-Wiederholung-Obergrenze nicht. - Temporäre 429-Drosselungen, aber nicht die Ausgabenlimit-
429eines Gateways, die keine Drosselung ist; siehe Spend limit reached.- Wenn du mit einem claude.ai-Abonnement angemeldet bist, umfasst dies 429-Drosselungen, die die Quota-Header deines Plans nicht enthalten. Vor v2.1.199 wiederholte Claude Code diese Drosselungen nur für API-Schlüssel- und Enterprise-Anmeldungen.
- Ein Request, der abgelehnt wird, weil die Eingabe plus
max_tokensdas Kontext-Limit überschreitet. Das Erneut-Senden unverändert würde auf die gleiche Weise fehlschlagen, daher wiederholt Claude Code mit reduziertemmax_tokensund stoppt die Wiederholung und komprimiert stattdessen in zwei Fällen:- Wenn keine Reduktion passt, zum Beispiel wenn das Gespräch selbst das Kontext-Fenster fast ausfüllt.
- Wenn eine Wiederholung
max_tokensnicht weiter verringern kann. Vor v2.1.218 konnte Claude Code einen reduzierten Request erneut senden, der immer noch nicht passte, z. B. wenn das Extended-Thinking-Budget das verbleibende Kontext überschritt, bis das Wiederholungs-Budget aufgebraucht war.
- Ein abgelaufenes oder fehlendes Google Cloud-Credential auf Google Cloud's Agent Platform, oder AWS-Credentials, die auf deinem Computer nicht geladen werden können. Claude Code verwirft seine zwischengespeicherten Credentials und wiederholt bis zu zweimal, dann meldet es den Fehler, damit du dich sofort erneut authentifizieren kannst, wie unter Could not load AWS or Google Cloud credentials beschrieben. Vor v2.1.228 wiederholte Claude Code ein fehlgeschlagenes Google Cloud-Credential durch das volle Wiederholungs-Budget, bevor der Fehler angezeigt wurde.
- Ein
401oder403von der Anthropic API, direkt oder über ein LLM gateway, während einapiKeyHelper-Skript die Credential liefert. Claude Code führt das Skript erneut aus und wiederholt mit seiner frischen Ausgabe, innerhalb des vollen Wiederholungs-Budgets. Wenn das Skript selbst beim erneuten Ausführen fehlschlägt, zeigt Claude Code stattdessen Your apiKeyHelper script is failing an.
Vor v2.1.227 lautete Connection lost before a response was produced Connection closed while thinking, before producing a response und The response stalled before a response was produced lautete Response stalled while thinking, before producing a response.
Claude Code wiederholt diese Fehler nicht:
- Ein TLS-Zertifikatvalidierungsfehler, z. B. ein TLS-inspizierender Proxy, ein fehlendes
NODE_EXTRA_CA_CERTS-Bundle oder ein abgelaufenes Zertifikat. Claude Code meldet den Fehler beim ersten Versuch, damit du die Zertifikat-Einrichtung sofort beheben kannst; siehe SSL certificate errors. Claude Code wiederholt immer noch vorübergehende TLS-Bedingungen wie ein Handshake-Timeout. Vor v2.1.199 wiederholte Claude Code Zertifikatfehler durch das volle Wiederholungs-Budget, bevor der Fehler angezeigt wurde. - Ein Serverfehler, eine unterbrochene Verbindung oder ein stagnierender Stream, der ankommt, nachdem Claude einen Textblock oder einen Tool-Aufruf abgeschlossen hat, oder einen gestartet hat, nachdem es das Denken beendet hat, aber bevor es die Antwort beendet. Claude Code führt den Request nicht erneut aus, da dies die gleichen Tool-Aufrufe zweimal ausführen könnte. Es behält das bei, was Claude abgeschlossen hat, führt alle Tool-Aufrufe aus, die Claude beendet hat, und setzt die Runde von ihren Ergebnissen fort. Für das, was du in einer interaktiven Sitzung und in einer nicht-interaktiven siehst, lies The response above may be incomplete. Vor v2.1.199 verwarf Claude Code die teilweise Ausgabe und meldete die ganze Runde als Fehler, wenn ein Serverfehler während des Streams ankam.
- Ein Fehler, der ankommt, nachdem Claude die Antwort beendet hat: Es muss nichts wiederholt werden, daher behält Claude Code die vollständige Antwort und beendet die Runde normal.
- Eine Amazon Bedrock Streaming-Antwort mit unerwartetem Content-Type, da das Gateway oder der Proxy, der die Antwort umschreibt, die Wiederholung auf die gleiche Weise umschreiben würde. Erfordert Claude Code v2.1.208 oder später.
- Ein nicht-Streaming-Wiederholung eines fehlgeschlagenen Streaming-Requests, der einen Erfolgsstatus erhält, aber keine Claude API-Nachricht im Body. Claude Code beendet die Runde mit diesem Fehler.
- Ein Request, den die Richtlinienprüfung deiner Organisation abgelehnt hat, die sich als
API Error:-Zeile mit der Ablehnungsnachricht darstellt. Die Administratoren deiner Organisation richten die Prüfung mit Inference hooks ein, einer Claude Enterprise-Funktion, und die Nachricht endet mit den Anweisungen, die sie konfiguriert haben, oder teilt dir standardmäßig mit, sie zu kontaktieren. Claude Code sendet den abgelehnten Request nicht erneut an das gleiche Modell oder an ein fallback model, da die Ablehnung den Inhalt des Requests betrifft, nicht das Modell. Vor v2.1.239 konnte Claude Code einen abgelehnten Request erneut senden, ohne Streaming oder auf einem konfigurierten Fallback-Modell, bevor dir die Ablehnung angezeigt wurde.
Was du siehst, während Claude Code wiederholt oder wartet
Während der Wiederholung zeigt der Spinner einen Retrying in Ns · attempt x/y-Countdown nach einem Fehler-Label. Das Label benennt den spezifischen Grund vom ersten Versuch für Fehler, auf die du sofort reagieren kannst: Das Netzwerk ist ausgefallen, ein TLS-Handshake ist fehlgeschlagen, oder du hast ein Rate-Limit erreicht. Für andere Fehler lautet es zunächst API error. Ab v2.1.198 wechselt es zum spezifischen Grund vom dritten Versuch, oder beim letzten Versuch, wenn CLAUDE_CODE_MAX_RETRIES weniger als drei erlaubt; frühere Versionen wechseln nur beim letzten Versuch.
Ab v2.1.198 wird der übliche Spinner-Tipp während Wiederholungen unterdrückt. Sobald der Fehlergrund offenbart wird, wenn der Fehler eine 529-Überladung ist, benennt die Zeile unter dem Countdown auch, wo der Service-Status überprüft werden kann: status.claude.com auf der Anthropic API, oder der Provider- oder Gateway-Host, der in der Nachricht auf anderen Konfigurationen benannt ist.
Wenn 20 Sekunden lang keine Daten im Response-Stream ankommen, während ein Request noch ausstehend ist, zeigt der Spinner Waiting for API response · will retry in … · check your network an, bevor eine Wiederholung gestartet hat. Der Request ist noch nicht fehlgeschlagen: Der Countdown läuft bis zu dem Punkt, an dem Claude Code die stagnierende Verbindung abbricht. Nach dem Abbruch hängt das, was du siehst, davon ab, wie weit die Antwort gekommen war:
- Bevor Claude einen Textblock oder einen Tool-Aufruf abgeschlossen hat, oder einen gestartet hat, nachdem es das Denken beendet hat, wiederholt Claude Code den Request oder beendet die Runde mit einem Fehler. Automatic retries sagt, welche Stagnationen es wiederholt und wie oft.
- Nachdem Claude einen Textblock oder einen Tool-Aufruf abgeschlossen hat, oder einen gestartet hat, nachdem es das Denken beendet hat, aber bevor Claude die Antwort beendet hat, behält Claude Code das bei, was Claude abgeschlossen hat, setzt die Runde von allen Tool-Aufrufen fort, die Claude beendet hat, und zeigt The response above may be incomplete. In einer nicht-interaktiven Sitzung und für die Antwort eines Subagenten in jeder Sitzung kann Claude Code zuerst Claude auffordern, die Antwort fortzusetzen; dieser Eintrag sagt, wann es das tut und wann du die Mitteilung dort immer noch siehst.
- Nachdem Claude die Antwort beendet hat, beendet Claude Code die Runde normal.
Das Banner wird automatisch gelöscht, sobald Daten wieder ankommen oder eine Wiederholung erfolgreich ist. Wenn es bei jedem Versuch erneut angezeigt wird, behandle es als network issue. Vor v2.1.185 erschien das Banner nach 10 Sekunden mit anderer Formulierung.
Während Claude den advisor konsultiert, erscheint das Banner nach 90 Sekunden ohne Daten statt 20, da eine lange Advisor-Überprüfung für gut über 20 Sekunden nichts senden kann. Vor v2.1.214 galt die 20-Sekunden-Schwelle auch während Advisor-Aufrufen, daher erschien das Banner während Advisor-Überprüfungen, auch wenn nichts falsch war.
Wiederholungsverhalten anpassen
Du kannst das Wiederholungsverhalten mit diesen Umgebungsvariablen anpassen:
| Variable | Standard | Effekt |
|---|---|---|
CLAUDE_CODE_MAX_RETRIES |
10 | Anzahl der Wiederholungsversuche. Ab v2.1.186 auf 15 begrenzt; ab v2.1.199 erhöht CLAUDE_CODE_RETRY_WATCHDOG den Standard und entfernt die Obergrenze. Senke es, um Fehler in Skripten schneller zu zeigen. |
CLAUDE_CODE_RETRY_WATCHDOG |
nicht gesetzt | Setze auf 1 in unbeaufsichtigten Sitzungen wie CI-Jobs, um 429- und 529-Kapazitätsfehler unbegrenzt zu wiederholen, statt nach CLAUDE_CODE_MAX_RETRIES-Versuchen zu fehlschlagen. Claude Code schlägt sofort fehl, wenn ein Standard-Speed-Request einen 429 erhält, der ein Ausgabenlimit oder erschöpfte Nutzungsguthaben meldet, auch einen von einer gateway spend cap, die nach einem Zeitplan zurückgesetzt wird. Vor v2.1.239 wiederholte der Watchdog diese unbegrenzt. Für Fast-Mode-Requests siehe Handle rate limits. Auf v2.1.199 oder später erhöht es auch die Standard-Wiederholungsanzahl für andere vorübergehende Fehler, wie Serverfehler, Timeouts und unterbrochene Verbindungen, auf 300, ungefähr drei Stunden Backoff, und entfernt die Obergrenze von 15 auf CLAUDE_CODE_MAX_RETRIES, wenn du diese Variable explizit setzt. |
API_TIMEOUT_MS |
600000 | Pro-Request-Timeout in Millisekunden. Erhöhe es für langsame Netzwerke oder Proxies. Es begrenzt auch, wie lange Claude Code auf Response-Header wartet, beschrieben in No response from API. |
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS |
nicht gesetzt | Deadline in Millisekunden für das erste Response-Byte eines Streaming-Requests. Erfordert Claude Code v2.1.242 oder später. Wie Claude Code die Deadline auswählt, wenn dies nicht gesetzt ist, siehe No response from API. |
Serverfehler
Die meisten dieser Fehler stammen vom Inferenzanbieter: Anthropic's Service auf der Anthropic API und dem Service hinter dem Endpunkt dieses Anbieters auf Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder einem benutzerdefinierten Gateway. Auto-Modus kann die Sicherheit einer Aktion nicht bestimmen und Agent wurde vorzeitig aufgrund eines API-Fehlers beendet behandeln auch Ursachen auf Ihrer Seite, wie z. B. ein Amazon Bedrock-Konto, das das Klassifikatormodell nicht aufrufen kann, oder einen Subagenten, der ein Nutzungslimit erreicht hat.
API-Fehler: 500 Interner Serverfehler
Claude Code zeigt den Statuscode und die Fehlermeldung der API für jede 5xx-Antwort an. Das folgende Beispiel zeigt eine 500-Antwort auf der Anthropic API:
API Error: 500 Internal server error. This is a server-side issue, usually temporary — try again in a moment. If it persists, check https://status.claude.com.
Der abschließende Satz nennt den Ort, an dem die Serviceintegrität überprüft werden kann, und variiert je nach Anbieter. Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry-Konfigurationen nennen die Servicestatusseite dieses Anbieters. Eine benutzerdefinierte ANTHROPIC_BASE_URL nennt den Gateway-Host.
Ein 5xx von der API selbst zeigt einen unerwarteten Fehler innerhalb der API an. Er wird nicht durch Ihren Prompt, Ihre Einstellungen oder Ihr Konto verursacht.
Wenn ein Proxy, Load Balancer oder Gateway mit einer HTML-Fehlerseite antwortet, zeigt die Nachricht den Statuscode und den Titel der Seite an, wie z. B. API Error: 502 Bad Gateway. Für eine Seite ohne Titel zeigt die Nachricht stattdessen den Statuscode und seinen Standardnamen an. Vor v2.1.281 wurde der Statuscode weggelassen, wenn die Seite einen Titel hatte, und das rohe Markup der Seite wurde ausgegeben, wenn sie keinen hatte.
Was zu tun ist:
- Überprüfen Sie status.claude.com oder die in der Nachricht genannte Anbieter-Statusseite auf aktive Vorfälle
- Warten Sie eine Minute und senden Sie Ihre Nachricht erneut. Ihre ursprüngliche Nachricht befindet sich noch in der Konversation, sodass Sie bei einem langen Prompt
try againeingeben können, anstatt alles erneut einzufügen. - Wenn der Fehler ohne einen veröffentlichten Vorfall weiterhin auftritt, führen Sie
/feedbackaus, damit Anthropic Ihre Anfrageinformationen untersuchen kann. Siehe Fehler melden, wenn/feedbackin Ihrer Umgebung nicht verfügbar ist.
API-Fehler: Wiederholte 529 Overloaded-Fehler
Die API ist vorübergehend über alle Benutzer hinweg ausgelastet. Claude Code hat es bereits mehrmals erneut versucht, bevor diese Nachricht angezeigt wird:
API Error: Repeated 529 Overloaded errors. The API is at capacity — this is usually temporary. Try again in a moment. If it persists, check https://status.claude.com.
Der abschließende Satz variiert je nach Anbieter auf die gleiche Weise wie der 500-Fehler oben.
Ein 529 ist nicht Ihr Nutzungslimit und wird nicht auf Ihr Kontingent angerechnet.
Was zu tun ist:
-
Überprüfen Sie status.claude.com oder die in der Nachricht genannte Anbieter-Statusseite auf Kapazitätsmitteilungen
-
Versuchen Sie es in ein paar Minuten erneut
-
Führen Sie
/modelaus und wechseln Sie zu einem anderen Modell, um weiterarbeiten zu können, da die Kapazität pro Modell verfolgt wird. Claude Code fordert Sie dazu auf, wenn ein Modell unter besonders hoher Last steht, z. B.Opus is experiencing high load, please use /model to switch to Sonnet. Bei Fable-Modellen nennt die Nachricht Fable.In einer Sitzung, die die Claude Desktop-App ausführt, wie z. B. die Registerkarte Code oder Cowork, lautet die Nachricht
Opus is experiencing high load. Switch to Sonnet.und Sie wechseln Modelle mit der Modellauswahl der App.
Anfrage hat das Zeitlimit überschritten
Die API hat nicht vor der Verbindungsfrist geantwortet.
Request timed out
Dies kann während Zeiten hoher Last auftreten oder wenn das Modell eine sehr große Antwort generiert. Der Standard-Timeout für Anfragen beträgt 10 Minuten.
Was zu tun ist:
- Wiederholen Sie die Anfrage
- Wenn eine langsame Netzwerk- oder Proxy-Verbindung die Ursache ist, erhöhen Sie
API_TIMEOUT_MSwie in Automatische Wiederholungen beschrieben - Wenn Zeitüberschreitungen häufig auftreten und Ihr Netzwerk ansonsten fehlerfrei ist, siehe Netzwerk- und Verbindungsfehler unten
Keine Antwort von der API
Claude Code hat eine Streaming-Anfrage gesendet und die API hat keine Response-Header innerhalb der Frist für das erste Byte zurückgegeben, sodass Claude Code die Anfrage abgebrochen hat, anstatt auf den vollständigen API_TIMEOUT_MS-Anfrage-Timeout von standardmäßig 10 Minuten zu warten. Claude Code sendet die Anfrage höchstens einmal erneut, wenn das Wiederholungsbudget dies zulässt. Wenn auch der Wiederholungsversuch unbeantwortet bleibt, endet der Turn mit dieser Nachricht, die anzeigt, wie lange jeder Versuch gewartet hat. Wenn Sie CLAUDE_CODE_RETRY_WATCHDOG setzen, gilt die Begrenzung auf einen Wiederholungsversuch nicht und Claude Code versucht es unter dem in Wiederholungsverhalten abstimmen beschriebenen Budget erneut.
API Error: No response from API (waited 3m, then 10m on the retry). If a proxy or gateway on your network holds responses until they complete, raise API_TIMEOUT_MS or CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS to wait longer.
Claude Code legt die Wartezeit des ersten Versuchs auf Response-Header und die des Wiederholungsversuchs separat fest:
- Erster Versuch:
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS, wenn Sie es auf 1 oder mehr setzen, begrenzt auf zwischen 10 Sekunden und 30 Minuten. Andernfalls verwendet Claude Code den Byte-Level-Watchdog-Timeout, der in Streaming-Idle-Watchdogs aufgelistet ist, sodass die Variablen, die diesen Timeout ändern, auch diese Wartezeit ändern. In jedem Fall fügt Claude Code eine Sekunde für alle 32 KB des Anfragekörpers hinzu. - Wiederholungsversuch: eine Sekunde weniger als
API_TIMEOUT_MS, standardmäßig knapp unter 10 Minuten, damit der Wiederholungsversuch einen Proxy oder ein Gateway überdauern kann, das die Antwort bis zum Abschluss der Generierung zurückhält. Bei Amazon Bedrock verwendet der Wiederholungsversuch die gleiche Frist wie der erste Versuch, und die Nachricht zeigt eine Dauer statt zwei an.
Keine Wartezeit überschreitet eine Sekunde weniger als ein positives API_TIMEOUT_MS, und ein positives API_TIMEOUT_MS unter 11 Sekunden deaktiviert die Frist. Der Byte-Level-Watchdog startet erst, nachdem die Response-Header ankommen, sodass eine Antwort, die danach das Senden von Bytes einstellt, stattdessen den Stalled-Stream-Regeln folgt.
Was zu tun ist:
- Senden Sie Ihre Nachricht erneut. Ihre ursprüngliche Nachricht befindet sich noch in der Konversation, sodass Sie bei einem langen Prompt
try againeingeben können, anstatt alles erneut einzufügen. - Wenn es sich wiederholt, behandeln Sie es als Netzwerk- oder Proxy-Problem.
- Wenn ein Proxy oder Gateway in Ihrem Netzwerk Antworten bis zum Abschluss zurückhält, erhöhen Sie
API_TIMEOUT_MS, damit der Wiederholungsversuch länger wartet. Bei Amazon Bedrock erhöhen Sie auchCLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS. - Wenn beim ersten Versuch immer wieder eine Zeitüberschreitung auftritt und der Wiederholungsversuch dann erfolgreich ist, erhöhen Sie
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS, damit auch der erste Versuch lange genug wartet.
Vor v2.1.242 wartete Claude Code auf den vollständigen API_TIMEOUT_MS-Anfrage-Timeout von standardmäßig 10 Minuten, bevor eine unbeantwortete Streaming-Anfrage fehlschlug. Vor v2.1.261 wartete der Wiederholungsversuch die gleiche Frist wie der erste Versuch und die Nachricht zeigte keine Dauern an.
Die obige Antwort kann unvollständig sein
Eine Streaming-Anfrage ist fehlgeschlagen, während die Antwort noch in Bearbeitung war, nachdem Claude einen Textblock oder einen Tool-Aufruf abgeschlossen oder nach Abschluss seines Thinking einen begonnen hatte. Das erneute Senden der Anfrage könnte die gleichen Tool-Aufrufe zweimal ausführen, sodass Claude Code die Ausgabe behält, die Claude abgeschlossen hat, und diese Mitteilung anfügt, anstatt den Turn zu verwerfen. Welche Variante Sie sehen, nennt die Ursache:
API Error: Server error mid-response. The response above may be incomplete.
API Error: Connection lost mid-response. The response above may be incomplete.
API Error: Your computer went to sleep mid-response. The response above may be incomplete.
API Error: The response stopped arriving. The response above may be incomplete.
API Error: Part of the response never arrived. The response above may be incomplete.
API Error: The response stream was malformed. The response above may be incomplete.
Server error mid-response: ein Overload- oder 5xx-Serverfehler mitten im Stream. Diese Variante erfordert Claude Code v2.1.199 oder später; davor verwarf dieser Fall die Teilausgabe und meldete den gesamten Turn als Fehler.Connection lost mid-response: die Verbindung wurde unterbrochen. Sie sehen diese Variante auch, wenn ein Proxy oder Gateway den Response-Body sauber beendet, bevor die Antwort abgeschlossen ist.Your computer went to sleep mid-response: Claude Code hat erkannt, dass Ihr Computer in den Ruhezustand gegangen ist, während die Antwort gestreamt wurde. Sobald Ihr Computer aufwacht, behandelt Claude Code die Verbindung als unterbrochen und liest nicht mehr von ihr.Part of the response never arrived: ein Stream-Ereignis ging zwischen der API und Claude Code verloren, sodass ein späteres Ereignis auf Inhalte verwies, die nie ankamen. Vor v2.1.281 beendete dieser Fall den Turn mitAPI Error: Content block not found.The response stream was malformed: ein Ereignis kam für einen Inhaltsblock an, der bereits abgeschlossen war, oder ein Ereignis kam beschädigt an. Ein beschädigtes Ereignis ist eines, dessen Daten kein gültiges JSON sind, dessen Inhalt fehlt oder dessen Inhalt nicht dem Ereignistyp entspricht. Vor v2.1.284 erschien stattdessen der rohe Fehler des Parsers, wie z. B. einer, der mitAPI Error: JSON Parse errorbeginnt, wenn ein Ereignis mit ungültigem JSON ankam, nachdem Claude sein Thinking, einen Textblock oder einen Tool-Aufruf abgeschlossen hatte. Vor v2.1.287 erschien diese Variante anstelle der Nachricht des Guardrails, wenn ein Amazon Bedrock Guardrail eine Antwort blockierte, die bereits Thinking und etwas Text gestreamt hatte.The response stopped arriving: die Verbindung blieb offen, lieferte aber keine Daten mehr, sodass der Streaming-Idle-Watchdog sie abgebrochen hat. Vor v2.1.222 konnte Claude Code diesen Fehler auch bei Gateway-Verbindungen melden, die überANTHROPIC_BASE_URLoderANTHROPIC_AWS_BASE_URLerreicht wurden, während die Keep-Alive-Pings des Servers noch ankamen, da es dort nur geparste Antwortereignisse zählte; ein Upgrade beseitigt diese falschen Zeitüberschreitungen auf diesen Routen. Gateways, die über eine Anbieter-Basis-URL wieANTHROPIC_BEDROCK_BASE_URLerreicht werden, sind nicht vom Byte-Watchdog umhüllt; siehe Streaming-Idle-Watchdogs.
Vor v2.1.227 lautete Connection lost mid-response noch Connection closed mid-response und The response stopped arriving noch Response stalled mid-stream.
Wenn ein verlorenes, dupliziertes oder beschädigtes Stream-Ereignis ankommt, bevor Claude mit Text oder einem Tool-Aufruf begonnen hat, sehen Sie diese Mitteilung nicht:
- Wenn Claude nur sein Thinking abgeschlossen hatte, sendet Claude Code die Anfrage erneut. Wenn die erneut gesendeten Streams auf die gleiche Weise abbrechen, endet der Turn mit
Part of the response never arrived and no response was produced. Try again.oderThe response stream was malformed and no response was produced. Try again. - Wenn nichts abgeschlossen war, sendet Claude Code die Anfrage stattdessen ohne Streaming erneut. Wenn Sie diesen Fallback mit
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACKdeaktiviert haben, endet der Turn mitAPI Error: Content block not foundfür ein verlorenes Ereignis oderAPI Error: Content block already closedfür ein dupliziertes. Für ein beschädigtes Ereignis mit deaktiviertem Fallback endet der Turn mitAPI Error: Stream event unreadableoder dem rohen Fehler des Parsers.
In vier Fällen behandelt Claude Code den Fehler, ohne diese Mitteilung sofort anzuzeigen:
- Früher in der Antwort versucht Claude Code den Fehler entweder erneut oder beendet den Turn mit einem anderen Fehler. Siehe Automatische Wiederholungen.
- Wenn einer dieser Fehler ankommt, nachdem Claude die Antwort abgeschlossen hat, behält Claude Code die vollständige Antwort und beendet den Turn normal, ohne diese Mitteilung. Vor v2.1.222 zeigte Claude Code diese Mitteilung an, wenn die Verbindung nach Abschluss der Antwort unterbrochen wurde oder stockte, und meldete den Turn als Fehler, obwohl die Antwort vollständig war.
- In einer nicht interaktiven Sitzung, wie z. B. einem
-p-Lauf, einem Agent SDK-Lauf oder einer Cloud-Sitzung, müssen Sie nicht selbstcontinuesenden, wenn die abgeschnittene Antwort in der Hauptkonversation ist und Text, aber keine Tool-Aufrufe enthält: Claude Code behält die Teilausgabe und fordert Claude auf, dort fortzufahren, wo es aufgehört hat, bis zu dreimal hintereinander. Sie sehen diese Mitteilung für eine solche Antwort erst, wenn Claude Code diese Fortsetzungen aufgebraucht hat. Vor v2.1.246 beendete Claude Code einen nicht interaktiven Turn beim ersten Abbruch mit dieser Mitteilung. - In einem Subagenten, unabhängig davon, ob die Sitzung interaktiv ist oder nicht: Wenn seine abgeschnittene Antwort Text, aber keine Tool-Aufrufe enthält, fordert Claude Code den Subagenten auf, fortzufahren. Die Mitteilung wird erst dann zur letzten Nachricht des Subagenten, wenn diese Fortsetzungen aufgebraucht sind. Vor v2.1.257 zeigte ein Subagent diese Mitteilung beim ersten Abbruch an.
Was zu tun ist:
- Lesen Sie in einer interaktiven Sitzung die Antwort, die auf dem Bildschirm verbleibt: Claude Code behält jeden Block, den Claude vor dem Fehler abgeschlossen hat, verwirft aber einen unterbrochenen letzten Block, wenn der Turn endet, sodass die letzten Sätze oder Tool-Aufrufe möglicherweise fehlen. Antworten Sie mit
continue, damit Claude ab seinem letzten abgeschlossenen Block fortfährt. - Im nicht interaktiven Modus (
-p):- Mit der Standard-Textausgabe gibt Claude Code den letzten abgeschlossenen Textblock aus, den es noch von früher im Turn vorhält, gefolgt von dieser Nachricht. Wenn es keinen vorhält, gibt Claude Code diese Nachricht allein aus, z. B. weil Claude Code die Konversation mitten im Turn komprimiert und diesen Text entfernt hat. Vor v2.1.219 gab Claude Code in der
-p-Textausgabe nur diese Nachricht aus und verwarf die bereits erzeugte Antwort. - Mit
--output-format jsonoderstream-jsonmeldet Claude Code diese Nachricht imresult-Feld. - Um den Turn fortzusetzen, sobald die Verbindung stabil ist, setzen Sie die Sitzung fort und senden Sie
continuewie in Konversationen fortsetzen beschrieben.
- Mit der Standard-Textausgabe gibt Claude Code den letzten abgeschlossenen Textblock aus, den es noch von früher im Turn vorhält, gefolgt von dieser Nachricht. Wenn es keinen vorhält, gibt Claude Code diese Nachricht allein aus, z. B. weil Claude Code die Konversation mitten im Turn komprimiert und diesen Text entfernt hat. Vor v2.1.219 gab Claude Code in der
Auto-Modus kann die Sicherheit einer Aktion nicht bestimmen
Das Modell, das der Auto-Modus zum Klassifizieren von Aktionen verwendet, konnte keine Entscheidung treffen, sodass der Auto-Modus die Aktion nicht automatisch genehmigt hat. Die Nachricht, die Sie sehen, hängt davon ab, wie der Klassifikator fehlgeschlagen ist.
Lesevorgänge, Suchen und Bearbeitungen in Ihrem Arbeitsverzeichnis überspringen den Klassifikator, sodass sie in all diesen Fällen weiterhin funktionieren.
Wenn das Klassifikatormodell nicht verfügbar ist:
<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.
Wenn Claude Code die Fehlerkategorie bestimmen kann, nennt es die Kategorie in Klammern nach temporarily unavailable, z. B. <model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now. Die Kategorien sind (rate-limited), (overloaded), (server error), (timed out) und (connection failed). Wenn sich (timed out) oder (connection failed) wiederholt, überprüfen Sie Ihre Verbindung; siehe Kann keine Verbindung zur API herstellen. Vor v2.1.229 nannte die Nachricht nie eine Kategorie und lautete Wait briefly and then try this action again.
Wenn keine Kategorie passt, wird die Nachricht ohne Kategorie in Klammern angezeigt; mehr als ein Fehler erzeugt diese Form. Bei Amazon Bedrock, einschließlich des Mantle-Endpunkts, wird sie auch angezeigt, wenn Ihr AWS-Konto das in der Nachricht genannte Modell nicht aufrufen kann, und dieser Fehler wiederholt sich bei jedem Wiederholungsversuch, bis Ihrem Konto Zugriff auf das Modell gewährt wird.
Was zu tun ist:
- Versuchen Sie es nach ein paar Sekunden erneut; Claude sieht die gleiche Nachricht und versucht es normalerweise selbstständig erneut. Ein vorübergehender Fehler hat nichts mit der Auto-Modus-Berechtigung zu tun; Sie müssen die Einstellungen nicht ändern
- Wenn Wiederholungsversuche weiterhin fehlschlagen, fahren Sie mit nur lesenden Aufgaben fort und kehren Sie später zur blockierten Aktion zurück
- Wenn die Nachricht bei Amazon Bedrock bei jedem Wiederholungsversuch zurückkommt, überprüfen Sie, dass Ihr Konto das darin genannte Modell aufrufen kann: Bestätigen Sie für Standard-Amazon Bedrock-Modelle, dass Ihre IAM-Richtlinie das Aufrufen zulässt; für Mantle-Modell-IDs kontaktieren Sie Ihr AWS-Kontoteam
Wenn eine Klassifikatoranfrage fehlschlägt, weil Ihr OAuth-Token abgelaufen ist oder von einer anderen Sitzung rotiert wurde, aktualisiert Claude Code das Token und versucht die Anfrage einmal erneut, sodass ein regulärer Token-Ablauf nicht als diese Nachricht angezeigt wird. Vor v2.1.216 schlug mit einem abgelaufenen oder rotierten Token jede Klassifikatoranfrage fehl, und der Auto-Modus verweigerte jede überprüfte Aktion mit dieser Nachricht, bis das Token aktualisiert wurde.
Wenn der Klassifikator eine nicht analysierbare Antwort zurückgab:
Auto mode could not evaluate this action and is blocking it for safety — run with --debug for details
Was zu tun ist:
- Versuchen Sie die Aktion erneut; dies ist normalerweise beim nächsten Versuch erfolgreich
- Führen Sie
claude --debugaus und wiederholen Sie die Aktion, um Details im Debug-Log zu erhalten
Wenn eine separate API-Sicherheitsprüfung die Klassifikatoranfrage aufgrund früherer Konversationsinhalte blockiert hat:
Auto mode could not evaluate this action and is blocking it for safety — a safety check separate from auto mode blocked this request because of earlier conversation content — it isn't about the action itself — run with --debug for details
Claude Code verweigert die Aktion, teilt Claude aber mit, dass dies keine Beurteilung ist, dass die Aktion unsicher ist, und dass es mit anderen Aufgaben fortfahren soll, anstatt es erneut zu versuchen. Diese Verweigerungen zählen nicht zu den Pausenschwellen des Auto-Modus. In einem nicht interaktiven -p-Lauf stoppt Claude Code den Lauf nicht. Was Claude erhält, hängt davon ab, wo es die Aktion angefordert hat:
- An einen Hintergrund-Subagenten in einem
-p-Lauf ohne--input-format stream-jsongibt Claude Code ein Fehlerergebnis zurück, dasAgent aborted: auto mode classifier request refused by the safety safeguard in headless modeenthält - Überall sonst, einschließlich interaktiver Sitzungen und der Hauptkonversation eines
-p-Laufs, gibt Claude Code diese Verweigerung an Claude zurück
Vor v2.1.225 zählte Claude Code diese Verweigerungen zu den Pausenschwellen und gab die gleiche Ablehnungsmeldung wie bei einer echten Blockierung durch den Klassifikator zurück.
Was zu tun ist:
- Dies ist keine Entscheidung über Ihre Aktion. Inhalte, die bereits in Ihrer Konversation vorhanden sind, haben einen Sicherheitsfilter auf der API ausgelöst, als der Auto-Modus die Konversation an den Klassifikator sendete
- Ein erneuter Versuch hilft nicht; der gleiche Konversationsinhalt wird den Filter erneut auslösen
- Wechseln Sie in einer interaktiven Sitzung zu einem anderen Berechtigungsmodus, damit Sie die Aktion genehmigen können, wenn Sie gefragt werden
- Starten Sie eine neue Konversation ohne den auslösenden Inhalt
Wenn die Konversation größer als das Kontextfenster des Klassifikators geworden ist:
Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)
Was mit der Aktion geschieht, hängt davon ab, wo Claude sie angefordert hat:
- In einer interaktiven Sitzung fällt der Auto-Modus für diese Aktion auf eine normale Berechtigungsabfrage zurück, damit Sie sie manuell genehmigen oder ablehnen können
- An einen Hintergrund-Subagenten in einem nicht interaktiven
-p-Lauf ohne--input-format stream-jsongibt Claude Code ein Fehlerergebnis zurück, dasAgent aborted: auto mode classifier transcript exceeded context window in headless modeenthält, und der Lauf wird fortgesetzt - Anderswo in einem
-p-Lauf ohne--permission-prompt-toolgibt es keine Abfrage, auf die zurückgefallen werden kann, sodass die Aktion nicht ausgeführt wird und der Lauf fortgesetzt wird
Was zu tun ist:
- Genehmigen oder lehnen Sie die Aktion in einer interaktiven Sitzung in der angezeigten Abfrage ab
- Führen Sie in einer interaktiven Sitzung
/compactaus, um die Konversationsgröße zu reduzieren, damit nachfolgende Aktionen wieder in das Fenster des Klassifikators passen
Der Server hat kein Sicherheitsurteil zurückgegeben
Bei der serverseitigen Klassifikatorprüfung verweigert der Auto-Modus eine Aktion, wenn der Server kein Urteil dafür liefert. Die Verweigerung nennt eine Kategorie in Klammern, wenn Claude Code eine bestimmen kann, wie z. B. (timed out):
The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.
Der Rest der Nachricht teilt Claude mit, ob ein Wiederholungsversuch helfen kann. Vor einigen dieser Verweigerungen wartet Claude Code, damit Claudes nächster Versuch nicht sofort folgt. Während des Wartens in einer interaktiven Sitzung zeigt der Spinner Auto mode check unavailable mit einem Countdown an, und das Drücken von Esc unterbricht den Turn.
Nach zehn Antworten hintereinander ohne Urteil stoppt der Auto-Modus den Turn:
Auto mode is unavailable — the server returned no safety verdict for the last 10 responses, so Claude stopped. Send a message to try again, or switch out of auto mode.
Die Stoppmeldung wird in jeder Art von Sitzung an einer anderen Stelle angezeigt:
- In einer interaktiven Sitzung wird die Nachricht als Warnung im Transkript angezeigt und der Turn endet
- In einem nicht interaktiven
-p-Lauf endet der Lauf und meldet einen Ausführungsfehler. Mit der Standard-Textausgabe wird die Nachricht auf stderr ausgegeben. - Wenn ein Subagent das Limit erreicht hat, stoppt der Subagent vor Abschluss, und Claude erhält das, was er bis dahin produziert hat, mit einem Hinweis, dass der Auto-Modus ihn gestoppt hat
Was zu tun ist:
- Senden Sie eine weitere Nachricht, damit Claude es erneut versucht. Die Zählung der Antworten beginnt von vorne.
- Wenn sich der Stopp wiederholt und Ihre Anfragen über ein LLM-Gateway oder einen Proxy laufen, überprüfen Sie, ob dieser Streaming-Antworten kürzt oder umschreibt. Serverseitige Klassifikatorprüfung beschreibt, welches Gateway-Verhalten Verweigerungen verursacht, und der Gateway-Kompatibilitätsleitfaden listet auf, was unverändert durchgeleitet werden muss.
- Setzen Sie
CLAUDE_CODE_AUTO_MODE_SERVER=0, bevor Sie Claude Code starten, um stattdessen seine eigenen Klassifikatoranfragen zu verwenden. Vor v2.1.281 las Claude Code die Variable bei einer direkten Verbindung zur Anthropic API nicht. - Um die Aktionen stattdessen selbst zu genehmigen, wechseln Sie aus dem Auto-Modus
Vor v2.1.280 verweigerte Claude Code jede Aktion aus einer Antwort ohne Urteil sofort und stoppte den Turn nie.
Agent wurde vorzeitig aufgrund eines API-Fehlers beendet
Die API-Anfrage eines Subagenten ist endgültig fehlgeschlagen, z. B. weil ein Nutzungslimit erreicht wurde oder die Wiederholungsversuche für einen Serverfehler aufgebraucht waren, sodass der Subagent vor Abschluss seiner Aufgabe gestoppt hat. Diese Nachricht erfordert Claude Code v2.1.199 oder später; davor wurde der API-Fehlertext an Claude zurückgegeben, als wäre er das Ergebnis des Subagenten.
Agent terminated early due to an API error: <error detail>
Was zu tun ist:
- Ordnen Sie die Fehlerdetails nach dem Doppelpunkt dem jeweiligen Abschnitt auf dieser Seite zu, wie z. B. Nutzungslimits oder Serverfehler, und folgen Sie den Schritten dieses Abschnitts
- Sobald der zugrunde liegende Fehler behoben ist, bitten Sie Claude, die Aufgabe erneut zu versuchen oder den Subagenten fortzusetzen
Wenn ein Rate-Limit, ein Overload oder ein Serverfehler einen Vordergrund-Subagenten unterbricht, der bereits Textausgabe erzeugt hat, erhält Claude statt dieses Fehlers diese Teilausgabe als unvollständig markiert. Ein Subagent, dessen einzige Ausgabe Tool-Aufrufe waren, erhält ebenfalls diesen Fehler; in v2.1.199 gab diese Konstellation stattdessen ein leeres Teilergebnis zurück. Siehe API-Fehler in Subagenten.
Nutzungslimits
Die meisten Fehler in diesem Abschnitt bedeuten, dass ein Kontingent, das an Ihr Konto oder Ihren Plan gebunden ist, erreicht wurde. Drei funktionieren anders: Server is temporarily limiting requests ist eine serverseitige Drosselung, die nicht mit Ihrem Plan-Kontingent zusammenhängt, Usage credits required for 1M context ist eine Berechtigungsprüfung statt eines erschöpften Kontingents, und The prompt to confirm went unanswered bedeutet, dass eine Bestätigungsaufforderung für Nutzungsguthaben unbeantwortet geschlossen wurde, unabhängig davon, ob ein Kontingent erreicht wurde.
You've hit your session limit
Abonnementpläne enthalten ein rollendes Nutzungskontingent. Wenn dieses aufgebraucht ist, sehen Sie eine dieser Meldungen:
You've hit your session limit · resets 3:45pm
You've hit your weekly limit · resets Mon 12:00am
You've hit your Opus limit · resets 3:45pm
You've hit your Sonnet limit · resets 3:45pm
Claude Code blockiert weitere Anfragen bis zum in der Meldung angezeigten Zurücksetzzeitpunkt. Die Sitzungs- und Wochenlimits werden über alle Modelle hinweg gemeinsam genutzt, daher stellt das Wechsel der Modelle den Zugriff nicht wieder her. Die Opus- und Sonnet-Limits gelten jeweils nur für Anfragen an diese Modellfamilie, daher können Sie mit /model zu einem Modell außerhalb der Familie wechseln und weiterarbeiten.
In einer interaktiven Sitzung, die mit einem claude.ai-Abonnement angemeldet ist, kann Claude Code auch in der offenen Sitzung warten und die unterbrochene Aufgabe kurz nach dem Zurücksetzen fortsetzen. Während es wartet, wird eine Zeile am unteren Rand der Sitzung angezeigt: Usage limit reached · continuing automatically at 3:45pm · esc to cancel. Drücken Sie Esc bei einer leeren Eingabeaufforderung, um das Warten abzubrechen. Siehe Wait for a usage limit to reset für das, was Sie sehen, wie Sie ein Warten starten oder abbrechen, und wie Sie das automatische Fortsetzen ausschalten. Vor v2.1.234 bot Claude Code dieses Warten nicht an.
Die Nutzung wird gleichzeitig gegen die Sitzungs- und Wochenkontingente angerechnet. Ein einzelner Ausbruch intensiver Aktivität, wie z. B. ein großer Workflow-Fanout, kann das Wochenkontingent aufbrauchen, bevor das Sitzungsfenster zurückgesetzt wird.
Was zu tun ist:
- Warten Sie auf den in der Fehlermeldung angezeigten Zurücksetzzeitpunkt
- In der Registerkarte Code der Desktop-App bietet die Sitzungslimit-Karte ein Kontrollkästchen Auto-continue when limits reset. Die Wochenlimit-Karte bietet dies nicht. Wenn es aktiviert ist, versucht die Desktop-App die unterbrochene Runde nach dem Zurücksetzen erneut und zeigt die Wiederholungszeit auf der Karte an. Das Desktop-Kontrollkästchen und die Einstellung Continue automatically at usage limit der CLI in
/configsind unabhängig, daher schalten Sie jede einzeln aus. - Für das Opus- oder Sonnet-Limit führen Sie
/modelaus und wechseln Sie zu einem Modell außerhalb dieser Familie, um weiterarbeiten zu können. Jedes Modell hat seinen eigenen Prompt-Cache, daher liest die nächste Anfrage das gesamte Gespräch ohne Cache-Treffer erneut; siehe Switching models - Führen Sie
/usageaus, um Ihre Plan-Limits und deren Zurücksetzzeitpunkte anzuzeigen - Führen Sie
/usage-creditsaus, um zusätzliche Nutzung auf Pro und Max zu kaufen, oder um sie von Ihrem Administrator auf Team und Enterprise anzufordern. Siehe usage credits for paid plans für die Abrechnung. - Um Ihren Plan für höhere Basislimits zu aktualisieren, siehe claude.com/pricing
Bevor ein Fenster aufgebraucht wird, kann Claude Code Sie warnen, dass Sie den größten Teil davon verwendet haben, mit einer Meldung wie You've used 85% of your session limit · resets 3:45pm. Um Ihr verbleibendes Kontingent kontinuierlich zu überwachen, fügen Sie die rate_limits-Felder zu einer benutzerdefinierten Statuszeile hinzu, oder klicken Sie in der Desktop-App auf den Nutzungsring neben dem Modellwähler.
Usage credits required for 1M context
Das ausgewählte Modell verwendet das 1M-Token-Fenster mit erweitertem Kontext, und Ihr Plan enthält es nur über Nutzungsguthaben.
API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context
In einer Sitzung, die die Claude Desktop-App ausführt, nennt der Hinweis keine Befehle: Er verweist auf die claude.ai-Nutzungseinstellungsseite, oder bei Team- und Enterprise-Plänen sagt er, dass Nutzungsguthaben unter claude.ai/admin-settings/usage aktiviert werden sollen, oder dass Sie Ihren Administrator fragen sollen.
Dies ist eine Berechtigungsprüfung, keine Kontingenterschöpfung. Sie wird auch dann ausgelöst, wenn Ihre Sitzungs- und Wochenkontingente noch Kapazität haben. Siehe Extended context für die Pläne, die 1M-Kontext direkt enthalten, und welche Nutzungsguthaben erfordern.
Wenn dieser Fehler mitten in einem Gespräch auftritt, weil der Kontext über 200K Token gewachsen ist, komprimiert Claude Code das Gespräch automatisch zurück unter das Standard-Kontextlimit und behält die Sitzung danach auf diesem Limit, daher ist keine Aktion erforderlich. In Versionen vor v2.1.172 wiederholte sich der Fehler bei jeder nachfolgenden Anfrage einschließlich /compact; führen Sie /clear auf diesen Versionen aus, um die Wiederherstellung durchzuführen. Die folgenden Schritte gelten, wenn Sie explizit ein [1m]-Modell ausgewählt haben.
Was zu tun ist:
- Führen Sie
/modelaus und wählen Sie die Variante ohne das[1m]-Suffix, um auf das Standard-Kontextfenster zurückzufallen - Wo die Meldung
/usage-creditsnennt, führen Sie es aus, um die getaktete Abrechnung für die 1M-Variante auf Pro und Max zu aktivieren, oder um Nutzungsguthaben von Ihrem Administrator auf Team und Enterprise anzufordern. Sobald Nutzungsguthaben aktiviert sind, starten Sie Claude Code neu oder starten Sie eine neue Sitzung, je nachdem, was die Meldung sagt. Bis dahin bleibt die Sitzung auf dem Standard-Kontextlimit. - Wenn der Fehler nach
/modelweiterhin besteht, kann eine 1M-Modell-ID an anderer Stelle gesetzt sein. Siehe Setting your model für die zu überprüfenden Konfigurationsorte in Prioritätsreihenfolge. - Um 1M-Varianten vollständig aus dem Modellwähler zu entfernen, setzen Sie
CLAUDE_CODE_DISABLE_1M_CONTEXT=1
Vor v2.1.268 endete die Meldung mit run /usage-credits to turn them on, or /model to switch to standard context und erwähnte das Neustarten nicht.
The prompt to confirm went unanswered
Wenn Ihr Konto die Fable usage-credits consent erfordert, fragt Claude Code Sie zur Bestätigung auf, bevor eine Fable-Anfrage Nutzungsguthaben abrechnet. Wenn die Bestätigungsaufforderung geschlossen wird, ohne dass jemand sie beantwortet, beendet Claude Code die Runde mit einer dieser Meldungen:
Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change
Fable 5.1 now uses usage credits · the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change
Die Meldungen nennen das Fable-Modell der Sitzung, daher lesen sie auf Fable 5 continuing on Fable 5 und Fable 5 now uses usage credits. Vor v2.1.257 begann die erste Meldung mit Fable 5 limit reached.
Dies geschieht in Remote Control-Sitzungen, Hintergrund-Sitzungen, Agent-Team-Kollegensitzungen und Sitzungen, die eine andere Anwendung über das Agent SDK hostet. Für den Fall, dass Claude Code die Aufforderung schließt, siehe Fable and usage credits.
Was zu tun ist:
- Wo die Sitzung ausgeführt wird, am Terminal oder in der Anwendung, die sie hostet, senden Sie eine weitere Aufforderung und beantworten Sie die Bestätigungsaufforderung, wenn sie erneut angezeigt wird. Für eine Hintergrund-Sitzung hängen Sie sie zuerst von der Agenten-Ansicht an. Das erneute Senden von einem Remote-Control-Client zeigt diese Meldung erneut an, da der Client die Aufforderung nicht anzeigen kann.
- Führen Sie
/modelaus, um zu einem Modell zu wechseln, das keine Nutzungsguthaben abrechnet - Um sich mehr Zeit zu geben, setzen Sie
dialogExpiryauf einen längeren Wert oder"never"
Vor v2.1.236 erschien diese Meldung nicht: Während ein Remote-Control-Client verbunden war, wartete Claude Code 60 Sekunden auf eine Antwort und setzte dann die Runde auf Ihrem Standardmodell fort.
Server is temporarily limiting requests
Die API hat eine kurzlebige Drosselung angewendet, die nicht mit Ihrem Plan-Kontingent zusammenhängt.
API Error: Server is temporarily limiting requests (not your usage limit)
Claude Code unterscheidet diese von Ihrem Plan-Limit durch das Fehlen der einheitlichen Quota-Header, die eine echte Limit-Antwort trägt. Ab v2.1.199 wird dies automatisch erneut versucht mit Backoff, bevor es angezeigt wird, unabhängig davon, wie Sie sich authentifizieren. In früheren Versionen schlug eine Sitzung, die mit einem claude.ai-Abonnement angemeldet war, beim ersten Auftreten fehl; nur API-Schlüssel und Enterprise-Anmeldungen wiederholten es.
Was zu tun ist:
- Warten Sie kurz und versuchen Sie es erneut
- Überprüfen Sie status.claude.com, wenn es weiterhin besteht
Request rejected (429)
Sie haben das für Ihren API-Schlüssel, Ihr Amazon-Bedrock-Projekt oder Ihr Google-Cloud-Projekt konfigurierte Ratenlimit erreicht.
API Error: Request rejected (429) · this may be a temporary capacity issue. If it persists, check https://status.claude.com.
Der nachfolgende Satz nennt, wo die Dienststabilität überprüft werden soll, und variiert je nach Anbieter. Amazon Bedrock, Google Clouds Agent Platform und Microsoft Foundry-Konfigurationen nennen stattdessen die Dienststatus-Seite dieses Anbieters anstelle der Anthropic-Statusseite. Eine benutzerdefinierte ANTHROPIC_BASE_URL nennt den Gateway-Host.
Wenn ein Proxy, Load Balancer oder Gateway zwischen Claude Code und der API mit seiner eigenen HTML-429-Seite antwortet, ist der Text nach dem · der Titel dieser Seite, wenn sie einen hat, wie z. B. Too Many Requests. Vor v2.1.281 wurde das gesamte Markup der Seite nach dem · gedruckt.
Was zu tun ist:
- Führen Sie
/statusaus und bestätigen Sie, dass die aktive Anmeldedaten die sind, die Sie erwarten. Ein verwaisterANTHROPIC_API_KEYin Ihrer Umgebung kann Anfragen durch einen Low-Tier-Schlüssel statt durch Ihr Abonnement leiten. - Überprüfen Sie Ihre Anbieter-Konsole auf die aktiven Limits und fordern Sie einen höheren Tier an, falls erforderlich
- Für Anthropic-API-Schlüssel siehe die rate limits reference für die Funktionsweise von Tiers und wie man Pro-Workspace-Obergrenzen setzt
- Reduzieren Sie die Parallelität: senken Sie
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY, vermeiden Sie das Ausführen vieler paralleler Subagenten, oder wechseln Sie mit/modelzu einem kleineren Modell für Läufe mit hohem Volumen
You've hit your monthly spend limit
Das in Ihrem Plan enthaltene Nutzungskontingent kann diese Anfrage nicht abdecken, und die Nutzungsguthaben, die sie sonst bezahlen würden, haben eine Ausgabenbegrenzung erreicht. Dies geschieht, wenn eines der Nutzungsfenster Ihres Plans aufgebraucht ist, oder wenn die Anfrage eine ist, die nur Nutzungsguthaben bezahlen, wie z. B. eine Anfrage an ein Modell, das zu Nutzungsguthaben abgerechnet wird. Die Meldung nennt, welches Limit Sie blockiert hat. Der Text nach dem · sagt, wie Sie dieses Limit erhöhen können, und variiert je nach Ihrem Plan und ob Sie die Abrechnung verwalten:
You've hit your monthly spend limit · raise it at claude.ai/settings/usage
You've hit your individual spend limit · ask your admin for a higher limit
You've hit your org's monthly spend limit · visit claude.ai/admin-settings/usage to raise it
You've hit your team's shared budget · ask your admin to raise it at claude.ai/admin-settings/usage
You've hit your channel's monthly spend limit · an org owner or channel manager can raise it in the channel's Claude settings
team's shared budget ist ein gepooltes Budget, das ein Administrator einer Gruppe zugewiesen hat, der Sie angehören; die Meldung nennt die Gruppe nicht. channel's monthly spend limit ist das Budget des einen Slack-Kanals, in dem die Sitzung ausgeführt wird, daher kann Ihre Organisation immer noch Budget außerhalb davon haben.
Wenn eines der Fenster Ihres Plans das ist, das aufgebraucht wurde, sagt die Meldung auch, wann dieses Fenster zurückgesetzt wird, zum Beispiel · your session limit resets 3:45pm, und der Zugriff wird dann ohne Erhöhung des Limits zurückgegeben. Bei Organisationen mit nutzungsbasierter Abrechnung sagt die Meldung usage limit anstelle von spend limit, wie in You've hit your individual usage limit.
Vor v2.1.239 nannte die Meldung nicht die Zurücksetzzeitpunkt des Plan-Fensters. Vor v2.1.268 erzeugte das gepoolte Budget einer Gruppe die Meldung individual spend limit anstelle von team's shared budget.
Wenn Sie sich über ein Claude-Apps-Gateway verbinden und spend limit reached in Kleinbuchstaben sehen, ist das die Obergrenze Ihres Gateway-Betreibers; siehe Spend limit reached.
Was zu tun ist:
- Auf Pro und Max erhöhen Sie Ihre monatliche Ausgabenbegrenzung in Settings > Usage auf claude.ai, oder führen Sie
/usage-creditsaus - Auf Team und Enterprise erhöhen Sie das Limit in Admin settings > Usage, wenn Sie die Abrechnung verwalten, oder bitten Sie einen Administrator.
/usage-creditssendet diese Anfrage an Ihren Administrator für Sie - Für ein Kanal-Limit bitten Sie einen Org-Besitzer oder den Manager des Kanals, es auf claude.ai zu erhöhen. Siehe Per-channel limits in der Claude Tag-Dokumentation
- Wenn die Meldung eine Zurücksetzzeitpunkt für das Fenster Ihres Plans nennt, können Sie stattdessen darauf warten
- Führen Sie
/usageaus, um die Fenster Ihres Plans und deren Zurücksetzzeitpunkte anzuzeigen
Spend limit reached
Sie verbinden sich über ein Claude-Apps-Gateway und haben eine Ausgabenbegrenzung überschritten, die Ihr Gateway-Betreiber gesetzt hat. Das Gateway blockiert Ihre Anfragen, bis die benannte Periode zurückgesetzt wird oder der Betreiber die Obergrenze erhöht. Es markiert jede blockierte 429-Antwort mit x-should-retry: false, daher zeigt Claude Code diese Meldung ohne Wiederholung an.
spend limit reached (daily; resets 2026-08-09 00:00 UTC)
Die Meldung nennt die Periode der Obergrenze und die Zurücksetzzeitpunkt, und wenn der Betreiber eine blocked_message konfiguriert hat, folgen seine Anweisungen. Vor v2.1.225 lautete die Meldung nur spend limit reached; ein Gateway auf einer älteren Version sendet immer noch diese kürzere Form.
Was zu tun ist:
- Warten Sie auf den Zurücksetzzeitpunkt, den die Meldung nennt, oder folgen Sie den Anweisungen des Betreibers, wenn die Meldung diese trägt
- Bitten Sie Ihren Gateway-Betreiber, die Obergrenze zu erhöhen, wenn Sie sie regelmäßig erreichen
Eine verwandte Meldung, spend limit unavailable, bedeutet, dass das Gateway seine Ausgabendatensätze nicht lesen konnte und die Anfrage als Vorsichtsmaßnahme statt über Ihre Obergrenze blockiert hat. Sie wird normalerweise von selbst gelöscht; wenn sie weiterhin besteht, teilen Sie dies Ihrem Gateway-Betreiber mit.
Credit balance is too low
Ihre Console-Organisation hat ihre vorausbezahlten Guthaben aufgebraucht, oder Claude Code sendet Ihre Anfragen mit einem Console-API-Schlüssel, wenn Sie Ihr Abonnement verwenden wollten.
Credit balance is too low
Was zu tun ist:
- Wenn Sie einen Pro-, Max-, Team- oder Enterprise-Plan haben und dies sehen, führen Sie
/statusaus und überprüfen Sie die ZeileAPI key. Ein genehmigterANTHROPIC_API_KEYin Ihrer Umgebung leitet Anfragen durch diesen Schlüssel statt durch Ihr Abonnement. Heben Sie die Einstellung in der aktuellen Shell auf und entfernen Sie sie aus Ihrem Shell-Profil, starten Sie dannclaudeneu. Führen Sie/loginaus, wenn Sie sich noch nicht mit Ihrem Abonnement angemeldet haben. - Fügen Sie Guthaben unter platform.claude.com/settings/billing hinzu, und erwägen Sie, dort das automatische Neuladen zu aktivieren, damit der Saldo aufgefüllt wird, bevor er null erreicht
- Setzen Sie Pro-Workspace-Ausgabengrenzen in der Console, um zu verhindern, dass ein einzelnes Projekt das Org-Guthaben aufbraucht. Siehe Manage costs effectively.
Could not update your spend limit
Der Server lehnte eine Ausgabenbegrenzungsänderung ab, die Sie von der Eingabeaufforderung aus vorgenommen haben, die angezeigt wird, wenn Sie Ihre Ausgabenbegrenzung erreichen.
Could not update your spend limit: <reason from the server>
Wenn der Server die Ablehnung erklärt, endet die Meldung mit diesem Grund, und das erneute Versuchen desselben Werts schlägt erneut fehl. Wenn der Fehler keinen vom Server bereitgestellten Grund hat, wie z. B. eine unterbrochene Verbindung, lautet die Meldung Could not update your spend limit. Press Enter to retry. und das erneute Versuchen kann erfolgreich sein. Vor v2.1.216 zeigte Claude Code die generische Form für jeden Fehler an.
Was zu tun ist:
- Wenn die Meldung einen Grund enthält, wählen Sie ein Limit, das ihn erfüllt, wie z. B. einen niedrigeren Betrag
- Wenn die Meldung nur die generische Form anzeigt, versuchen Sie es erneut; der Fehler kann vorübergehend sein
- Wenn die Änderung weiterhin fehlschlägt, nehmen Sie sie stattdessen von Ihren claude.ai-Abrechnungseinstellungen im Browser vor
Authentifizierungsfehler
Diese Fehler bedeuten, dass Claude Code gegenüber der API nicht nachweisen kann, wer Sie sind. Führen Sie jederzeit /status aus, um zu sehen, welche Anmeldedaten gerade aktiv sind.
Nicht angemeldet
Für diese Sitzung sind keine gültigen Anmeldedaten verfügbar.
Not logged in · Please run /login
In einer Sitzung, die die Claude Desktop-App ausführt, etwa im Code-Tab oder in Cowork, lautet die Meldung Authentication required · Sign in again to continue, und Sie melden sich in der App erneut an.
Wenn Sie sich in einem anderen Claude Code-Fenster, das dasselbe Konfigurationsverzeichnis verwendet, mit Ihrem claude.ai-Konto anmelden, verwendet eine interaktive Sitzung, die diese Meldung anzeigt, diese Anmeldung automatisch. Sie müssen sie nicht neu starten.
Vor v2.1.286 konnte die Sitzung unter macOS die Meldung weiterhin anzeigen, nachdem Sie sich in einem anderen Fenster angemeldet hatten. Starten Sie in diesen Versionen die Sitzung, die die Meldung anzeigt, neu.
Was Sie tun können:
- Führen Sie
/loginaus, um sich mit Ihrem Claude-Abonnement oder Console-Konto zu authentifizieren - Wenn Sie erwartet haben, dass eine Umgebungsvariable Sie authentifiziert, prüfen Sie, ob
ANTHROPIC_API_KEYin der Shell, in der Sieclaudegestartet haben, gesetzt und exportiert ist - Konfigurieren Sie für CI oder Automatisierung, bei der keine interaktive Anmeldung möglich ist, ein
apiKeyHelper-Skript, das beim Start einen Schlüssel abruft - Unter Rangfolge der Authentifizierung erfahren Sie, welche Anmeldedaten Claude Code verwendet, wenn mehrere vorhanden sind
Wenn Sie wiederholt zur Anmeldung aufgefordert werden, finden Sie unter Nicht angemeldet oder Token abgelaufen Prüfungen der Systemuhr und Schritte zur Wiederherstellung des Anmeldedatenspeichers unter macOS.
Authentifizierungsmethode konnte nicht ermittelt werden
Die Sitzung hat den API-Client ohne Anmeldedaten erreicht. Hintergrundsitzungen und Cloud-Sitzungen zeigen diese Meldung an, wenn der Worker ohne Anmeldedaten startet. Interaktive Ausführungen, -p-Ausführungen und Agent SDK-Ausführungen melden denselben Zustand als Nicht angemeldet und schreiben diese Zeichenfolge nur in ihr Debug-Log. Wenn Sie sie dort gefunden haben, folgen Sie stattdessen jenem Eintrag.
Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted
In aktuellen Versionen bedeutet der Fehler, dass dem Worker-Prozess keine Anmeldedaten zur Verfügung standen. Vor v2.1.174 konnte eine Hintergrundsitzung, die einem inaktiven, vorinitialisierten Worker zugewiesen wurde, auf diese Weise fehlschlagen, auch wenn gültige Anmeldedaten konfiguriert waren. Vor v2.1.176 konnte dies auch bei einer Cloud-Sitzung passieren, die inaktiv war, bevor sie übernommen wurde. Aktualisieren Sie, um das Problem zu beheben.
Was Sie tun können:
- Aktualisieren Sie auf v2.1.176 oder höher, wenn dies in einer Hintergrund- oder Cloud-Sitzung auftritt und Ihre Anmeldedaten bereits konfiguriert sind
- Prüfen Sie, ob
ANTHROPIC_API_KEY,CLAUDE_CODE_OAUTH_TOKENoder die Anmeldedaten Ihres Cloud-Anbieters in der Umgebung gesetzt sind, die den Worker startet, und nicht nur in Ihrer interaktiven Shell - Informationen zum Agent SDK finden Sie unter Einrichtung der Authentifizierung im Schnellstart
- Führen Sie
/statusin einer interaktiven Sitzung in derselben Umgebung aus, um zu prüfen, welche Quelle für Anmeldedaten ermittelt wird
Ungültiger API-Schlüssel
Die Umgebungsvariable ANTHROPIC_API_KEY oder das apiKeyHelper-Skript hat einen Schlüssel geliefert, den die API abgelehnt hat, oder Claude Code hat einen Schlüssel aus ANTHROPIC_API_KEY blockiert, bevor er gesendet wurde.
Invalid API key · Fix external API key
Wenn die Meldung nach Fix external API key mit einer Beschreibung wie Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines). weitergeht, hat die API den Schlüssel nie gesehen. Claude Code hat ein Zeichen gefunden, das HTTP-Header nicht übertragen können, und die Anfrage vor dem Senden gestoppt. Unter Ungültiger Wert im Request-Header erfahren Sie, wie Sie die Beschreibung lesen und den Wert korrigieren.
Was Sie tun können:
- Prüfen Sie auf Tippfehler und vergewissern Sie sich, dass der Schlüssel in der Console nicht widerrufen wurde
- Führen Sie in derselben Shell
env | grep ANTHROPICaus, in PowerShellGet-ChildItem Env:ANTHROPIC*. Tools wie direnv, dotenv-Shell-Plugins und IDE-Terminals können einen veralteten Schlüssel aus einer.env-Datei in Ihrem Projekt laden, ohne dass Sie ihn explizit setzen. - Heben Sie
ANTHROPIC_API_KEYauf und führen Sie/loginaus, um stattdessen die Authentifizierung über Ihr Abonnement zu verwenden - Wenn der Schlüssel aus einem
apiKeyHelper-Skript stammt, führen Sie das Skript direkt aus, um zu prüfen, ob es einen gültigen Schlüssel auf stdout ausgibt - Führen Sie
/statusaus, um zu prüfen, welche Quelle für Anmeldedaten Claude Code tatsächlich verwendet
Ihr apiKeyHelper-Skript schlägt fehl
Claude Code hat den Befehl in Ihrer Einstellung apiKeyHelper ausgeführt und keinen Schlüssel zurückerhalten. Ohne Schlüssel erreicht die Anfrage die API mit Platzhalter-Anmeldedaten, und die API lehnt sie mit 401 ab. Das Authentication-Panel im Terminal zeigt, welcher der folgenden Fälle eingetreten ist:
- Der Befehl wurde mit einem Fehler beendet oder hat eine Zeitüberschreitung erreicht
- Der Befehl hat nichts auf stdout ausgegeben
- Der Befehl hat etwas anderes als den Schlüssel ausgegeben, etwa ein Login-Banner oder eine Log-Zeile. Das Panel zeigt
returned output that cannot be used as an API keyund beschreibt das Problem, ohne die Ausgabe zu wiederholen. Vor v2.1.227 hat Claude Code alles gesendet, was der Befehl ausgegeben hat, nachdem umgebende Leerzeichen entfernt wurden.
Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output
Im nicht interaktiven Modus enthält stderr zusätzlich den konkreten Grund, mit dem Präfix apiKeyHelper failed:.
Claude Code führt das Skript erneut aus und wiederholt die Anfrage bis zu zwei weitere Male, bevor diese Meldung angezeigt wird, sodass der Fehler innerhalb von drei Versuchen sichtbar wird. Vor v2.1.208 hat Claude Code das gesamte Kontingent an Wiederholungsversuchen damit verbraucht, die Anfrage mit den Platzhalter-Anmeldedaten erneut zu senden, und dann einen allgemeinen 401-Authentifizierungsfehler statt des Skriptfehlers gemeldet.
/login hilft hier nicht: Die Ausgabe des Helpers hat Vorrang vor einer gespeicherten Anmeldung, solange die Einstellung vorhanden ist.
Was Sie tun können:
- Führen Sie den in
apiKeyHelperkonfigurierten Befehl direkt in Ihrer Shell aus, um den Fehler zu reproduzieren - Wenn der Befehl eine abgelaufene Sitzung meldet, authentifizieren Sie sich erneut bei Ihrem Anbieter für Anmeldedaten, zum Beispiel indem Sie sich erneut bei Ihrem SSO oder Secrets-Vault anmelden
- Korrigieren Sie den Befehl so, dass er nur den Schlüssel auf stdout ausgibt, als einzelnes Token aus druckbaren ASCII-Zeichen mit bis zu 16.384 Zeichen, und mit Exit-Code 0 beendet wird. Eine funktionierende Einrichtung finden Sie unter Anmeldedaten mit apiKeyHelper rotieren.
- Führen Sie
/statusaus, um den Fehler zu sehen und zu prüfen, obapiKeyHelperdie aktive Quelle für Anmeldedaten ist. Die ZeileapiKeyHelperzeigtFailingmit den Details des letzten Fehlers an, etwa dem Exit-Code und der Fehlerausgabe des Befehls, und verschwindet nach der nächsten erfolgreichen Ausführung. Vor v2.1.274 zeigte/statusnur die Quelle der Anmeldedaten, nicht den Fehler. - Jedes Mal, wenn der Befehl fehlschlägt, erscheinen sein Exit-Code und seine Fehlerausgabe auch in einem
Authentication-Panel im Terminal. Vor v2.1.212 hieß das PanelCloud authentication.
Ungültiger Wert im Request-Header
Ein Wert, den Claude Code als Request-Header senden wollte, enthält ein Zeichen, das HTTP-Header nicht übertragen können: einen Zeilenumbruch, ein NUL-Byte oder ein Zeichen oberhalb von U+00FF, etwa ein typografisches Anführungszeichen oder ein Leerzeichen mit Nullbreite. Claude Code stoppt die Anfrage, bevor etwas gesendet wird, und nennt die zu korrigierende Variable oder Einstellung. Die übliche Ursache sind Anmeldedaten, die aus einem Dokument oder Chat eingefügt wurden und ein unsichtbares Zeichen oder einen versehentlichen Zeilenumbruch enthielten.
Claude Code führt diese Prüfung durch, wenn es Anfragen direkt oder über ein LLM-Gateway an die Claude API sendet. Bei einem Cloud-Drittanbieter wie Amazon Bedrock führt Claude Code sie vor dem Senden nicht durch.
Invalid auth token · Fix external auth token
Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable
Invalid request header from the environment · Fix the environment variable
Der erste Teil der Meldung hängt davon ab, woher der fehlerhafte Wert stammt:
Invalid auth token: ein Bearer-Token ausANTHROPIC_AUTH_TOKENoderCLAUDE_CODE_OAUTH_TOKENInvalid ANTHROPIC_CUSTOM_HEADERS: ein Header-Name oder -Wert, den Sie inANTHROPIC_CUSTOM_HEADERSgesetzt haben. Die Beschreibung gibt an, welchesName: Value-Paar fehlerhaft ist, etwadistinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS, ohne Namen oder Wert zu wiederholen, da Sie beide selbst gewählt haben.Invalid request header from the environment: ein Wert, den Claude Code aus einer anderen Umgebungsvariable in einen Request-Header kopiert, etwaCLAUDE_AGENT_SDK_CLIENT_APP. Die Beschreibung nennt die zu korrigierende Variable.
Einen fehlerhaften ANTHROPIC_API_KEY, den diese Prüfung erkennt, meldet Claude Code als Ungültiger API-Schlüssel, mit derselben nachgestellten Beschreibung. Fehlerhafte gespeicherte /login-Anmeldedaten meldet es stattdessen als Nicht angemeldet; führen Sie /login aus, um neue zu speichern. Die Ausgabe eines apiKeyHelper-Skripts erreicht diese Prüfung nie: Claude Code validiert sie bei der Ausführung des Skripts, und eine Ausgabe, die ein HTTP-Header nicht übertragen kann, schlägt mit Ihr apiKeyHelper-Skript schlägt fehl fehl.
Nach dem zweiten · beschreibt die Meldung das Problem, wie in diesem vollständigen Beispiel:
Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).
Positionen zählen Zeichen beginnend bei eins. Die Beschreibung wird aus festen Formulierungen und Zeichenzahlen zusammengesetzt und enthält daher nie den Wert selbst. Sie nennt das betroffene Zeichen nur, wenn es sich um ein bekanntes unsichtbares oder typografisches Zeichen handelt, etwa eine Byte-Order-Mark, ein Leerzeichen mit Nullbreite oder ein typografisches Anführungszeichen, und meldet alles andere als a non-ASCII character.
Was Sie tun können:
- Setzen Sie die Variable oder Einstellung, die die Meldung nennt, neu und tippen Sie die Zeichen um die gemeldete Position herum neu ein, statt erneut aus derselben Quelle einzufügen
- Bei
ANTHROPIC_CUSTOM_HEADERSverwenden Sie einName: Value-Paar pro Zeile und schreiben das Paar neu, das die Meldung angibt - Führen Sie
/statusaus, um zu prüfen, welche Quelle für Anmeldedaten aktiv ist
Diese Organisation wurde deaktiviert
Claude Code verwendet einen veralteten ANTHROPIC_API_KEY aus einer deaktivierten Console-Organisation. Wenn Sie eine gespeicherte Anmeldung über Ihr Abonnement haben, überschreibt der Schlüssel diese.
Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead
Your ANTHROPIC_API_KEY belongs to a disabled organization · Update or unset the environment variable
API Error: 400 ... This organization has been disabled.
Der Hinweis nach dem · hängt von Ihren gespeicherten Anmeldedaten ab: Die erste Form erscheint, wenn eine gespeicherte /login-Anmeldung übernehmen kann, nachdem Sie den Schlüssel aufgehoben haben, und die zweite, wenn der Schlüssel Ihre einzigen Anmeldedaten sind.
Umgebungsvariablen haben Vorrang vor /login, sodass ein in Ihrem Shell-Profil exportierter oder aus einer .env-Datei geladener Schlüssel auch dann verwendet wird, wenn Sie ein funktionierendes Pro- oder Max-Abonnement haben. Im nicht interaktiven Modus (-p) wird der Schlüssel immer verwendet, wenn er vorhanden ist.
Was Sie tun können:
- Heben Sie
ANTHROPIC_API_KEYin der aktuellen Shell auf, entfernen Sie ihn aus Ihrem Shell-Profil und starten Sieclaudedann neu - Wenn die Meldung
Update or unsetlautet, haben Sie keine gespeicherte Anmeldung, auf die zurückgegriffen werden kann. Heben Sie den Schlüssel auf und führen Sie/loginaus, oder ersetzen Sie den Schlüssel durch einen aus einer aktiven Console-Organisation. - Führen Sie anschließend
/statusaus, um zu prüfen, ob Ihr Abonnement die aktiven Anmeldedaten sind - Wenn keine Umgebungsvariable gesetzt ist und der Fehler weiterhin auftritt, wenden Sie sich an den Support oder melden Sie sich mit einem anderen Konto an.
Ihre Organisation hat die Authentifizierung per API-Schlüssel deaktiviert
Diese Meldung erfordert Claude Code v2.1.169 oder höher. Der Admin Ihrer Console-Organisation hat die Authentifizierung per API-Schlüssel deaktiviert, daher lehnt die API den Schlüssel ab, den Claude Code sendet. Der Hinweis zur Behebung nach dem · hängt davon ab, woher der Schlüssel stammt:
Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account
Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY to use your claude.ai account instead
Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY and run /login to sign in with your claude.ai account
Your organization has disabled API key authentication · Unset the apiKeyHelper setting and run /login to sign in with your claude.ai account
Your organization has disabled API key authentication · Sign in again with your claude.ai account
Die letzte Form erscheint in einer Sitzung, die die Claude Desktop-App ausführt, etwa im Code-Tab oder in Cowork, wo Sie sich in der App erneut anmelden.
Umgebungsvariablen und apiKeyHelper haben Vorrang vor /login, daher hilft /login allein nicht, solange eines davon noch einen Schlüssel liefert. Siehe Rangfolge der Authentifizierung.
Was Sie tun können:
- Wenn die Meldung
ANTHROPIC_API_KEYnennt, heben Sie die Variable in der aktuellen Shell auf, entfernen Sie sie aus Ihrem Shell-Profil oder Ihrer.env-Datei und starten Sieclaudedann neu - Wenn die Meldung
apiKeyHelpernennt, entfernen Sie die EinstellungapiKeyHelperaus Ihrersettings.json - Führen Sie
/loginaus, um sich mit Ihrem claude.ai-Konto anzumelden - Führen Sie anschließend
/statusaus, um zu prüfen, ob Ihr Abonnement und nicht ein API-Schlüssel die aktiven Anmeldedaten sind - Wenn Sie die Authentifizierung per API-Schlüssel für die Automatisierung benötigen, bitten Sie den Admin Ihrer Organisation, sie in der Console wieder zu aktivieren
Ihre Organisation hat den Zugriff über Claude-Abonnements deaktiviert
Ihre Claude-Organisation erlaubt keine Anmeldung bei Claude Code über ein Abonnement. Wenn Sie /login mit demselben Konto erneut ausführen, erhalten Sie denselben Fehler.
Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access
Dies ist eine serverseitige Organisationseinstellung und kann daher nicht über lokale Einstellungen, Umgebungsvariablen oder CLI-Flags überschrieben werden.
Das Agent SDK und der nicht interaktive Modus -p melden dies als Fehlercode oauth_org_not_allowed.
Was Sie tun können:
- Bitten Sie Ihren Admin, den Zugriff auf Claude Code für Ihre Organisation zu aktivieren
- Authentifizieren Sie sich mit einem Console-API-Schlüssel statt mit Ihrem Abonnement. Die Einrichtung ist unter Authentifizierung über die Claude Console beschrieben.
- Wenn Sie der Admin sind und keine Option zum Aktivieren des Zugriffs sehen, wenden Sie sich an den Anthropic-Support
Routinen sind durch die Richtlinie Ihrer Organisation deaktiviert
Ein Owner in Ihrer Team- oder Enterprise-Organisation hat Routinen auf Organisationsebene deaktiviert. Der Fehler erscheint, wenn Sie versuchen, eine Routine zu erstellen oder auszuführen, zum Beispiel über die Routinen-Oberfläche auf claude.ai/code. Ab Claude Code v2.1.227 blendet dieselbe Einstellung auch /schedule in der CLI aus.
Routines are disabled by your organization's policy.
Dies ist eine serverseitige Einstellung und kann daher nicht über lokale Einstellungen, Umgebungsvariablen oder CLI-Flags überschrieben werden.
Was Sie tun können:
- Bitten Sie einen Owner in Ihrer Organisation, den Schalter Routines unter claude.ai/admin-settings/claude-code zu aktivieren
- Für einmalige geplante Arbeiten, die keine Routinen auf Organisationsebene erfordern, siehe geplante Aufgaben
Remote Control erfordert die Anthropic API
Die Sitzung kommuniziert nicht direkt mit der Anthropic API, was Remote Control voraussetzt.
Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.
Ein zweiter Satz erklärt, wodurch die Sitzung von der Anthropic API weggeleitet wurde; vor v2.1.219 bestand die Meldung nur aus dem ersten Satz. Je nach Ursache nennt die Meldung:
- Eine
CLAUDE_CODE_USE_*-Anbietervariable, etwaCLAUDE_CODE_USE_BEDROCKfür Amazon Bedrock oderCLAUDE_CODE_USE_VERTEXfür Google Cloud's Agent Platform ANTHROPIC_BASE_URL, das auf einen anderen Host alsapi.anthropic.comverweist, etwa ein LLM-Gateway oder einen Proxy, auch wenn Sie sich mit claude.ai anmelden; vor v2.1.196 hat eine benutzerdefinierte Basis-URL Remote Control nicht blockiertANTHROPIC_UNIX_SOCKETist gesetzt, sodass die Sitzung ihre Anfragen über einen lokalen Socket statt anapi.anthropic.comsendet- Eine Anmeldung bei einem Enterprise-Cloud-Gateway über
/login, die Remote Control nicht unterstützt und keine Variable hat, die aufgehoben werden könnte
Was Sie tun können:
- Heben Sie die Variable auf, die die Meldung nennt, etwa
CLAUDE_CODE_USE_BEDROCKoderANTHROPIC_BASE_URL, und starten Sie die Sitzung neu, oder starten Sie Remote Control aus einer Sitzung, die direkt mit der Anthropic API kommuniziert - Wenn die Variable in Ihrer Shell nicht gesetzt ist, prüfen Sie den Schlüssel
envin Ihren Einstellungsdateien, der Umgebungsvariablen auf jede Sitzung anwendet - Für diese und die anderen Startmeldungen von Remote Control siehe Fehlerbehebung für Remote Control
Remote Control konnte Ihre Anmeldung nicht erneuern
Claude Code betreibt eine aktive Remote Control-Verbindung mit kurzlebigen Anmeldedaten, die es mithilfe Ihrer gespeicherten claude.ai-Anmeldung abruft und erneuert. Wenn claude.ai diese Anmeldung nicht mehr akzeptiert oder Claude Code keine gespeicherte Anmeldung mehr hat, beendet Claude Code Remote Control, und Sie müssen sich erneut anmelden. Beide Fehler können auftreten, während Claude Code noch die Verbindung herstellt, oder später, wenn es die Anmeldedaten erneuert.
Wenn Claude Code den Anmeldedienst auffordert, Ihre gespeicherte Anmeldung zu erneuern, und keine Antwort erhält, lässt es Remote Control weiterlaufen und versucht die Erneuerung erneut, solange die aktuellen Anmeldedaten der Verbindung noch gültig sind. Eine Erneuerung erhält keine Antwort, wenn Claude Code den Anmeldedienst nicht erreichen kann, die Anfrage eine Zeitüberschreitung erreicht oder der Dienst fehlschlägt, ohne Ihre Anmeldung abzulehnen. Wenn der Anmeldedienst beim Ablauf dieser Anmeldedaten immer noch nicht antwortet, beendet Claude Code Remote Control und meldet OAuth token refresh failed.
Wenn Claude Code Remote Control beendet, zeigt es den Grund in einer Warnung und in einer Transkriptzeile an, die mit Remote Control disconnected beginnt. Ihre lokale Sitzung läuft ohne Remote Control weiter. Dieser Abschnitt behandelt diese Zeilen:
Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control
Remote Control disconnected — Claude.ai login expired — run /login, then /remote-control
Remote Control disconnected — Claude.ai login was rejected — run /login, then /remote-control
Remote Control disconnected — OAuth token unavailable — run /login to restore Remote Control
Remote Control disconnected — OAuth token refresh failed — run /login to re-authenticate
Remote Control disconnected — JWT refresh failed: no OAuth token — run /login
Remote Control disconnected — Signed out of Claude — run /login, then /remote-control
Claude Code nennt die Ursache im mittleren Teil der Meldung:
Claude.ai login expiredundClaude.ai login was rejected: claude.ai akzeptiert Ihr gespeichertes Anmelde-Token nicht mehr, weil es abgelaufen ist oder widerrufen wurdeOAuth token unavailable: Claude Code hatte kein gespeichertes Anmelde-Token, als die Anmeldedaten der Verbindung erneuert werden musstenOAuth token refresh failed: claude.ai hat Ihr gespeichertes Anmelde-Token abgelehnt, während Claude Code die Verbindung wiederherstellte, und die Erneuerung des Tokens hat kein neues geliefertJWT refresh failed: no OAuth token: Claude Code hat kein gespeichertes Anmelde-Token zum Erneuern gefundenSigned out of Claude: Sie haben sich auf diesem Rechner abgemeldet, zum Beispiel durch Ausführen von/logoutin einem anderen Terminal, sodass Claude Code keine gespeicherte Anmeldung mehr hat, mit der es die Verbindung erneuern kann
Was Sie tun können:
- Führen Sie
/loginaus, um sich erneut anzumelden - Führen Sie
/remote-controlaus, um die Sitzung wieder zu verbinden. Meldungen, die mitrun /login to restore Remote Controlenden, benötigen diesen Schritt nicht: Claude Code verbindet sich nach Ihrer Anmeldung automatisch wieder.
Vor v2.1.224 lautete OAuth token refresh failed — run /login to re-authenticate noch OAuth token refresh failed — re-authenticate, then re-enable Remote Control, und JWT refresh failed: no OAuth token — run /login lautete no OAuth token available for recovery (code <N>). Die Meldungen Claude.ai login expired, Claude.ai login was rejected und OAuth token unavailable wurden in v2.1.225 hinzugefügt.
Vor v2.1.238 meldete Claude Code die Fälle, die jetzt Signed out of Claude lauten, als JWT refresh failed: no OAuth token — run /login und beendete Remote Control mit Claude.ai login expired — run /login to restore Remote Control, sobald eine Erneuerung der Anmeldung keine Antwort erhielt.
Remote Control wurde beendet, weil sich das angemeldete Konto geändert hat
Claude Code zeigt diese Zeile während einer Remote Control-Sitzung an, wenn Sie sich auf diesem Rechner bei einem anderen claude.ai-Konto oder einer anderen Organisation anmelden. Sie haben den Wechsel außerhalb der Claude Code-Sitzung vorgenommen, zum Beispiel durch Ausführen von /login in einem anderen Terminal.
Eine Remote-Control-Sitzung, die Sie gestartet haben, während Sie über /login angemeldet waren, gehört zu dem claude.ai-Konto und der Organisation, die zu diesem Zeitpunkt angemeldet waren.
Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control
Claude Code beendet die Remote-Control-Sitzung, sobald claude.ai bestätigt, dass sich das Konto oder die Organisation geändert hat. Ihre lokale Sitzung läuft ohne Remote Control weiter.
Was Sie tun können:
- Führen Sie
/remote-controlaus, um eine neue Remote-Control-Sitzung unter dem aktuellen Konto oder der aktuellen Organisation zu starten - Um zurückzuwechseln, führen Sie
/loginaus und melden Sie sich erneut beim vorherigen Konto oder der vorherigen Organisation an. Führen Sie dann/remote-controlaus.
Vor v2.1.234 hat Claude Code nicht bemerkt, wenn Sie außerhalb der Claude Code-Sitzung zu einem anderen Konto oder einer anderen Organisation gewechselt sind. Claude Code hielt die Remote-Control-Sitzung verbunden, bis eine spätere Anfrage an den Remote-Control-Server mit Remote Control server rejected the request (HTTP 404) fehlschlug. Dieser Fehler konnte Stunden nach dem Wechsel auftreten.
Remote Control wurde beendet, weil sich die App, die die Sitzung ausführt, abgemeldet oder das Konto gewechselt hat
Wenn die Claude Desktop-App oder eine IDE Ihre Sitzung hostet, erhält Claude Code sein Anmelde-Token von dieser App statt von /login. Wenn claude.ai dieses Token ablehnt, fordert Claude Code bei der App ein neues an. Wenn die App antwortet, dass sie abgemeldet ist oder jetzt bei einem anderen Claude-Konto angemeldet ist, beendet Claude Code die Remote Control-Sitzung und sendet der App eine dieser Zeilen:
Remote Control stopped — the app running this session is now signed in to a different Claude account
Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on
Ihre lokale Sitzung läuft ohne Remote Control weiter.
Was Sie tun können:
- Wenn die App abgemeldet ist, melden Sie sich erneut bei ihr an und schalten Sie Remote Control dann in der App wieder ein
- Wenn die App das Konto gewechselt hat, kann Claude Code die beendete Sitzung nicht unter dem neuen Konto fortsetzen. Starten Sie eine neue Remote-Control-Sitzung unter diesem Konto.
Vor v2.1.238 hat Claude Code der App in beiden Fällen die run /login-Meldungen gesendet, die unter Remote Control konnte Ihre Anmeldung nicht erneuern aufgeführt sind.
OAuth-Token widerrufen oder abgelaufen
Ihre gespeicherte Anmeldung ist nicht mehr gültig. Ein widerrufenes Token bedeutet, dass Sie sich überall abgemeldet haben oder ein Admin den Zugriff entzogen hat; ein abgelaufenes Token bedeutet, dass die automatische Erneuerung während der Sitzung fehlgeschlagen ist.
Beide Meldungen melden eine Ablehnung, die die API für eine von Claude Code gesendete Anfrage zurückgegeben hat. Wenn die gespeicherte Anmeldung nach einer fehlgeschlagenen Erneuerung bereits gelöscht wurde, sehen Sie stattdessen Anmeldung abgelaufen. Wenn Sie sich mit einem langlebigen Token in CLAUDE_CODE_OAUTH_TOKEN authentifizieren, sehen Sie dieselben Meldungen, wenn dieses Token abläuft oder widerrufen wird.
OAuth token revoked · Please run /login
Please run /login · API Error: 401 OAuth token has expired ...
Was Sie tun können:
- Führen Sie
/loginaus, um sich erneut anzumelden - Wenn Sie sich mit der Umgebungsvariable
CLAUDE_CODE_OAUTH_TOKENauthentifizieren, sendet Claude Code nach einer mit 401 fehlgeschlagenen Anfrage weiterhin den von Ihnen gesetzten Wert, statt zum Token einer gespeicherten Anmeldung zu wechseln./statuszeigt diese Anmeldedaten als ZeileAuth tokenmit dem WertCLAUDE_CODE_OAUTH_TOKEN. Erzeugen Sie mitclaude setup-tokenein neues Token und starten Sie damit neu, oder heben Sie die Variable auf und führen Sie/loginaus. Vor v2.1.225 konnte Claude Code den Wert der Variable während der Sitzung durch das kurzlebige Zugriffstoken einer gespeicherten Anmeldung ersetzen, und die Sitzung schlug erneut mit 401-Fehlern fehl, sobald dieses Token abgelaufen war. - Bei wiederholten Aufforderungen zur Anmeldung über mehrere Starts hinweg finden Sie unter Fehlerbehebung Prüfungen der Systemuhr und Schritte zur Wiederherstellung des Anmeldedatenspeichers unter macOS
- Für andere Fehler, einschließlich
403 Forbiddenund Problemen mit dem OAuth-Browser, siehe Anmeldung und Authentifizierung
API Error: 401 Invalid authentication credentials
Die API hat das Format Ihrer Anmeldedaten erkannt, aber das dahinterstehende Konto oder die Organisation abgelehnt. Anthropic gibt diese Meldung zurück, wenn Anmeldedaten kürzlich widerrufen wurden, wenn eine Organisation deaktiviert wurde oder Ihren Zugriff entfernt hat oder wenn das Konto selbst deaktiviert wurde; ein abgelaufenes Token ist also nicht die Ursache. Die Anmeldedaten können Ihre gespeicherte Anmeldung oder ein genehmigter ANTHROPIC_API_KEY sein, und die Behebung unterscheidet sich. Führen Sie daher zuerst /status aus, um zu sehen, welche davon aktiv sind.
Please run /login · API Error: 401 Invalid authentication credentials
Was Sie tun können:
- Wenn
/statuseine ZeileAPI keyanzeigt, die nicht als nicht verwendet markiert ist, ist ein genehmigterANTHROPIC_API_KEYdie aktive Anmeldedatenquelle und hat Vorrang vor Ihrer Anmeldung, sodass/loginihn nicht ersetzt. Rotieren Sie den Schlüssel in der Claude Console oder greifen Sie auf Ihr Abonnement zurück, indem Sieunset ANTHROPIC_API_KEYausführen, in PowerShellRemove-Item Env:ANTHROPIC_API_KEY. - Wenn
/statusnur Ihre Anmeldung anzeigt, führen Sie einmal/loginaus. Wenn die Anmeldedaten widerrufen wurden, ersetzt eine neue Anmeldung sie. - Wenn dieselbe Meldung für dasselbe Anmeldekonto erneut erscheint, ist das Konto oder die Organisation nicht mehr aktiv. Prüfen Sie das Konto und die Organisation, die
/statusmeldet, und bitten Sie den Admin Ihrer Organisation, den Zugriff wiederherzustellen. - Wenn
ANTHROPIC_BASE_URLauf ein LLM-Gateway verweist, ist der Text nach401die Meldung Ihres Gateways und nicht die von Anthropic, und/loginändert daran nichts. Korrigieren Sie stattdessen die Anmeldedaten, die Ihr Gateway erwartet.
Anmeldung abgelaufen
Claude Code hat versucht, Ihre gespeicherte claude.ai-Anmeldung zu erneuern, und der OAuth-Dienst hat das gespeicherte Refresh-Token abgelehnt, daher hat Claude Code die gespeicherten Anmeldedaten gelöscht. Danach stoppt jede Modellanfrage lokal mit dieser Meldung, bevor sie die API erreicht, da nur /login neue Anmeldedaten erstellen kann.
Vor v2.1.206 hat Claude Code die Modellanfrage trotzdem mit den in der Umgebung verbliebenen Anmeldedaten gesendet, und jedes Modell schlug dann mit Es gibt ein Problem mit dem ausgewählten Modell oder einem 401 fehl, statt zur Anmeldung aufzufordern.
Login expired · Please run /login
Im nicht interaktiven Modus (-p) und im Agent SDK lautet die Meldung wie folgt, und der strukturierte Fehlercode ist authentication_failed:
Failed to authenticate: OAuth session expired and could not be refreshed
Dies ist nicht derselbe Zustand wie OAuth-Token widerrufen oder abgelaufen. Jene Meldungen melden eine Ablehnung, die die API zurückgegeben hat. Login expired erzeugt Claude Code selbst für eine Anmeldung, deren Erneuerung bereits fehlgeschlagen ist, daher sendet es keine Anfrage. Wenn die Erneuerung fehlschlägt, weil das Konto selbst gesperrt ist und nicht die Anmeldung veraltet ist, zeigt Claude Code stattdessen Ihr Konto ist gesperrt an.
Sitzungen, die mit einem API-Schlüssel, CLAUDE_CODE_OAUTH_TOKEN oder einem Drittanbieter authentifiziert sind, verwenden die gespeicherte Anmeldung nicht und sehen diese Meldung nie.
Sie können diesen Zustand prüfen, bevor eine Anfrage fehlschlägt: /status zeigt eine Zeile Login mit dem Wert Expired — log in again sowie die Organisation und E-Mail-Adresse, die für die abgelaufene Anmeldung gespeichert sind. Die Zeile erscheint nur, wenn die gespeicherte Anmeldung Ihre aktiven Anmeldedaten sind und nicht mehr erneuert werden kann. Auf andere Weise authentifizierte Sitzungen zeigen die Zeile nicht an, auch wenn eine abgelaufene Anmeldung gespeichert bleibt. Vor v2.1.210 gab /status in diesem Zustand keinen Hinweis darauf, dass jemals eine Anmeldung existiert hatte, da die gelöschten Anmeldedaten nichts zu melden hinterließen.
Was Sie tun können:
- Führen Sie
/loginaus, um sich erneut anzumelden. Erneute Versuche ohne Anmeldung zeigen bei jeder Anfrage dieselbe Meldung. - Wenn Sie sich in einem anderen Claude Code-Fenster mit Ihrem claude.ai-Konto anmelden, erfahren Sie unter Nicht angemeldet, wann diese Sitzung diese Anmeldung automatisch verwendet.
- Führen Sie im nicht interaktiven Modus
claudein derselben Umgebung aus, schließen Sie/loginab und führen Sie dann Ihren Befehl erneut aus. Für Automatisierung, die sich nicht interaktiv anmelden kann, authentifizieren Sie sich mitANTHROPIC_API_KEYoder erzeugen Sie ein langlebiges Token mitclaude setup-token. - Wenn die Anmeldung weiterhin fehlschlägt, siehe Anmeldung und Authentifizierung
Ihre Anmeldung konnte nicht erneuert werden, weil ein anderer Claude Code-Prozess sie erneuert
Diese Meldung bedeutet nicht, dass Ihre Anmeldung abgelehnt wurde. Ihre gespeicherte claude.ai-Anmeldung war abgelaufen und musste erneuert werden. Ein anderer Claude Code-Prozess auf demselben Rechner hielt die gemeinsame Erneuerungssperre oder wurde beendet und hat sie zurückgelassen, und die Erneuerung machte keinen Fortschritt, während diese Sitzung wartete. Claude Code stoppt die Anfrage vor dem Senden:
Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login
Im nicht interaktiven Modus (-p) und im Agent SDK lautet die Meldung wie folgt, und der strukturierte Fehlercode ist server_error:
Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again
Sitzungen, die mit einem API-Schlüssel, CLAUDE_CODE_OAUTH_TOKEN oder einem Drittanbieter authentifiziert sind, verwenden die gespeicherte Anmeldung nicht und sehen diese Meldung nie.
Was Sie tun können:
- Versuchen Sie es in einer Minute erneut. Wenn ein anderer Prozess die Erneuerung zuerst abschließt, verwendet diese Sitzung die erneuerte Anmeldung.
- Wenn die Meldung immer wieder erscheint, schließen Sie andere Claude Code-Fenster und -Prozesse und versuchen Sie es dann erneut.
- Wenn sie erscheint, obwohl kein anderer Claude Code-Prozess läuft, führen Sie
/loginaus. Eine erneute Anmeldung wartet nicht auf die Erneuerungssperre.
Ihre Anmeldung konnte nicht gespeichert werden
Sie haben sich mit claude.ai angemeldet, aber Claude Code konnte die Anmeldung nicht in seinem Anmeldedatenspeicher speichern, daher wurde die Anmeldung nicht abgeschlossen. Unter macOS kann dies passieren, wenn der Anmeldeschlüsselbund gesperrt wird, zum Beispiel im Ruhezustand oder bei Inaktivität, nachdem Claude Code während derselben Sitzung bereits Anmeldedaten darin gelesen oder gespeichert hat.
Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.
Couldn't save your login. Try logging in again.
Die erste Form erscheint unter macOS, die zweite überall sonst. Ein vorübergehender Fehler des Anmeldedatenspeichers, etwa eine Zeitüberschreitung oder ein nicht lesbarer Speicher, erzeugt dieselbe Meldung.
Was Sie tun können:
- Entsperren Sie unter macOS den Anmeldeschlüsselbund und führen Sie dann
/loginerneut aus - Führen Sie auf anderen Plattformen
/loginerneut aus - Wenn die Anmeldung weiterhin nicht gespeichert wird, finden Sie unter Nicht angemeldet oder Token abgelaufen den Befehl zum Entsperren des Schlüsselbunds und weitere Schritte zur Wiederherstellung des Anmeldedatenspeichers
OAuth-Callback-Server konnte nicht gestartet werden
Wenn /login, claude auth login oder claude setup-token Sie über den Browser anmeldet, öffnet Claude Code einen Port auf 127.0.0.1, damit Ihr Browser das Anmeldeergebnis an Claude Code zurückgeben kann. Diese Meldung bedeutet, dass Claude Code diesen Port nicht öffnen konnte, und die Anmeldung stoppt, bevor ein Browserfenster oder eine Anmelde-URL erscheint:
Failed to start OAuth callback server: Failed to start server. Is port 0 in use?
Wenn Ihre Meldung mit Is port 0 in use? endet, ist der Versuch, auf der IPv4-Loopback-Adresse 127.0.0.1 zu lauschen, vollständig fehlgeschlagen. Da der Fehler auftritt, bevor eine Anmelde-URL existiert, steht der Ablauf Paste code here if prompted als Umgehung nicht zur Verfügung.
Was Sie tun können:
- Um sich sofort ohne den lokalen Listener anzumelden: Wenn Sie ein claude.ai-Abonnement verwenden, führen Sie
claude setup-tokenauf einem Rechner aus, auf dem die Anmeldung funktioniert, und setzen Sie das ausgegebene Token auf diesem Rechner alsCLAUDE_CODE_OAUTH_TOKEN. Andernfalls setzen SieANTHROPIC_API_KEYauf einen Schlüssel aus der Claude Console. Rangfolge der Authentifizierung erklärt, wie Claude Code zwischen Anmeldedaten wählt. - Um stattdessen auf diesem Rechner die Anmeldung über den Browser zu verwenden, muss Claude Code auf
127.0.0.1lauschen können. Wenn es in einer Sandbox läuft, prüfen Sie, ob die Richtlinie der Sandbox das Lauschen auf lokalen Ports erlaubt, und führen Sie dann/loginerneut aus. Wenn es lauschen können sollte und trotzdem fehlschlägt, führen Sie/feedbackaus, damit der Bericht Ihre Umgebungsdetails enthält.
Claude-Anmeldung nicht akzeptiert
Sie haben versucht, eine Cloud-Sitzung zu starten, und der Server hat die Erstellung mit einem 401 verweigert: Er hat die Claude-Anmeldung, die dieser Rechner gesendet hat, nicht akzeptiert, meist weil die Anmeldung abgelaufen ist oder widerrufen wurde.
Der erste Teil der Zeile ist der eigene Grund des Servers, sofern er einen angibt. Andernfalls lautet die Zeile:
Claude login not accepted · Run /login, then try again
Was Sie tun können:
- Führen Sie
/loginaus, schließen Sie die Anmeldung ab und starten Sie die Sitzung dann erneut
Artefakte erfordern eine claude.ai-Anmeldung
Claude Code hat das Veröffentlichen oder Lesen eines Artefakts verweigert, weil die Sitzung keine claude.ai-Anmeldung hat, die sie für Artefakte verwenden kann.
Jede Form der Meldung beginnt mit denselben Worten, gefolgt von einer Abhilfe, die davon abhängt, wie sich Ihre Sitzung authentifiziert. Ohne konkurrierende Anmeldedaten lautet sie:
Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.
Was Sie tun können:
- Führen Sie
/loginaus und wählen Sie Claude account with subscription. Die Option Anthropic Console account stellt keine claude.ai-Anmeldedaten bereit. - Wenn die Meldung Anmeldedaten nennt, die Vorrang haben, etwa
ANTHROPIC_API_KEY, eineapiKeyHelper-Einstellung oder einen durch ein früheres/logingespeicherten Console-Schlüssel, entfernen Sie diese wie in der Meldung beschrieben und führen Sie dann/loginaus - Wenn die Meldung besagt, dass sich diese Remote-Sitzung über den Rechner authentifiziert, der sie gestartet hat, melden Sie sich auf diesem Rechner bei claude.ai an und verbinden Sie die Sitzung dann erneut
- Wenn die Meldung besagt, dass die Anmeldedaten von der Host-Umgebung der Sitzung bereitgestellt werden, können Sie sie in dieser Sitzung nicht ändern; starten Sie eine Sitzung, die bei claude.ai angemeldet ist
- Unter Verfügbarkeit finden Sie die weiteren Voraussetzungen für Artefakte, etwa Plan, Modellanbieter und Organisationsrichtlinie
Administratorrichtlinie erfordert eine Cloud-Gateway-Anmeldung
Die verwalteten Einstellungen eines Administrators auf diesem Rechner setzen forceLoginMethod auf "gateway" oder setzen forceLoginGatewayUrl. Sofern Sie nicht über eine Variable wie CLAUDE_CODE_USE_BEDROCK einen Cloud-Anbieter auswählen, akzeptiert Claude Code dann nur die Anmeldung über das Claude Apps Gateway. Sie sehen eine von zwei Meldungen:
Not signed in to the Cloud gateway — run /login.
Modellanfragen schlagen mit dieser Meldung fehl, wenn die Sitzung keine Gateway-Anmeldung hat, zum Beispiel weil Sie /login nicht ausgeführt haben, seit die Richtlinie den Rechner erreicht hat.
Wenn der Rechner außerdem von Anthropic ausgestellte Anmeldedaten enthält und die verwalteten Einstellungen forceLoginMethod oder forceLoginOrgUUID setzen, wird Claude Code stattdessen beim Start beendet. Diese Anmeldedaten können eine Variable ANTHROPIC_API_KEY oder ANTHROPIC_AUTH_TOKEN, eine apiKeyHelper-Einstellung oder ein API-Schlüssel sein, der durch eine frühere Anmeldung über die Claude Console gespeichert wurde. Die Meldung beginnt mit:
Administrator policy requires a Cloud gateway sign-in on this machine; the
Anthropic-issued credential configured here (ANTHROPIC_API_KEY,
ANTHROPIC_AUTH_TOKEN, or apiKeyHelper) is not used.
Was Sie tun können:
- Führen Sie
/loginaus und schließen Sie die Anmeldung auf dem Bildschirm Cloud gateway ab - Bei der Startmeldung entfernen Sie die von Ihnen konfigurierte Einstellung
ANTHROPIC_API_KEY,ANTHROPIC_AUTH_TOKENoderapiKeyHelper. Um einen gespeicherten Console-API-Schlüssel zu entfernen, führen Sieclaude auth logoutaus, wodurch auch eine gespeicherte claude.ai-Anmeldung entfernt wird. Wenn Sie mitCLAUDE_CODE_USE_*einen Cloud-Anbieter auswählen, startet die Sitzung dann ohne Anmeldung. Andernfalls starten Sieclaudeund führen/loginaus - Wenn Sie der Meinung sind, dass der Rechner das Gateway nicht erfordern sollte, bitten Sie den Administrator, der ihn verwaltet,
forceLoginMethodundforceLoginGatewayUrlaus seinen verwalteten Einstellungen zu entfernen
In v2.1.265 hat eine Regression die erste Meldung auch in einigen LLM-Gateway- und Proxy-Konfigurationen angezeigt, die sich mit einem API-Schlüssel, apiKeyHelper oder benutzerdefinierten Headern authentifizieren, selbst ohne Administratorvorgabe auf dem Rechner. Aktualisieren Sie auf v2.1.266 oder höher. Sie müssen Ihre Konfiguration nicht ändern.
Vor v2.1.261 hat Claude Code auf Rechnern, die forceLoginMethod auf "gateway" setzen, eine verbliebene gespeicherte Anmeldung verwendet, statt Modellanfragen fehlschlagen zu lassen, und konfigurierte Anmeldedaten aus der Umgebung mit This machine's managed settings require a first-party login statt mit der Startmeldung gemeldet. Vor v2.1.265 hat ein Rechner, dessen verwaltete Einstellungen nur forceLoginGatewayUrl setzen, die Gateway-Anmeldung nicht erfordert, und Claude Code hat dort verbliebene Anmeldedaten verwendet.
Ihr Konto ist gesperrt
Das Claude-Konto hinter Ihrer Anmeldung wurde gesperrt. Claude Code zeigt die erste Meldung, wenn es versucht, Ihre gespeicherte Anmeldung zu erneuern, und dabei von der Sperre erfährt, und die zweite, wenn eine im Browser abgeschlossene Anmeldung sie meldet:
Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted
Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted
Eine erneute Anmeldung mit demselben Konto beseitigt die Meldung nicht, da die Sperre für das Konto und nicht für die Anmeldung gilt. Im nicht interaktiven Modus (-p) und im Agent SDK ist der strukturierte Fehlercode account_on_hold. Vor v2.1.235 hat Claude Code ein gesperrtes Konto als Login expired · Please run /login gemeldet, dessen Schritte zur Behebung eine Sperre nicht aufheben können.
Was Sie tun können:
- Öffnen Sie den Link in der Meldung, um die Details der Sperre anzuzeigen oder Einspruch einzulegen
- Wenn Sie ein anderes Claude-Konto oder einen API-Schlüssel haben, der nicht von der Sperre betroffen ist, können Sie weiterarbeiten, während die Sperre geklärt wird: Führen Sie
/loginmit diesem Konto aus oder setzen Sie den Schlüssel mitANTHROPIC_API_KEY
Anmeldung des Anthropic-Profils abgelaufen
Claude Code authentifiziert sich über ein Anthropic-Anmeldedatenprofil, dessen gespeicherte Anmeldedaten abgelaufen sind, und das Profil enthält keine Refresh-Anmeldedaten, mit denen Claude Code sie erneuern könnte. Claude Code stoppt jede Anfrage lokal, ohne sie erneut zu versuchen, da ein erneuter Versuch dieselben abgelaufenen Anmeldedaten lesen würde.
Anthropic profile login expired · Re-authenticate your Anthropic profile
Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile
Dies erscheint nur, wenn die aktiven Anmeldedaten aus einem Anthropic-Anmeldedatenprofil stammen, das Sie mit der Umgebungsvariable ANTHROPIC_PROFILE auswählen, das Claude Code als aktives Profil in Ihrem Anthropic-Konfigurationsverzeichnis erkennt oder das Claude Code geschrieben hat, als Sie sich ohne API-Schlüssel angemeldet haben. Sitzungen, die sich mit einem API-Schlüssel, einem Bearer-Token wie ANTHROPIC_AUTH_TOKEN oder einem Drittanbieter authentifizieren, sehen diese Meldung nie.
Auf einem Rechner, der die schlüssellose Anmeldung anbietet, führen Sie /login aus, wählen das Anthropic Console-Konto und melden sich erneut an, um ein Profil zu erneuern, das die schlüssellose Console-Anmeldung oder ant auth login der Claude Platform CLI geschrieben hat. Claude Code ersetzt die abgelaufenen Anmeldedaten in diesem Profil. Bei einem Federation-Profil oder einem Profil, das ein anderes Tool erstellt hat, erneuert /login die Anmeldedaten nicht. Welche Form Sie sehen, hängt davon ab, ob Sie das Profil ausgewählt haben oder Claude Code es erkannt hat:
- Wenn Sie
ANTHROPIC_PROFILEexplizit setzen, endet die Meldung mitRe-authenticate your Anthropic profile. - Wenn Claude Code das Profil aus Ihrem Konfigurationsverzeichnis erkannt hat, bietet die Meldung
/loginan, da Claude Code einem funktionierenden/loginVorrang vor dem erkannten Profil gibt und sich dann stattdessen mit Ihrem claude.ai- oder Console-Konto authentifiziert. Vor v2.1.234 zeigte Claude Code auch in diesem Fall die FormRe-authenticate your Anthropic profile.
Was Sie tun können:
- Melden Sie sich erneut beim Profil an und versuchen Sie es dann erneut: Auf einem Rechner, der die schlüssellose Anmeldung anbietet, führen Sie
/loginaus und wählen das Anthropic Console-Konto für ein Profil, das die schlüssellose Console-Anmeldung oderant auth loginder Claude Platform CLI geschrieben hat; für andere Profile verwenden Sie das Tool, das sie erstellt hat - Wenn ein Administrator die Anmeldedaten des Profils bereitgestellt hat, bitten Sie ihn, neue auszustellen
- Führen Sie
/statusaus, um die aktive Quelle für Anmeldedaten und den Profilnamen zu prüfen - Um das Profil nicht mehr zu verwenden, heben Sie
ANTHROPIC_PROFILEauf, falls Sie es gesetzt haben, und authentifizieren Sie sich dann auf andere Weise, etwa mit/loginoderANTHROPIC_API_KEY
OAuth-Scope-Anforderung
Das gespeicherte Token ist älter als ein Berechtigungs-Scope, den eine neuere Funktion benötigt:
OAuth token does not meet scope requirement: user:profile
Was Sie tun können:
- Führen Sie
/loginaus, um ein neues Token mit den aktuellen Scopes zu erhalten. Sie müssen sich vorher nicht abmelden.
claude.ai hat das Sitzungs-Token abgelehnt
Eine Anfrage eines claude.ai-Konnektors ist fehlgeschlagen, weil claude.ai das Token aus Ihrer Claude Code-Anmeldung abgelehnt hat. Das abgelehnte Token ist Ihre Anmeldung, nicht die eigene Autorisierung des Konnektors in claude.ai, daher behebt eine erneute Autorisierung des Konnektors das Problem nicht. In /mcp wird der Konnektor als session token rejected angezeigt, und seine Detailansicht lautet:
claude.ai rejected the session token. Run /login, then reconnect.
Was Sie tun können:
- Führen Sie
/loginaus, um sich erneut anzumelden - Verbinden Sie den Konnektor über
/mcperneut oder führen Sie/mcp reconnect <server>aus. Eine erneute Verbindung vor der erneuten Anmeldung lässt den Konnektor im selben Zustand. Die Option Reconnect im/mcp-Panel meldetyour claude.ai session token was rejected; die eingetippte Form/mcp reconnect <server>meldet eine erfolgreiche Wiederverbindung, obwohl das Token weiterhin abgelehnt wird.
Vor v2.1.222 hat Claude Code den Konnektor stattdessen als authentifizierungsbedürftig markiert, was Sie zum Autorisierungsablauf des Konnektors geführt hat, obwohl dessen Abschluss den Zustand nicht behoben hat.
MCP-Server erfordert eine erneute Anmeldung
Ein Remote-MCP-Server hat die Anmeldedaten bei einem Tool-Aufruf während der Sitzung abgelehnt, meist weil eine Anmeldung oder ein Token abgelaufen ist oder weil dem Token eine Berechtigung fehlt, die das Tool benötigt. Der Tool-Aufruf schlägt fehl, und /mcp markiert den Server als authentifizierungsbedürftig.
Bei einem Server, bei dem Sie sich über Claude Code anmelden, einschließlich eines claude.ai-Konnektors, ist die Anmeldung abgelaufen oder wurde widerrufen:
MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)
Führen Sie /mcp aus, wählen Sie den Server aus und melden Sie sich über sein Menü erneut an.
Bei einem Server, der mit einem headersHelper-Skript konfiguriert ist, hat Claude Code den Helper bereits erneut ausgeführt und den Aufruf einmal wiederholt, bevor diese Meldung angezeigt wird:
MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)
Prüfen Sie, ob der Helper Anmeldedaten zurückgibt, die der Server akzeptiert, und verbinden Sie sich dann über /mcp erneut, wodurch der Helper erneut ausgeführt wird.
Bei einem Server mit einem statischen Authorization-Header in seiner Konfiguration:
MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)
Aktualisieren Sie den Header-Wert dort, wo der Server konfiguriert ist, und verbinden Sie sich dann über /mcp erneut.
Vor v2.1.273 zeigten die Fälle mit abgelaufener Anmeldung, headersHelper und Authorization-Header alle MCP server "<name>" requires re-authorization (token expired) an.
Ein Server kann einen Tool-Aufruf auch mit HTTP 403 insufficient_scope ablehnen, um Sie aufzufordern, einen Scope zu autorisieren, manchmal einen, den Ihr Token bereits enthält. Die Meldung nennt diesen Scope:
MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate
Führen Sie /mcp aus, wählen Sie den Server aus und authentifizieren Sie sich über sein Menü erneut.
Wenn die Konfiguration des Servers weder oauth.scopes noch authServerMetadataUrl setzt, fordert Claude Code den Scope an, den der Server genannt hat. Ist eine dieser Einstellungen gesetzt, fordert Claude Code stattdessen die Scopes dieser Einstellung an. Wenn Sie oauth.scopes festgelegt haben, fügen Sie den fehlenden Scope zu dieser Liste hinzu, bevor Sie sich erneut authentifizieren.
Vor v2.1.274 zeigte dieser Fall die Meldung needs you to sign in again an, und vor v2.1.273 zeigte er wie die anderen Fälle requires re-authorization (token expired) an.
MCP-Server-URL fehlt oder ist keine gültige URL
Claude Code hat es abgelehnt, eine OAuth-Anmeldung für einen Remote-MCP-Server zu starten, weil die konfigurierte url des Servers nicht als URL geparst werden kann. Sofern Claude Code für den Server kein spezifischeres Konfigurationsproblem zu melden hat, gibt claude mcp login <name> in Ihrer Shell die Ablehnung wie folgt aus:
Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.
Was Sie tun können:
- Setzen Sie die
urldes Eintrags dort, wo der Server konfiguriert ist, auf den tatsächlichen Endpunkt des Servers, oder setzen Sie die Umgebungsvariable, die seine${VAR}-Referenz nennt, und führen Sie die Anmeldung dann erneut aus.
Issuer stimmt in der Autorisierungsantwort nicht überein
Während einer MCP-OAuth-Anmeldung hat der Autorisierungsserver mit einem iss-Parameter zu Claude Code zurückgeleitet, der nicht den Issuer nennt, den Claude Code aus den OAuth-Metadaten des Servers erwartet hat. Ein falscher Issuer in diesem Schritt ist das Erscheinungsbild eines Mix-up-Angriffs auf den Autorisierungsserver, daher lässt Claude Code die Anmeldung fehlschlagen, statt den Autorisierungscode einzutauschen. Claude Code zeigt den Fehler nach der Browseranmeldung im Servermenü von /mcp an:
Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"
expected ist der Issuer aus den OAuth-Metadaten des Servers, und received ist der iss-Wert, den die Weiterleitung enthielt. Eine Anmeldung, deren Weiterleitung keinen iss-Parameter enthält, besteht die Prüfung, es sei denn, die Metadaten des Servers setzen authorization_response_iss_parameter_supported; in diesem Fall lässt Claude Code die Anmeldung fehlschlagen.
Was Sie tun können:
- Versuchen Sie die Anmeldung über
/mcperneut - Wenn der Fehler erneut auftritt, melden Sie ihn dem Betreiber des Servers. Die Behebung erfolgt serverseitig: Der Autorisierungsserver muss im
iss-Parameter denselben Issuer zurückgeben, den er in seinen Metadaten angibt - Um eine Verbindung herzustellen, während der Server korrigiert wird, starten Sie Claude Code mit
MCP_SDK_GENERATION=v1, dessen Runtime diese Prüfung nicht durchführt. Dadurch entfällt ein Schutz vor Mix-up-Angriffen, daher ist die serverseitige Behebung vorzuziehen
Vor v2.1.232 hat Claude Code die v2-Runtime nur im Rahmen eines schrittweisen Rollouts oder dann verwendet, wenn Sie MCP_SDK_GENERATION=v2 gesetzt haben.
Senden von Anmeldedaten an Token-Endpunkt ohne HTTPS verweigert
In der v2-Runtime sendet Claude Code eine MCP-OAuth-Token-Anfrage nur an einen Token-Endpunkt, der über HTTPS oder unter localhost, 127.0.0.1 oder ::1 bereitgestellt wird. Diese Meldung bedeutet, dass der Token-Endpunkt des Servers keines von beidem ist, daher hat Claude Code vor dem Senden der Anfrage gestoppt. Das geschieht nach der Browseranmeldung, sodass der Browserschritt zunächst erfolgreich ist, und erneut jedes Mal, wenn Claude Code das Token des Servers erneuert.
In ihrer vollständigen Form stammt die Meldung aus dem MCP SDK und zitiert den abgelehnten Token-Endpunkt. Im Debug-Log folgt sie bei einer Anmeldung auf Error during auth completion: und bei einer Erneuerung auf Token refresh failed:. In Ihrer Shell gibt claude mcp login <name> sie nach Couldn't complete authentication for "<name>": aus, und in einer Sitzung zeigt /mcp sie im Menü des Servers an:
Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).
Claude Code behandelt eine Server-URL mit Query-String oder einem langen, zufällig aussehenden Pfadsegment als möglicherweise geheim. Bei einem solchen Server schwärzt es die Anmeldefehler, die das MCP SDK auslöst, bevor es sie anzeigt oder protokolliert. Dieser Fehler erscheint dann als kurzer Name, der sich zwischen Releases ändern kann, etwa io, gefolgt von from the MCP SDK for und der geschwärzten Server-URL. Andere Fehler aus dem MCP SDK haben dort dieselbe Form. Die geschwärzte Meldung kann nur dann dieser Fehler sein, wenn der Token-Endpunkt des Servers ein einfaches http:// unter einer anderen Adresse als localhost, 127.0.0.1 oder ::1 ist.
Was Sie tun können:
- Stellen Sie diesen Token-Endpunkt über HTTPS bereit, zum Beispiel indem Sie den Server hinter einen Reverse-Proxy oder Tunnel stellen, der TLS terminiert, und den Server so konfigurieren, dass er die
https://-Adresse angibt - Um eine Verbindung herzustellen, ohne den Server zu ändern, starten Sie Claude Code mit
MCP_SDK_GENERATION=v1, dessen Runtime diese Regel nicht anwendet und die Token-Anfrage über einfaches HTTP sendet. Diese Wahl gilt, bis Sie Claude Code beenden, und betrifft jeden Server. Die v1-Runtime überspringt außerdem die Issuer-Prüfung, daher ist die Bereitstellung des Endpunkts über HTTPS vorzuziehen
AWS-Anmeldedaten abgelaufen oder ungültig
Ihr AWS-Sitzungs-Token ist abgelaufen oder wurde abgelehnt. Diese Meldung erscheint bei einem 401 von Claude Platform on AWS oder dem Mantle-Endpunkt; auf diese Weise melden diese Anbieter ein abgelaufenes Sicherheits-Token.
Der Handlungshinweis in der Mitte variiert je nach Ihrer Einrichtung. Der feste Teil ist das vorangestellte AWS credentials expired or invalid:
AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...
Vor v2.1.273 erschien diese Meldung nur, wenn awsAuthRefresh konfiguriert war.
Was Sie tun können:
- Wenn der Hinweis besagt, dass die Anmeldedaten von dieser Umgebung verwaltet werden, verwaltet die App, die Claude Code gestartet hat, die Anmeldedaten, und die anderen Schritte hier gelten nicht: Versuchen Sie es erneut oder wenden Sie sich an Ihren Administrator
- Wenn
awsAuthRefreshgesetzt ist, führen Sie den in der Meldung genannten Befehl, etwaaws sso login --profile myprofile, in einem anderen Terminal aus, schließen Sie die Browseranmeldung ab und versuchen Sie es dann erneut. Andernfalls erneuern Sie die von Ihnen verwendeten AWS-Anmeldedaten selbst: Ihre SSO-Anmeldung, Zugriffsschlüssel, Ihren API-Schlüssel oder Ihr Proxy-Token - Wenn
awsAuthRefreshin einer interaktiven Sitzung gesetzt ist, können Sie stattdessen/loginausführen, 3rd-party platform wählen und dann unter Using 3rd-party platforms die Option Claude Platform on AWS · refresh credentials auswählen, um denselben Befehl auszuführen, ohne Claude Code neu zu starten. Siehe AWS-Anmeldedaten konfigurieren - Wenn der Fehler erneut auftritt, nachdem der Erneuerungsbefehl erfolgreich war, prüfen Sie mit
aws sts get-caller-identityin derselben Shell und mit demselben Profil, ob die Identität außerhalb von Claude Code gültig ist
AWS-Authentifizierung fehlgeschlagen
Ihr AWS-Anbieter hat einen 403 zurückgegeben, oder Amazon Bedrock hat einen 401 zurückgegeben.
Amazon Bedrock meldet ein abgelaufenes Sicherheits-Token als 403, aber ein 403 ist auch die Art, wie es eine Autorisierungsverweigerung meldet, etwa eine AccessDeniedException aufgrund einer fehlenden IAM-Berechtigung. Claude Code kann diese beiden Ursachen nicht unterscheiden.
Ein 401 von Amazon Bedrock landet ebenfalls hier und nicht unter AWS-Anmeldedaten abgelaufen oder ungültig, da Amazon Bedrock ein abgelaufenes Token nicht als 401 meldet. Ein 401 von diesem Endpunkt stammt in der Regel von etwas anderem im Anfragepfad, etwa einem Unternehmens-Proxy.
Eine Erneuerung der Anmeldedaten behebt ein abgelaufenes Token, kann aber die anderen Ursachen nicht beheben, daher bietet die Meldung beides an:
AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...
Der Handlungshinweis in der Mitte variiert je nach Ihrer Einrichtung. Der feste Teil ist das vorangestellte AWS authentication failed.
Wenn der 403 die Antwort von Amazon Bedrock ist, dass Sie keinen Zugriff auf das Modell mit der angegebenen Modell-ID haben, fordert der Hinweis Sie stattdessen auf, das Modell für Ihr Konto und Ihre Region in der Amazon Bedrock-Konsole zu aktivieren.
Vor v2.1.273 erschien diese Meldung nur, wenn awsAuthRefresh konfiguriert war.
Was Sie tun können:
- Wenn der Hinweis besagt, dass die Anmeldedaten von dieser Umgebung verwaltet werden, verwaltet die App, die Claude Code gestartet hat, die Anmeldedaten, und die anderen Schritte hier gelten nicht: Versuchen Sie es erneut oder wenden Sie sich an Ihren Administrator
- Erneuern Sie Ihre AWS-Anmeldedaten für den Fall, dass abgelaufene Anmeldedaten die Ursache sind: Führen Sie den in der Meldung genannten
awsAuthRefresh-Befehl aus, sofern einer gesetzt ist, oder erneuern Sie Ihre SSO-Anmeldung, Zugriffsschlüssel, Ihren API-Schlüssel oder Ihr Proxy-Token selbst - Wenn Ihre Anmeldedaten aktuell sind, prüfen Sie, ob die IAM-Berechtigungen aus der IAM-Konfiguration der von Ihnen verwendeten Identität zugewiesen sind und ob das ausgewählte Modell für Ihr Konto und Ihre Region aktiviert ist
- Führen Sie
aws sts get-caller-identityaus, um zu prüfen, welche Identität Ihre Anfragen verwenden
Google Cloud-Anmeldedaten abgelaufen oder ungültig
Ihre Google Cloud-Anmeldedaten für Google Cloud's Agent Platform sind abgelaufen oder wurden abgelehnt: Die Anfrage hat einen 401 zurückgegeben; auf diese Weise meldet Agent Platform abgelaufene Anmeldedaten.
Der Handlungshinweis in der Mitte variiert je nach Ihrer Einrichtung. Der feste Teil ist das vorangestellte Google Cloud credentials expired or invalid:
Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...
Was Sie tun können:
- Wenn der Hinweis besagt, dass die Anmeldedaten von dieser Umgebung verwaltet werden, verwaltet die App, die Claude Code gestartet hat, die Anmeldedaten, und die anderen Schritte hier gelten nicht: Versuchen Sie es erneut oder wenden Sie sich an Ihren Administrator
- Wenn Sie sich mit Application Default Credentials authentifizieren, führen Sie den in der Meldung genannten
gcpAuthRefresh-Befehl odergcloud auth application-default loginaus, schließen Sie die Anmeldung ab und versuchen Sie es dann erneut - Wenn Sie über ein LLM-Gateway mit gesetztem
CLAUDE_CODE_SKIP_VERTEX_AUTHrouten, erneuern Sie das Gateway-Token inANTHROPIC_AUTH_TOKENoderANTHROPIC_CUSTOM_HEADERSund versuchen Sie es dann erneut - Wenn Sie sich mit einer Schlüsseldatei eines Dienstkontos authentifizieren, prüfen Sie, ob
GOOGLE_APPLICATION_CREDENTIALSauf einen gültigen Schlüssel verweist. Siehe GCP-Anmeldedaten konfigurieren - Wenn der Fehler nach einer Erneuerung erneut auftritt, prüfen Sie mit
gcloud auth application-default print-access-tokenin derselben Shell, ob die Identität außerhalb von Claude Code funktioniert
Vor v2.1.273 zeigte ein 401 von Agent Platform stattdessen die allgemeine Meldung Please run /login oder Failed to authenticate an, mit der sich Google Cloud-Anmeldedaten nicht erneuern lassen.
Google Cloud-Authentifizierung fehlgeschlagen
Google Cloud's Agent Platform hat einen 403 zurückgegeben, den es für Autorisierungsverweigerungen und nicht für abgelaufene Anmeldedaten verwendet. In der Regel fehlt der Identität, mit der Sie sich authentifizieren, eine IAM-Berechtigung, oder das Modell ist für Ihr Projekt nicht aktiviert.
Der Handlungshinweis in der Mitte variiert je nach Ihrer Einrichtung. Der feste Teil ist das vorangestellte Google Cloud authentication failed:
Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...
Was Sie tun können:
- Wenn der Hinweis besagt, dass die Anmeldedaten von dieser Umgebung verwaltet werden, verwaltet die App, die Claude Code gestartet hat, die Anmeldedaten, und die anderen Schritte hier gelten nicht: Versuchen Sie es erneut oder wenden Sie sich an Ihren Administrator
- Prüfen Sie, ob die Rollen aus der IAM-Konfiguration der Identität zugewiesen sind, mit der Sie sich authentifizieren
- Prüfen Sie, ob das Modell für Ihr Projekt aktiviert ist. Siehe Modellzugriff anfordern
Vor v2.1.273 zeigte ein 403 von Agent Platform stattdessen die allgemeine Meldung Please run /login oder Failed to authenticate an, mit der sich Google Cloud-Anmeldedaten nicht erneuern lassen.
Microsoft Foundry authentication failed
Microsoft Foundry hat einen 401 oder 403 zurückgegeben: Die Azure-Anmeldedaten in der Anfrage wurden abgelehnt, oder die dahinterstehende Identität hat keinen Zugriff auf die Foundry-Ressource. /login kann keine Azure-Anmeldedaten erzeugen. Der Handlungshinweis in der Mitte variiert je nach Ihrer Konfiguration. Der stabile Teil ist das einleitende Microsoft Foundry authentication failed:
Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...
Was zu tun ist:
- Wenn der Hinweis besagt, dass die Anmeldedaten von dieser Umgebung verwaltet werden, ist die Anwendung, die Claude Code gestartet hat, für die Anmeldedaten zuständig, und die anderen Schritte hier gelten nicht: Versuchen Sie es erneut, oder wenden Sie sich an Ihren Administrator
- Aktualisieren Sie die Anmeldedaten, die Sie unter Azure-Anmeldedaten konfigurieren eingerichtet haben: Rotieren Sie
ANTHROPIC_FOUNDRY_API_KEY, erzeugen Sie ein neuesANTHROPIC_FOUNDRY_AUTH_TOKEN, oder führen Sieaz loginaus, damit sich die standardmäßige Microsoft-Entra-Anmeldedatenkette erneut anmelden kann - Wenn die Anmeldedaten aktuell sind, prüfen Sie, ob die Identität Zugriff auf die Foundry-Ressource hat. Siehe Azure-RBAC-Konfiguration
Vor v2.1.273 zeigte ein 401 oder 403 von Microsoft Foundry stattdessen die allgemeine Meldung Please run /login oder Failed to authenticate an, mit der sich Azure-Anmeldedaten nicht aktualisieren lassen.
Could not load AWS or Google Cloud credentials
Claude Code konnte auf dem Rechner, auf dem es läuft, keine verwendbaren Anmeldedaten aus der AWS-Anmeldedaten-Anbieterkette oder aus Ihren Google Application Default Credentials beziehen, sodass keine Anfrage Ihren Cloud-Anbieter erreicht hat. Claude Code leert seine zwischengespeicherten Anmeldedaten und versucht es zweimal erneut, bevor diese Meldung angezeigt wird. Das Detail nach dem · nennt die konkrete Ursache, etwa eine abgelaufene SSO-Sitzung, fehlende Application Default Credentials, gemeldet als Could not load the default credentials, oder eine widerrufene Anmeldung, gemeldet als invalid_grant:
API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.
API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.
Im nicht interaktiven Modus mit -p und im Agent SDK lautet der strukturierte Fehlercode cloud_credential_error. Vor v2.1.267 zeigte die Meldung nur den Detailtext nach API Error: an, und der strukturierte Code war server_error oder unknown.
Was zu tun ist:
- Führen Sie den Anmeldebefehl Ihres Anbieters aus, etwa
aws sso login --profile myprofileodergcloud auth application-default login, und versuchen Sie es dann erneut. Unter Bedrock-, Agent-Platform- oder Foundry-Anmeldedaten werden nicht geladen erfahren Sie, wie Sie die Anmeldedaten außerhalb von Claude Code überprüfen - Wenn das Detail
AWS default-chain credential resolve timed outlautet, ist die Kette hängen geblieben und nicht fehlgeschlagen; folgen Sie stattdessen AWS default-chain credential resolve timed out
AWS default-chain credential resolve timed out
Die standardmäßige AWS-Anmeldedaten-Anbieterkette hat innerhalb von 60 Sekunden keine Anmeldedaten geliefert, daher hat Claude Code die Auflösung abgebrochen und die Anfrage fehlschlagen lassen. Dieser Timeout ist eine Ursache für Could not load AWS or Google Cloud credentials. Der Fehler liegt in der lokalen Auflösung der Anmeldedaten: Die Anfrage hat Amazon Bedrock, Claude Platform on AWS oder den Mantle-Endpunkt nie erreicht. Claude Code leert seinen Anmeldedaten-Cache und versucht es erneut, bevor dieser Fehler angezeigt wird; wenn Sie ihn sehen, ist die Kette also bei wiederholten Versuchen hängen geblieben.
API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.
Häufige Ursachen sind ein credential_process-Befehl in Ihrem AWS-Profil, der auf eine Eingabe wartet, die er nicht erhalten kann, sowie ein Container oder eine VM, deren Instance Metadata Service (IMDS) nie auf die Abfrage der Kette antwortet.
Vor v2.1.267 lautete die Meldung API Error: AWS default-chain credential resolve timed out.
Vor v2.1.207 ließ eine hängende Kette die Anfrage unbegrenzt warten, anstatt sie fehlschlagen zu lassen.
Was zu tun ist:
- Führen Sie
aws sts get-caller-identityin derselben Shell mit demselbenAWS_PROFILEaus. Wenn der Befehl ebenfalls hängt, korrigieren Sie das Profil; eincredential_process-Befehl, der interaktiv nachfragt, ist eine häufige Ursache. - Schließen Sie den Anmeldeschritt ab, bevor Sie Claude Code starten, zum Beispiel mit
aws sso login --profile myprofile - Wenn Ihre Kette eine interaktive Anmeldung ausführt, die berechtigterweise mehr als 60 Sekunden benötigt, etwa SSO mit MFA über einen Wrapper wie
aws-vault, erhöhen Sie das Limit in Millisekunden mitCLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS
Bedrock setup verification timed out waiting for AWS
Ein Aufruf an AWS während der Überprüfung der Anmeldedaten im Bedrock-Einrichtungsassistenten, etwa die Suche nach Anmeldedaten oder die Identitätsprüfung, wurde nicht innerhalb des 60-Sekunden-Limits abgeschlossen. Der Assistent wartet nicht länger und lässt den Überprüfungsschritt fehlschlagen:
Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.
Die Zahl entspricht Ihrem Limit: standardmäßig 60 Sekunden oder der Wert, den Sie in CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS festgelegt haben.
Häufige Ursachen sind ein Netzwerk oder Proxy, der Anfragen an AWS blockiert, einschließlich der Aktualisierung des SSO-Tokens, sowie ein Credential Helper, der noch auf eine Eingabe wartet, die Sie nicht sehen können. Erhöhen Sie das Limit nur, wenn der Helper berechtigterweise mehr Zeit benötigt.
Eine einzelne hängende Anfrage an AWS kann auch an ihrem eigenen Timeout pro Anfrage scheitern, was im selben Schritt eine kürzere Meldung anzeigt:
A request to AWS timed out. Check your network and proxy settings, then try again.
Wenn dieselben Timeouts beim Schritt zum Festlegen des Modells auftreten, markiert der Assistent ein Modell als unreachable, anstatt eine der beiden Meldungen anzuzeigen.
Was zu tun ist:
- Führen Sie
aws sts get-caller-identityin derselben Shell aus. Wenn der Befehl ebenfalls hängt, liegt die Blockade außerhalb von Claude Code, in Ihrem Netzwerk, Ihrem Proxy oder dem Credential Helper in Ihrem AWS-Profil; beheben Sie das zuerst. - Schließen Sie jede interaktive Anmeldung ab, bevor Sie den Assistenten öffnen, zum Beispiel mit
aws sso login --profile myprofile - Wenn ein Credential Helper in Ihrem AWS-Profil berechtigterweise länger als 60 Sekunden benötigt, um Sie zur Eingabe aufzufordern, erhöhen Sie das Limit in Millisekunden mit
CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS
Cloud gateway session expired
Sie haben sich über ein Claude-Apps-Gateway angemeldet, und die auf diesem Rechner gespeicherte Gateway-Sitzung ist abgelaufen und konnte nicht erneuert werden, oder das Gateway akzeptiert sie nicht mehr, zum Beispiel nachdem das JWT-Secret des Gateways ersetzt wurde. Wenn Sie diese Zeile sehen, wenn Sie claude interaktiv starten, wurde die Sitzung ohne Anmeldung am Gateway geöffnet:
Cloud gateway session expired — run /login to reconnect.
Dieselbe Zeile kann mitten in einer Sitzung erscheinen, wenn die Gateway-Anmeldedaten ablaufen und Claude Code sie nicht erneuern kann.
In einem nicht interaktiven Lauf, einer Hintergrund- oder anderen unbeaufsichtigten Sitzung oder einem anderen claude-Unterbefehl als claude auth beendet sich Claude Code stattdessen mit dieser Meldung, wenn das Gateway die Sitzung nicht mehr akzeptiert:
Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.
Was zu tun ist:
- Führen Sie
/loginin der Sitzung aus und schließen Sie die Anmeldung im Browser ab - Bei einem nicht interaktiven Start starten Sie
claudein derselben Umgebung, führen/loginaus und führen dann Ihren Befehl erneut aus
Sign-in timed out while waiting for you to continue
Während einer Anmeldung über ein Claude-Apps-Gateway hat das Gateway das angemeldete Konto genannt, und Claude Code hat Sie gebeten, es zu bestätigen, bevor die Anmeldedaten gespeichert werden. Sie haben die Bestätigung über den Ablauf der Anmeldung hinaus offen gelassen, und das Gateway hat kein Refresh-Token ausgegeben, mit dem sie hätte erneuert werden können, daher hat Claude Code nichts gespeichert, als Sie fortgefahren sind:
Sign-in timed out while waiting for you to continue. Try again.
Was zu tun ist:
- Führen Sie
/loginerneut aus und bestätigen Sie das Konto, bevor die Anmeldung abläuft
Gateway refused the request
Sie sind über ein Claude-Apps-Gateway angemeldet, und eine Anfrage hat einen 403 zurückgegeben: Das Gateway oder der dahinterliegende Upstream hat sie abgelehnt. Eine erneute Anmeldung ändert nichts an einer Ablehnung, daher verweist die Meldung auf Ihren Gateway-Administrator:
Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...
Was zu tun ist:
- Bitten Sie Ihren Gateway-Administrator, die Anfrage nachzuverfolgen. Der Teil nach
API Error:enthält die Ablehnung, die das Gateway zurückgegeben hat - Für Administratoren: Eine Zugriffskontrollregel auf dem Gateway gibt einen 403 zurück, den das Audit-Log mit seinem Grund aufzeichnet, und eine Autorisierungsverweigerung eines Upstreams wird gemäß Upstream-Fehlermeldungen durchgereicht
Vor v2.1.273 zeigte ein 403 bei einer Gateway-Sitzung stattdessen die allgemeine Meldung Please run /login oder Failed to authenticate an, und eine erneute Anmeldung hob die Ablehnung nicht auf.
Netzwerk- und Verbindungsfehler
Die meisten dieser Fehler bedeuten, dass eine Netzwerkanfrage von Claude Code ihr Ziel nicht erreicht hat oder etwas zwischen Claude Code und der API die Antwort auf dem Rückweg verändert hat. Wenn ein Eintrag auch eine lokale Ursache hat, wie z. B. einen fehlgeschlagenen Archivschreibvorgang, wird dies im Text angegeben. Sie entstehen normalerweise in Ihrem lokalen Netzwerk, Proxy oder Firewall oder in der Netzwerkrichtlinie der Cloud-Umgebung.
Unable to connect to API
Die TCP-Verbindung zur API ist fehlgeschlagen oder wurde nie abgeschlossen. Bei den häufigen Verbindungsfehlercodes benennt die Nachricht die Art des Fehlers und behält den Code in Klammern:
Unable to connect to API. Check your internet connection
Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)
Can't reach the API server — check your internet or DNS (ENOTFOUND)
No internet route — check your connection or VPN (EHOSTUNREACH)
Couldn't connect through your proxy (ERR_PROXY_TUNNEL) — the proxy refused the tunnel: check its credentials and that it allows this host
Connection dropped (ECONNRESET)
Request timed out. Check your internet connection and proxy settings
Ein Code, den Claude Code nicht erkennt, wird als Unable to connect to API angezeigt, gefolgt vom Code in Klammern. Einige dieser Meldungen können mehr als einen Code anzeigen: Connection refused kann ConnectionRefused oder ECONNREFUSED anzeigen, und Can't reach the API server kann ENOTFOUND oder FailedToOpenSocket anzeigen.
Vor v2.1.227 las sich jede dieser codierten Meldungen als Unable to connect to API gefolgt vom Code, z. B. Unable to connect to API (ECONNREFUSED).
Häufige Ursachen sind fehlender Internetzugang, ein VPN, das api.anthropic.com blockiert, oder ein erforderlicher Unternehmens-Proxy, der nicht konfiguriert ist.
Was zu tun ist:
- Bestätigen Sie, dass Sie den API-Host aus derselben Shell erreichen können, indem Sie
curl -I https://api.anthropic.comausführen. Verwenden Sie unter Windows PowerShellcurl.exe -I https://api.anthropic.com, damit der integrierteInvoke-WebRequest-Alias nicht verwendet wird. - Wenn Sie sich hinter einem Unternehmens-Proxy befinden, setzen Sie
HTTPS_PROXYvor dem Starten von Claude Code und siehe Netzwerkkonfiguration - Wenn Sie über ein LLM-Gateway oder Relay weiterleiten, setzen Sie
ANTHROPIC_BASE_URLauf dessen Adresse. Siehe Claude Code mit einem LLM-Gateway verbinden für die Einrichtung. - Stellen Sie sicher, dass Ihre Firewall die in Netzwerkzugriffsanforderungen aufgelisteten Hosts zulässt
- Intermittierende Fehler werden automatisch wiederholt; anhaltende Fehler deuten auf ein lokales Netzwerkproblem hin
Wenn curl erfolgreich ist, aber Claude Code immer noch fehlschlägt, liegt die Ursache normalerweise in etwas zwischen der Laufzeit und dem Netzwerk, nicht im Netzwerk selbst:
- Überprüfen Sie, ob
ANTHROPIC_BASE_URLgesetzt ist, indem Sieecho $ANTHROPIC_BASE_URLausführen, oderecho $env:ANTHROPIC_BASE_URLin PowerShell, und suchen Sie danach imenv-Block Ihrer Einstellungsdateien. Wenn es gesetzt ist, sendet Claude Code Modellanfragen an diese Adresse statt anapi.anthropic.com, daher erzeugt ein veralteter Wert, der auf einen lokalen Proxy oder ein Gateway verweist, das nicht mehr läuft,Connection refused, obwohlcurldie API erreicht. Entfernen Sie ihn aus Ihrem Shell-Profil oder den Einstellungen und starten Sie Claude Code aus einem neuen Terminal. - Unter Linux und WSL überprüfen Sie
/etc/resolv.confauf einen unerreichbaren Nameserver. WSL kann insbesondere einen fehlerhaften Resolver vom Host erben. - Unter macOS kann ein VPN-Client, der getrennt oder deinstalliert wurde, eine Tunnel-Schnittstelle oder Routing-Regel hinterlassen. Überprüfen Sie
ifconfigauf veralteteutun-Schnittstellen und entfernen Sie die Netzwerkerweiterung des VPN in den Systemeinstellungen. - Docker Desktop und ähnliche Container-Laufzeiten können ausgehenden Datenverkehr abfangen. Beenden Sie diese und versuchen Sie es erneut, um dies auszuschließen.
Unable to connect to Anthropic services
Während der Ersteinrichtung überprüft Claude Code, ob es api.anthropic.com und platform.claude.com erreichen kann, bevor der Anmeldeschritt angezeigt wird. Wenn eine der Überprüfungen fehlschlägt, druckt Claude Code den Grund aus und beendet sich.
Unable to connect to Anthropic services
Failed to connect to api.anthropic.com: ECONNREFUSED
Connection to api.anthropic.com timed out after 10 seconds
A proxy is configured via HTTPS_PROXY. Check that it allows connections to the host above.
Claude Code sendet die Überprüfung durch die gleiche Proxy-Konfiguration wie API-Anfragen und gibt jeder Sonde 10 Sekunden. Wenn die fehlgeschlagene Sonde durch einen Proxy ging, benennt die Nachricht die Umgebungsvariable, die ihn konfiguriert hat, wie z. B. HTTPS_PROXY. Vor v2.1.222 verwendete die Überprüfung einen anderen Proxy-Transport ohne Timeout: Hinter einer Proxy-URL mit dem https://-Schema könnte sie auf Checking connectivity... unbegrenzt steckenbleiben und dann fehlschlagen, obwohl API-Anfragen durch denselben Proxy erfolgreich sind.
Claude Code überspringt diese Überprüfung, wenn eine verwaltete Einstellungsdatei, MDM-Richtlinie oder Richtlinien-Hilfsprogramm forceLoginMethod auf "gateway" setzt oder forceLoginGatewayUrl ohne forceLoginMethod setzt. Mit einer dieser Konfigurationen öffnet Claude Code den Anmeldeschritt auf dem Cloud-Gateway-Bildschirm statt einer Anthropic-Anmeldemethode. Claude Code überspringt die Überprüfung auch, wenn eine verwaltete Einstellungsquelle auf dem Computer vorhanden ist, aber nicht gelesen werden kann, da diese Quelle die Gateway-Konfiguration enthalten kann. Vor v2.1.247 führte Claude Code die Überprüfung auch unter dieser Konfiguration aus und beendete sich mit diesem Fehler, wenn die Anthropic-Endpunkte unerreichbar waren.
Was zu tun ist:
- Wenn die Nachricht eine Proxy-Variable benennt, überprüfen Sie, dass ihr Wert auf den richtigen Proxy verweist, und bitten Sie Ihr Netzwerk-Team, HTTPS-Verbindungen durch ihn zum Host in der Nachricht zuzulassen. Siehe Netzwerkkonfiguration.
- Arbeiten Sie die Überprüfungen in Unable to connect to API durch. Der
curl-Test und die Firewall-Anleitung dort gelten auch für diese Überprüfung. - Wenn Ihr Netzwerk offen ist und der Fehler weiterhin besteht, ist Claude Code möglicherweise nicht in Ihrem Land verfügbar
Socket is closed
Socket is closed bedeutet, dass die Verbindung, die eine Streaming-Antwort übertrug, geschlossen wurde, während die Antwort noch ankam. Die häufigste Ursache ist ein Unternehmens-Proxy unter Windows, der einen etablierten Tunnel mitten in der Antwort abbricht.
Je nachdem, wie weit die Antwort fortgeschritten war, wiederholt Claude Code die Anfrage, behält das, was Claude produziert hat, oder beendet den Zug. Siehe Automatische Wiederholungen.
Vor v2.1.214 wiederholte Claude Code diesen Fehler nicht, und der Zug stoppte mit einem Fehler, der Socket is closed enthielt.
Was zu tun ist:
- Wenn Sie diesen Fehler sehen, aktualisieren Sie mit
claude updateauf v2.1.214 oder später und senden Sie Ihre Nachricht erneut - Wenn Züge hinter demselben Proxy nach dem Update weiterhin fehlschlagen, arbeiten Sie Unable to connect to API durch und überprüfen Sie die Proxy-Einrichtung in Netzwerkkonfiguration
API returned an empty or malformed response
Claude Code zeigt diesen Fehler an, wenn sein Nicht-Streaming-Wiederholungsversuch einer fehlgeschlagenen Streaming-Anfrage einen HTTP-Erfolgsstatus erhält, aber der Text keine Claude-API-Nachricht ist: häufig eine HTML-Fehler- oder Anmeldungsseite, ein leerer Text oder JSON in einem anderen Format. Ein Proxy, Gateway oder eine Netzwerk-Anmeldungsseite, die an der Stelle der API antwortet, ist die übliche Quelle. Claude Code wiederholt die Anfrage nicht, und der Zug endet mit diesem Fehler.
API returned an empty or malformed response (HTTP 200) — check for a proxy or gateway intercepting the request.
Nach dieser Eröffnung meldet die Nachricht, was zurückkam und welche Anfrage fehlgeschlagen ist:
- Eine
Response:-Klausel mit dem Inhaltstyp, der Art des Textes, wie z. B.body is an HTML pageoderempty body, seiner Größe in Bytes und ob die Antwort eine Anthropic-Anfrage-ID trug. Wenn die Antwort einen erkennbaren Server benennt, wie z. B.nginxodercloudflare, oder Zwischenkopfzeilen trägt, wie z. B.cf-rayodervia, listet die Klausel diese auch auf. - Ein Satz, der die ID der fehlgeschlagenen Streaming-Anfrage und den Fehler benennt, der die Wiederholung ausgelöst hat. Wenn ein Stream geöffnet wurde, bevor der Fehler auftrat, meldet er auch, wie viele Stream-Ereignisse ankamen und, falls vorhanden, wie lange der Stream stumm war, als der Versuch fehlschlug.
Vor v2.1.234 endete die Nachricht nach intercepting the request.
Vor v2.1.271 endete auch eine Antwort, die eine gültige API-Nachricht unter einem nicht-JSON-Inhaltstyp wie text/plain trug, den Zug mit diesem Fehler. Einige LLM-Gateways verwenden diesen Inhaltstyp für die Nicht-Streaming-Antwort.
Was zu tun ist:
- Lesen Sie die
Response:-Klausel, um zu sehen, welches System geantwortet hat. Ein HTML-Text, keine Anthropic-Anfrage-ID oder ein benannter Server wienginxodercloudflarebedeutet, dass etwas zwischen Claude Code und der API an seiner Stelle geantwortet hat - Wenn Sie über ein LLM-Gateway weiterleiten, testen Sie die Route mit einer direkten Anfrage und beheben Sie den Hop, der die Nicht-API-Antwort zurückgibt
- Führen Sie in einem Netzwerk mit einer Anmeldungsseite, wie z. B. Gast-Wi-Fi, die Anmeldung in einem Browser durch und versuchen Sie es erneut
- Wenn nur die Nicht-Streaming-Route durch Ihr Gateway fehlerhaft ist, setzen Sie
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK=1, um diesen Fallback auszuschalten, außer wenn der Streaming-Endpunkt selbst404zurückgibt, wo Claude Code immer noch zurückfällt
Streaming response ended before any complete data was received
Eine Streaming-Antwort von Ihrem Modell-Provider wurde abgeschlossen, ohne brauchbare Daten zu liefern, daher hat Claude Code die Anfrage ohne Streaming erneut gesendet, um den Zug zu beenden. Claude Code zeigt die Warnung einmal pro Sitzung, nur in interaktiven Sitzungen. Vor v2.1.239 wiederholte Claude Code stillschweigend ohne Streaming.
Streaming response ended before any complete data was received. Retrying without streaming. If this keeps happening, check any proxy or gateway between Claude Code and your model provider.
Claude Code sendet jede betroffene Anfrage zweimal: den leeren Streaming-Versuch und die Wiederholung. Die übliche Ursache ist ein Proxy oder Gateway, das den Streaming-Antwort-Text auf dem Rückweg verbraucht oder transformiert.
Was zu tun ist:
- Konfigurieren Sie jeden Proxy oder Gateway zwischen Claude Code und Ihrem Modell-Provider so, dass Streaming-Antwort-Texte und deren Header unverändert durchgeleitet werden
- Auf Amazon Bedrock siehe Streaming-Fehler hinter einem Gateway oder Proxy für die Header- und Text-Anforderungen
Bedrock streaming response has an unexpected content-type
Ein Gateway oder Proxy zwischen Claude Code und Amazon Bedrock transformiert den Streaming-Antwort-Text oder seinen Content-Type-Header. Amazon Bedrock streamt Antworten als application/vnd.amazon.eventstream. Anstatt einen Text zu dekodieren, den es nicht lesen kann, lehnt Claude Code eine erfolgreiche Streaming-Antwort ab, die einen anderen Inhaltstyp meldet. Claude Code wiederholt die Anfrage nicht.
Bedrock streaming response has content-type "text/event-stream"; expected "application/vnd.amazon.eventstream". A gateway or proxy between Claude Code and Bedrock is likely transforming the response body — Bedrock's binary event-stream format must be passed through unmodified. Set CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1 to suppress this check while the gateway is being fixed.
Vor v2.1.208 tauchte die gleiche Fehlkonfiguration als API Error: Truncated event message received auf, nachdem der gesamte Text gepuffert worden war.
Was zu tun ist:
- Konfigurieren Sie das Gateway so, dass der
InvokeModelWithResponseStream-Antwort-Text und seinContent-Type-Header unverändert durchgeleitet werden. Ein Vermittler, der den Stream als Server-Sent-Events erneut aussendet, ist eine häufige Ursache. - Das Setzen von
CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1verbirgt diesen Fehler, aber Claude Code dekodiert keinen binären Text unter einem umgeschriebenen Header, daher fallen diese Anfragen auf einen langsameren Nicht-Streaming-Pfad zurück. Siehe Streaming-Fehler hinter einem Gateway oder Proxy.
SSL certificate errors
Ein Proxy oder Sicherheitsgerät in Ihrem Netzwerk fängt TLS-Datenverkehr mit seinem eigenen Zertifikat ab, und Claude Code vertraut ihm nicht.
Unable to connect to API: SSL certificate verification failed (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). The certificate comes from an authority Claude Code doesn't trust, usually a TLS-inspecting corporate proxy or a gateway signed by a private CA: set NODE_EXTRA_CA_CERTS to that CA bundle, or add it to the system certificate store · see https://code.claude.com/docs/en/network-config
Unable to connect to API: Self-signed certificate detected (SELF_SIGNED_CERT_IN_CHAIN). The certificate comes from an authority Claude Code doesn't trust, usually a TLS-inspecting corporate proxy or a gateway signed by a private CA: set NODE_EXTRA_CA_CERTS to that CA bundle, or add it to the system certificate store · see https://code.claude.com/docs/en/network-config
Vor v2.1.273 endeten beide Meldungen bei Check your proxy or corporate SSL certificates, ohne den OpenSSL-Code oder den NODE_EXTRA_CA_CERTS-Hinweis.
Ab v2.1.199 wird ein Zertifikatvalidierungsfehler nicht wiederholt, daher wird dieser Fehler beim ersten Versuch angezeigt, anstatt nach dem vollständigen Wiederholungsbudget. Frühere Versionen verbrachten einige Minuten mit Wiederholungen, bevor sie ihn zeigten. Vorübergehende TLS-Bedingungen, wie z. B. ein Handshake-Timeout, werden immer noch wiederholt.
Während /login und der Startup-Konnektivitätsprüfung wird der gleiche Fehler mit einer anderen Nachricht gemeldet:
SSL certificate error (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). If you are behind a corporate proxy or TLS-intercepting firewall, set NODE_EXTRA_CA_CERTS to your CA bundle path, or ask IT to allowlist *.anthropic.com. Run `claude doctor` for details.
Auf Amazon Bedrock hängen die Anfragen, die Claude Code selbst an AWS sendet, wie z. B. die STS- und SSO-Rollenkredential-Aufrufe, Modellermittlung und die Überprüfungen des Setup-Assistenten, von der gleichen Zertifikatskonfiguration ab. Siehe Zertifikatsfehler hinter einem TLS-inspizierenden Proxy.
Was zu tun ist:
- Exportieren Sie das CA-Bundle Ihrer Organisation und verweisen Sie Claude Code mit
NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pemdarauf - Siehe Netzwerkkonfiguration für vollständige Einrichtungsanweisungen
- Setzen Sie nicht
NODE_TLS_REJECT_UNAUTHORIZED=0, was die Zertifikatvalidierung vollständig deaktiviert
Host not allowed in a cloud session
Eine ausgehende HTTP-Anfrage aus einer Cloud-Sitzung oder Routine wurde durch die Netzwerkrichtlinie der Umgebung blockiert.
HTTP 403
x-deny-reason: host_not_allowed
Sie können auch ein TLS-Zertifikat sehen, das nicht dem echten Zertifikat des Ziels entspricht. Cloud-Sitzungen leiten ausgehenden Datenverkehr durch einen Proxy weiter, der die Netzwerkrichtlinie durchsetzt, daher bedeutet ein nicht übereinstimmendes Zertifikat, dass der Proxy die Verbindung beendet hat, nicht das Ziel.
Dies ist kein clientseitiges Netzwerkproblem. Cloud-Sitzungen und Routinen laufen in einer sandboxierten VM, deren ausgehender Datenverkehr durch das Netzwerk der Sitzung auf die Zulassungsliste der Cloud-Umgebung gefiltert wird; GitHub-Operationen und MCP-Connector-Datenverkehr verwenden separate Kanäle, weshalb sie weiterhin funktionieren können, während andere Hosts blockiert sind. Die Standard-Umgebung verwendet Vertrauenswürdigen Zugriff, der die Standard-Zulassungsliste von Paket-Registries, Cloud-Provider-APIs, Container-Registries und häufigen Entwicklungsdomänen zulässt und andere Domänen auf diesem Pfad blockiert.
Was zu tun ist:
Diese Schritte ändern eine Ihrer eigenen Umgebungen. Eine organisationsweit gemeinsame Umgebung wird im Selector schreibgeschützt geöffnet, daher bitten Sie einen Besitzer, ihren Netzwerkzugriff von der Seite Cloud-Umgebungen in den Admin-Einstellungen zu ändern.
- Öffnen Sie Ihre Umgebung zum Bearbeiten, entweder aus dem Formular der Routine oder aus dem Umgebungs-Selector, wo Sie Cloud-Sitzungen starten.
- Im Dialog Cloud-Umgebung bearbeiten ändern Sie Netzwerkzugriff von Vertrauenswürdig zu Benutzerdefiniert, und fügen dann die blockierte Domäne zu Zulässige Domänen hinzu. Geben Sie eine Domäne pro Zeile ein. Aktivieren Sie Auch Standard-Liste häufiger Paketmanager einschließen, um die Standard-Zulassungsliste neben Ihren benutzerdefinierten Domänen zu behalten. Wählen Sie stattdessen Vollständig, wenn Sie uneingeschränkten Zugriff möchten.
- Klicken Sie auf Änderungen speichern. Die nächste Ausführung verwendet die aktualisierte Zulassungsliste. Für eine Cloud-Sitzung, die bereits offen ist, siehe wann eine Netzwerkzugriffsänderung bestehende Sitzungen erreicht.
Siehe Netzwerkzugriff für Zugriffsstufen und die Standard-Zulassungsliste. Lokale CLI-Sitzungen sind nicht von dieser Richtlinie betroffen.
The proxy refused the connection
Sie sehen diese Nachricht, wenn Claude ein Artefakt durch den Proxy liest, den Sie in HTTPS_PROXY oder einer verwandten Proxy-Variable setzen. Artefakt-Inhalte stammen von *.frame.claudeusercontent.com, daher sendet Claude Code zuerst dem Proxy eine CONNECT-Anfrage, um ihn zu bitten, einen Tunnel zu diesem Host zu öffnen. Wenn der Proxy sich weigert, erreicht nichts den Host, und die Nachricht trägt den HTTP-Status des Proxys:
artifact content fetch failed (proxy refused the connection: HTTP 407)
artifact content fetch failed (proxy refused the connection: HTTP 403)
the proxy refused the connection to the artifact's content host (HTTP 502)
Der Status ist die Antwort des Proxys auf die CONNECT. Der Host hat nie geantwortet, daher weist jeder Status auf eine andere Behebung hin:
HTTP 407: Der Proxy benötigt Anmeldedaten, die er nicht erhalten hat. Geben Sie diese in die Proxy-URL ein, wie Basic-Authentifizierung zeigt.HTTP 403: Der Proxy weigert sich, zu*.frame.claudeusercontent.comzu tunneln. Bitten Sie denjenigen, der den Proxy betreibt, diesen Host zuzulassen, den Netzwerkzugriffsanforderungen auflistet.- Jeder andere Status, wie z. B.
HTTP 502: Der Proxy hat den Tunnel aus eigenem Grund nicht geöffnet, wie z. B. Fehler beim Erreichen des Hosts. Schlagen Sie den Status in den Protokollen des Proxys nach. unreadable replyanstelle eines Status: Was sich unter der Proxy-Adresse befindet, hat nicht mit einer HTTP-Statuszeile geantwortet. Überprüfen Sie, dass die Adresse ein HTTP-Proxy ist.
Was zu tun ist:
- Überprüfen Sie die Adresse und Anmeldedaten in der Proxy-Variable, wie Proxy-Konfiguration beschreibt, und führen Sie dann
curl -x http://proxy.example.com:8080 -I https://api.anthropic.comaus der Shell aus, in der Sie Claude Code starten, mit Ihrer eigenen Proxy-URL. Unter Windows PowerShell führen Siecurl.exeaus. Wenn diese Sonde auf die gleiche Weise fehlschlägt, beheben Sie zuerst die Proxy-Einrichtung. Wenn sie erfolgreich ist, ist die Weigerung spezifisch für den Artefakt-Host. - Wenn Ihr Netzwerk Claude Code den direkten Zugriff auf den Artefakt-Host ermöglicht, fügen Sie
.frame.claudeusercontent.comzuNO_PROXYhinzu. Halten Sie den Eintrag eng: Ein breiterer.claudeusercontent.com-Eintrag umgeht auch den Proxy fürbridge.claudeusercontent.com, das Organisationen mit IP-Zulassungslisten auf dem Proxy behalten müssen.
Vor v2.1.238 meldete Claude Code einen abgelehnten Tunnel als generischen Netzwerkfehler.
The cloud environments service returned an empty or unexpected response
Claude Code fordert Ihre Cloud-Umgebungen-Liste an mehreren Stellen an, z. B. wenn Sie eine Cloud-Sitzung aus der CLI erstellen oder /remote-env ausführen. Wenn es die Antwort des Servers nicht lesen kann, zeigt es eine dieser Meldungen:
The cloud environments service returned an empty response (HTTP 200 with no body). This is usually temporary — try again in a moment.
The cloud environments service returned a response in an unexpected format (HTTP 200 with a non-JSON body). This is usually temporary — try again in a moment.
The cloud environments service returned a response in an unexpected format (HTTP 200 without a usable environments list). This is usually temporary — try again in a moment.
Der Server akzeptierte die Anfrage, antwortete aber mit einem Text, der nicht die Umgebungsliste ist: leer, nicht JSON oder JSON ohne die Liste. Dies begleitet normalerweise eine Störung auf der Serverseite und klärt sich von selbst. Je nachdem, welche Oberfläche die Liste anforderte, kann Claude Code ein Präfix hinzufügen, wie z. B. couldn't list environments: im /remote-env-Dialog.
Was zu tun ist:
- Wiederholen Sie die Aktion. Claude Code fordert die Liste jedes Mal erneut an
- Wenn die Nachricht weiterhin angezeigt wird, überprüfen Sie status.claude.com auf aktive Vorfälle
Vor v2.1.236 zeigte Claude Code stattdessen einen rohen JavaScript-TypeError.
Couldn't reconnect to your Remote Control session
Couldn't reconnect to your Remote Control session. Retry, or start a fresh session without --resume.
Das Fortsetzen mit claude --resume oder claude --continue stellt die Verbindung zur Remote Control-Sitzung wieder her, die in dieser Konversation aufgezeichnet wurde. Diese Nachricht bedeutet, dass die Wiederverbindung aus einem Grund fehlgeschlagen ist, der vorübergehend sein kann, wie z. B. eine Netzwerkunterbrechung oder ein Serverfehler, daher kann Claude Code nicht bestätigen, ob die Remote-Sitzung noch vorhanden ist. Ihre lokale Sitzung läuft ohne Remote Control weiter.
Was zu tun ist:
- Führen Sie
/remote-controlaus, um die Verbindung erneut zu versuchen - Starten Sie eine neue Sitzung mit
claude --remote-control, um eine neue Remote Control-Sitzung zu erstellen - Für andere Remote Control-Startup-Meldungen siehe Remote Control beheben
Wenn der Server stattdessen meldet, dass die vorherige Sitzung weg ist, sehen Sie diese Nachricht nicht. Claude Code startet eine neue Sitzung an ihrer Stelle oder zeigt Previous session is unavailable — run /remote-control to start a new one.
Sessions ended while this machine was offline
Claude Code zeigt diese Nachricht im Terminal, das claude remote-control ausführt, nachdem Ihr Computer lange genug offline war, dass der Server die Remote Control-Umgebung bereinigt hat, die Ihr Computer bediente. Die Sitzungen in dieser Umgebung endeten, und Sie können sie nicht fortsetzen. Die Anzahl ist die Anzahl der Sitzungen, die endeten.
2 sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.
Was zu tun ist:
- Wenn Claude Code beibehaltene Worktrees unter dieser Nachricht auflistet, holen Sie sich alle nicht committeten Arbeiten von ihnen
- Führen Sie
claude remote-controlaus, um eine frische Umgebung zu starten
Couldn't share the transcript
Nachdem Sie sich einigen, Ihr Sitzungs-Transkript aus einer Umfrage-Aufforderung zu teilen, wie z. B. der Sitzungsqualitäts-Umfrage, lädt Claude Code es zu Anthropic hoch oder speichert stattdessen ein lokales Archiv bei Drittanbietern, bei Claude-Apps-Gateway-Sitzungen und wenn keine Anthropic-Anmeldedaten verfügbar sind. Diese Nachricht bedeutet, dass die Freigabe nicht abgeschlossen wurde.
Couldn't share the transcript.
Der Upload muss in ein 8-MiB-Limit passen. Bei einer langen Sitzung löscht Claude Code progressiv Teile der Freigabe, zuerst die Modelleinstellungen der letzten Anfrage, dann die strukturierte Konversation und Subagent-Transkripte, und zeigt diese Nachricht nur an, wenn keine reduzierte Version gesendet werden kann oder ein Netzwerk- oder Serverfehler den Upload stoppt. Wenn Claude Code stattdessen ein lokales Archiv speichert, bedeutet die Nachricht, dass es das Archiv nicht schreiben konnte.
Was zu tun ist:
- Führen Sie
/feedbackaus, um das Transkript mit einer Beschreibung dessen zu senden, was passiert ist. Siehe Fehler melden, wenn/feedbackin Ihrer Umgebung nicht verfügbar ist - Wenn auch andere Anfragen fehlschlagen, überprüfen Sie Ihre Netzwerkverbindung und siehe Unable to connect to API
Couldn't send feedback
Sie haben einen Bericht aus dem /feedback, /bug oder /share-Dialog gesendet und der Upload zu Anthropic ist fehlgeschlagen. Der Dialog behält Ihren Text, damit Sie es erneut versuchen können.
Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.
Der Text nach dem Präfix benennt, was fehlgeschlagen ist:
: not signed in. Run /login, then retry.: Der Dialog lädt nur hoch, wenn Claude Code beim Öffnen Anthropic-Anmeldedaten gefunden hat, und keine waren zu dem Zeitpunkt, als Sie gesendet haben, nutzbar. Zum Beispiel haben Sie sich auf dieser Maschine in der Zwischenzeit abgemeldet, oder Ihre Anmeldung konnte nicht mehr aktualisiert werden.- Eine Klammer:
(server returned <status>)ist der Antwortcode des Dienstes;(request timed out)und(couldn't reach the service)sind Netzwerkfehler. Wenn Claude Code keinen Grund benennen kann, fehlt die Klammer.
In der Feedback-Entwurfswarteschlange endet der gleiche Fehler mit The draft is still queued. Try again later. statt, und der Entwurf bleibt in der Warteschlange für einen weiteren Versuch.
Was zu tun ist:
- Für die nicht-angemeldete Formulierung führen Sie
/loginaus und senden Sie erneut - Andernfalls senden Sie erneut; wenn auch andere Anfragen fehlschlagen, überprüfen Sie Ihre Netzwerkverbindung und siehe Unable to connect to API
- Wenn es weiterhin fehlschlägt, reichen Sie den Bericht unter github.com/anthropics/claude-code/issues ein, wie die Nachricht sagt
Vor v2.1.281 schlug jeder Versand mit dieser Nachricht fehl, sobald ein Remote Control Stop oder eine dringende sitzungsübergreifende Nachricht angekommen war, während der Dialog offen war. Schließen Sie auf diesen Versionen den Dialog, öffnen Sie ihn erneut und senden Sie erneut.
Anfragefehler
Diese Fehler beziehen sich auf den Inhalt Ihrer Anfrage. Die meisten werden von der API zurückgegeben, nachdem sie die Anfrage abgelehnt hat; einige werden lokal von Claude Code erzeugt, bevor eine Anfrage gesendet wird.
Eingabeaufforderung ist zu lang
Das Gespräch plus angehängte Dateien überschreitet das Kontextfenster des Modells.
Prompt is too long
In einer interaktiven Sitzung zeigt Claude Code diesen Fehler als:
Context limit reached · /compact or /clear to continue
Die Zeile nennt nur /clear, wenn DISABLE_COMPACT gesetzt ist. Längere Formen des Fehlers, wie die unten aufgeführte Kompaktierungsfehlform, behalten die Formulierung Prompt is too long · bei. In der -p-Ausgabe und dem Transkript bleibt der Text Prompt is too long.
Wenn Sie die automatische Kompaktierung in Ihren Benutzereinstellungen ausgeschaltet haben, sagt die Zeile auch:
Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on
Der Schalter Auto-compact in /config schreibt autoCompactEnabled in die Benutzereinstellungen. Der Hinweis wird nur angezeigt, wenn eine /config-Änderung wirksam wird. Beispielsweise wird er nicht angezeigt, wenn DISABLE_AUTO_COMPACT oder DISABLE_COMPACT die automatische Kompaktierung ausgeschaltet haben. Er wird auch nicht angezeigt, wenn ein höherrangiger Bereich, wie Projekt- oder verwaltete Einstellungen, autoCompactEnabled auf false setzt. Vor v2.1.235 enthielt die Zeile keinen Hinweis zur automatischen Kompaktierung.
Amazon Bedrock meldet diese Bedingung als Input is too long for requested model., was Claude Code auf die gleiche Weise behandelt. Vor v2.1.217 erkannte Claude Code die Bedrock-Formulierung nicht, daher wurde die automatische Kompaktierung nie ausgelöst und /compact schlug mit demselben Fehler fehl.
Ein Claude-Apps-Gateway meldet diese Bedingung als capability_rejected: prompt_too_long, wenn ein Cloud-Upstream die Anfrage in der eigenen Fehlerform des Anbieters ablehnt. Claude Code behandelt das Token gleich wie Prompt is too long. Vor v2.1.228 erkannte Claude Code das Token nicht, daher wurde die automatische Kompaktierung nicht ausgelöst.
Wenn die automatische Kompaktierung in diesem Durchgang ausgeführt wurde und bei einem zugrunde liegenden Fehler fehlgeschlagen ist, wie z. B. ein nicht verfügbares Modell oder ein Authentifizierungsfehler, benennt die Nachricht diesen Fehler nach einem Trennzeichen:
Prompt is too long · automatic compaction failed: <the underlying error>
Beheben Sie zunächst den benannten Fehler; /compact schlägt mit demselben Fehler fehl, bis Sie dies tun. Vor v2.1.229 zeigte eine fehlgeschlagene automatische Kompaktierung Prompt is too long ohne die Ursache an.
Wenn die automatische Kompaktierung bei diesem Fehler ausgeführt wird, fasst sie normalerweise Ihre ältesten Austausche zusammen und behält die neuesten. Als letzter Ausweg kompaktiert Claude Code anders:
- Wenn es keinen ganzen Austausch zusammenfassen kann, behält Claude Code Ihre neueste Eingabeaufforderung wörtlich und fasst alles davor zusammen.
- In diesem Fall fasst Claude Code das gesamte Gespräch zusammen, wenn das Gespräch nicht mit Ihrer Eingabeaufforderung endet.
Claude Code überspringt diese Wiederherstellung, wenn der Inhalt, den es weitergeben würde, keine Modellantwort enthält und weniger als etwa 1.000 Token Ihres eigenen Textes, wie z. B. einen kurzen erneuten Versuch nach einem übergroßen Einfügen. Führen Sie /clear aus, um neu zu beginnen. Vor v2.1.269 schlug die Kompaktierung fehl, wenn sie keinen ganzen Austausch zusammenfassen konnte, daher trat dieser Fehler bei jeder Runde erneut auf.
Ein Gespräch mit einem einzelnen Austausch hat keine früheren Runden zum Zusammenfassen. Wenn die automatische Kompaktierung auf einem ausgeführt würde, überspringt Claude Code den Versuch und erklärt, was stattdessen die Anfrage ausfüllt. Wenn die API keine Token-Zählungen in ihrem Fehler meldet, lautet die Nachricht:
Prompt is too long · this conversation is a single exchange and cannot be compacted — the request size comes mostly from system prompt, tool definitions, or attachments.
Wenn die API Token-Zählungen in ihrem Fehler meldet, vergleicht Claude Code diese mit seiner eigenen Schätzung der Gesprächsgröße, um zu bestimmen, was den größten Teil der Anfrage ausmacht: der Inhalt des Gesprächs selbst oder der System-Prompt, die Tool-Definitionen und der Anhang-Inhalt, den Claude Code damit sendet. Wenn der Inhalt des Gesprächs selbst den größten Teil der Anfrage ausmacht, lautet die Nachricht:
Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) and this conversation's own content is most of it. A single-exchange conversation cannot be compacted; start with less content (smaller files or pasted text).
Wenn der größte Teil der Anfrage außerhalb des Gesprächs liegt, lautet die Nachricht:
Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) but this conversation is only ~<conversation tokens> tokens — the rest is system prompt, tool definitions, and attachment content. A single-exchange conversation cannot be compacted; reduce attached files/tools or start with less context.
Vor v2.1.162 versuchte Claude Code die Kompaktierung trotzdem und zeigte das bloße Prompt is too long an, wenn es fehlschlug.
Was zu tun ist:
- Führen Sie
/compactaus, um frühere Runden zusammenzufassen und Platz freizugeben, oder/clear, um neu zu beginnen. Wenn/compactmitNot enough messages to compact.antwortet, ist das Gespräch ein einzelner Austausch ohne frühere Inhalte zum Zusammenfassen, daher wird der Platz von dieser einen Eingabeaufforderung und dem, was Claude Code mit jeder Anfrage sendet, beansprucht: Führen Sie/clearaus und senden Sie erneut mit weniger eingefügtem Text oder kleineren Anhängen, oder reduzieren Sie die Tool-Definitionen und Speicherdateien mit den folgenden Schritten - Führen Sie
/contextaus, um eine Aufschlüsselung zu sehen, was das Fenster verbraucht: System-Prompt, Tools, Speicherdateien und Nachrichten - Deaktivieren Sie MCP-Server, die Sie nicht verwenden, mit
/mcp disable <name>, um ihre Tool-Definitionen aus dem Kontext zu entfernen - Kürzen Sie große
CLAUDE.md-Speicherdateien, oder verschieben Sie Anweisungen in pfadgebundene Regeln, die nur bei Bedarf geladen werden - Die automatische Kompaktierung ist standardmäßig aktiviert und verhindert normalerweise diesen Fehler. Wenn Sie sie in
/configoder mitDISABLE_AUTO_COMPACTausgeschaltet haben, schalten Sie sie wieder ein. Wenn Sie sie ausgeschaltet lassen, führen Sie/compactselbst aus, bevor das Fenster voll wird.
Siehe Erkunden Sie das Kontextfenster für eine interaktive Ansicht, wie sich der Kontext füllt.
Kontext überschreitet das Token-Limit
/context zeigt diese Warnung oben in seiner Ausgabe an, wenn das Gespräch das Kontextfenster des Modells überschritten hat. Anfragen schlagen mit Prompt is too long fehl, bis Sie Platz freigeben. Eine interaktive Sitzung zeigt diesen Fehler als die Zeile Context limit reached an.
Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.
Wenn das Limit, das Sie überschritten haben, ein Kompaktierungsfenster ist, wie z. B. die 200K-Grenze bei 1M-Kontext-Modellen, lautet die Warnung anders. Ein Kompaktierungsfenster kann unter dem Kontextfenster des Modells liegen, daher können Anfragen danach immer noch erfolgreich sein.
Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.
Beide Formen nennen /clear statt /compact, wenn Sie DISABLE_COMPACT gesetzt haben.
Was zu tun ist:
- Führen Sie in einem mehrteiligen Gespräch
/compactaus, um frühere Runden zusammenzufassen und Platz freizugeben. Um stattdessen neu zu beginnen, führen Sie/clearaus - Weitere Möglichkeiten zur Reduzierung der Nutzung finden Sie unter Prompt is too long
Vor v2.1.216 zeigte /context die Nutzung über 100% ohne Warnzeile an, die erklärte, was das bedeutet oder wie man sich erholt.
Anfrage zu groß
Der rohe Anfragekörper überschritt das 32-MB-Limit der API vor der Tokenisierung, normalerweise wegen großer eingefügter Inhalte, Tool-Ergebnisse oder Anhänge. Dieses Limit ist getrennt vom Kontextfenster.
Request too large (max 32MB). Accumulated images and attachments in the conversation pushed the request over the limit. Run /compact, or double press esc to go back and remove attachments.
Wenn die Anfrage direkt zur Claude API ging und die API selbst sie ablehnte, misst Claude Code das Gespräch und formuliert die Nachricht danach, ob eine Wiederherstellung funktionieren kann. Über einen Proxy, ein Gateway oder einen Cloud-Anbieter erhalten Sie die allgemeine Nachricht. Die gemessenen Formen:
Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).: Bilder oder Dokumente haben die Anfrage über das Limit hinausgetrieben. Claude Code versucht es erneut, ohne sie.Request too large for the API's 32MB request limit: Die Nachrichten allein sind über dem Limit, daher sagt die Nachrichtcompacting cannot make it fitund Claude Code versucht es nicht erneut. Im nicht-interaktiven Modus sagt die Nachricht Ihnen, die Eingabe zu reduzieren oder stattdessen eine neue Sitzung zu starten.
Vor v2.1.212 schlugen Gespräche mit genug angesammelten Bildern bei jeder Runde mit Request too large (max 32MB). Double press esc to go back and try with a smaller file. fehl. Vor v2.1.229 zeigte Claude Code den Anhang-Rat für jede Ablehnung an, auch wenn die Kompaktierung nicht helfen konnte.
Was zu tun ist:
- Wenn die Nachricht sagt
compacting cannot make it fit, drücken Sie zweimal Esc, um über die Runde zurückzugehen, die den großen Inhalt hinzugefügt hat, oder führen Sie/clearaus, um neu zu beginnen - Führen Sie andernfalls
/compactaus, was angesammelte Bilder und Anhänge entfernt - Referenzieren Sie große Dateien nach Pfad, anstatt ihren Inhalt einzufügen, damit Claude sie in Chunks lesen kann
- Für Bilder siehe Bild war zu groß unten
Bild war zu groß
Ein eingefügtes oder angehängtes Bild überschreitet die Größen- oder Dimensionslimits der API.
Image was too large. Double press esc to go back and try again with a smaller image.
API Error: 400 ... image dimensions exceed max allowed size
Claude Code ersetzt das nicht verarbeitbare Bild durch einen Text-Platzhalter und versucht es erneut, daher sind nachfolgende Nachrichten erfolgreich. In Versionen vor 2.1.142 konnte ein eingefügtes Bild im Gespräch bleiben und denselben Fehler bei jeder nachfolgenden Nachricht wiederholen. Um sich auf diesen Versionen zu erholen, drücken Sie zweimal Esc und gehen Sie über die Runde zurück, in der das Bild hinzugefügt wurde.
Was zu tun ist:
- Ändern Sie die Größe des Bildes vor dem Einfügen. Die API akzeptiert Bilder bis zu 8000 Pixeln auf der längsten Kante für ein einzelnes Bild oder 2000 Pixel, wenn viele Bilder im Kontext sind.
- Machen Sie einen engeren Screenshot des relevanten Bereichs statt des gesamten Bildschirms
Bild konnte nicht in der Größe geändert werden
Claude Code konnte ein angehängtes Bild nicht herunterskalieren, bevor es zur API gesendet wurde.
Unable to resize image — image processing is unavailable and dimensions could not be read from the file header. Please convert the image to PNG, JPEG, GIF, or WebP.
Unable to resize image — dimensions exceed the 2000x2000px limit and image processing failed. Please resize the image to reduce its pixel dimensions.
Unable to resize image (… raw, … base64). The image exceeds the … API limit and compression failed. Please resize the image manually or use a smaller image.
Unable to resize image — could not verify image dimensions are within the 2000x2000px API limit.
Unable to resize image — it is a CMYK JPEG, which Claude Code cannot decode, and at …px it is over the 2000x2000px limit, so it cannot be sent. Re-save it as an RGB PNG or JPEG and try again.
Unable to resize image — it is an animated WebP whose first frame Claude Code cannot decode, and at …px it is over the 2000x2000px limit, so it cannot be sent. Save its first frame as a PNG or JPEG and try again.
Unable to resize image — its pixels could not be decoded (the file may be damaged, or use an encoding Claude Code cannot read), and it is over the … API limit (… raw, … base64), so it cannot be sent. Re-save it as a PNG or JPEG and try again.
Claude Code ändert normalerweise die Größe großer Bilder automatisch. Diese Fehler bedeuten, dass das Bild nicht dekodiert oder in die API-Limits angepasst werden konnte.
Was zu tun ist:
- Wenn die Nachricht Sie auffordert, das Bild zu konvertieren, konvertieren Sie es in PNG, JPEG, GIF oder WebP und hängen Sie es erneut an. Claude Code kann Dimensionen für diese Formate aus dem Datei-Header überprüfen, ohne das Bild zu dekodieren.
- Wenn die Nachricht ein Dimensions- oder Größenlimit meldet, ändern Sie die Größe oder komprimieren Sie das Bild unter diesem Limit, bevor Sie es anhängen.
- Wenn die Nachricht eine Ursache benennt, wie z. B. ein CMYK JPEG, ein animiertes WebP oder eine möglicherweise beschädigte Datei, speichern Sie das Bild im Format, das die Nachricht vorschlägt, erneut und hängen Sie es an.
PDF-Fehler
Das PDF, das Sie angehängt haben, konnte nicht verarbeitet werden. Die Nachrichten werden hier in ihrer nicht-interaktiven Form angezeigt; in einer interaktiven Sitzung fordern sie Sie stattdessen auf, zweimal Esc zu drücken und es erneut zu versuchen.
PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext).
PDF is password protected. Try using a CLI tool to extract or convert the PDF.
The PDF file was not valid. Try converting it to text first (e.g., pdftotext).
Was zu tun ist:
- Für übergroße PDFs bitten Sie Claude, einen Seitenbereich mit dem Read-Tool zu lesen, anstatt die ganze Datei anzuhängen, oder extrahieren Sie Text mit einem Tool wie
pdftotextund referenzieren Sie die Ausgabedatei nach Pfad - Für geschützte oder ungültige PDFs entfernen Sie das Passwort oder exportieren Sie die Datei erneut aus ihrer Quellanwendung, dann versuchen Sie es erneut
Wenn Claude einen Seitenbereich aus einem PDF mit dem Read-Tool liest, kann das Lesen mit einer anderen Nachricht fehlschlagen:
pdftoppm is not installed. Install poppler-utils (e.g. `brew install poppler` or `apt-get install poppler-utils`) to enable PDF page rendering.
Seitenbereich-Lesevorgänge rendern Seiten mit pdftoppm. Installieren Sie poppler-utils mit dem Befehl, den die Nachricht gibt, oder auf anderen Plattformen einen poppler-Build, der pdftoppm auf Ihren PATH setzt. Siehe Read-Tool-Verhalten für welche PDFs nach Seitenbereich gelesen werden.
Zusätzliche Eingaben sind nicht zulässig
Ein Proxy oder LLM-Gateway zwischen Claude Code und der API hat den anthropic-beta-Request-Header entfernt, daher lehnte die API Felder ab, die davon abhängen.
API Error: 400 ... Extra inputs are not permitted ... context_management
Claude Code sendet Beta-only-Felder wie context_management und effort zusammen mit einem anthropic-beta-Header, der sie aktiviert. Wenn ein Gateway den Body weiterleitet, aber den Header entfernt, sieht die API Felder, die sie nicht erkennt.
Was zu tun ist:
- Konfigurieren Sie Ihr Gateway, um den
anthropic-beta-Header weiterzuleiten. Siehe Feature-Durchleitung für das, was Gateways weiterleiten müssen. - Setzen Sie als Fallback
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1vor dem Start. Deaktivieren Sie Pre-Release-Funktionen behandelt den genauen Umfang.
Tool-Eingabeschema ist ungültig
Ein Tool in der Anfrage deklarierte ein input_schema, das die JSON-Schema-Validierung der API nicht besteht, daher lehnte die API die ganze Anfrage ab. Die Nummer nach tools. ist die Position des fehlgeschlagenen Tools in der Tool-Liste der Anfrage, nicht ein Name, den Sie nachschlagen können.
API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid
API Error: 400 ... tools.N.custom.input_schema.properties: Property keys should match pattern '^[a-zA-Z0-9_.-]{1,64}$'
Die erste Form bedeutet, dass das Schema kein gültiges JSON Schema Draft 2020-12 ist. Die zweite bedeutet, dass ein Name einer Top-Level-Eigenschaft nicht dem Muster entspricht, das die Nachricht angibt.
Claude Code schließt MCP-Tools aus, deren Eingabeschema diese Validierung nicht bestehen würde, wenn es die Tools eines Servers lädt, daher enthalten Anfragen normalerweise nie eines.
Bei einer Bereitstellung, bei der das Flag-Abrufen ausgeschaltet ist, oder auf einem Computer, dessen Flags nie angekommen sind, zeichnet Claude Code im Server-Log auf, welches Tool abgelehnt würde, sendet es aber trotzdem, daher kann dieser Fehler immer noch auftreten.
Der Fehler kann auch für ein Tool auftreten, dessen Schema einen anderen JSON-Schema-Dialekt als Draft 2020-12 in $schema deklariert. Claude Code überprüft diese Schemas nicht gegen das JSON-Schema-Meta-Schema, obwohl die Top-Level-Eigenschaftsnamen-Überprüfung immer noch gilt.
Vor v2.1.216 führte keine Bereitstellung die Ausschluss-Überprüfungen durch.
Was zu tun ist:
- Wenn Ihre Claude Code-Version älter als v2.1.216 ist, führen Sie
claude updateaus. - Entfernen oder deaktivieren Sie den MCP-Server, der das ungültige Schema deklariert. Der Fehler benennt das Tool nur nach Position. Bei v2.1.216 oder später überprüfen Sie das Log jedes Servers auf eine Zeile, die ein Tool benennt, dessen Eingabeschema abgelehnt würde. Wenn kein Log eines benennt, deaktivieren Sie Server nacheinander.
- Wenn Sie den Server verwalten, beheben Sie das
input_schemades Tools. Das Schema muss ein gültiges JSON Schema sein, und Top-Level-Eigenschaftsnamen müssen 1 bis 64 Zeichen lang sein und nur ASCII-Buchstaben und Ziffern,_,.und-verwenden. Siehe Tools mit ungültigen Eingabeschemas.
tool\_use.name über 200 Zeichen
Ein Tool-Aufruf in der Gesprächshistorie trägt einen Namen, der länger als die 200 Zeichen ist, die die API in einer Anfrage akzeptiert:
API Error: 400 ... tool_use.name: String should have at most 200 characters
Claude Code kürzt einen solchen Namen auf 200 Zeichen, wenn die Antwort ankommt und wenn es ein gespeichertes Gespräch lädt, daher schlägt der Aufruf mit einem gewöhnlichen No such tool available-Tool-Fehler fehl und das Gespräch wird ohne diesen API-Fehler fortgesetzt.
Was zu tun ist:
- Führen Sie
claude updateaus, dann setzen Sie das Gespräch fort. Die aktualisierte Version repariert den übergroßen Namen, wenn sie das Transkript lädt, daher funktioniert ein Gespräch, das steckengeblieben war, wieder.
Vor v2.1.281 blieb der übergroße Name in der Historie und die API lehnte jede Anfrage ab, die das Gespräch erneut sendete, einschließlich /compact und --resume, daher wiederholte sich dieser Fehler und das Gespräch war steckengeblieben.
Es gibt ein Problem mit dem ausgewählten Modell
Der konfigurierte Modellname wurde nicht erkannt oder Ihr Konto hat keinen Zugriff darauf. Ab v2.1.160 variiert der nachfolgende Hinweis, der hier in seiner interaktiven Form angezeigt wird, je nach Oberfläche.
There's an issue with the selected model (claude-...). It may not exist or you may not have access to it. Run /model to pick a different model.
Was zu tun ist:
- Interaktive CLI: Führen Sie
/modelaus, um aus Modellen auszuwählen, die für Ihr Konto verfügbar sind. - Nicht-interaktiver Modus (
-p): Übergeben Sie--modelmit einem gültigen Alias oder einer ID, oder setzen SieANTHROPIC_MODEL. Der Fehlertext zeigtRun --modelauf dieser Oberfläche. - Agent SDK: Der Fehlertext lässt den Hinweis weg, da das Modell programmgesteuert gesetzt wird. Setzen Sie
modelaufOptionsin TypeScript oderClaudeAgentOptions(model=...)in Python, und behandeln Sie den strukturiertenmodel_not_found-Fehler, um Ihre eigene Wiederholung oder Modellauswahl anzuzeigen. - Verwenden Sie einen Alias wie
sonnetoderopusstatt einer vollständigen versionierten ID. Aliase werden zu einem verwalteten Standard aufgelöst, daher werden sie nicht veraltet. Siehe Modellkonfiguration. - Wenn das falsche Modell in der CLI immer wieder zurückkommt, ist eine veraltete ID irgendwo gesetzt. Überprüfen Sie die Orte, an denen Sie ein Modell in Prioritätsreihenfolge setzen können, und entfernen Sie den veralteten Wert.
- Claude Code meldet einen abgelaufenen claude.ai-Login als Login abgelaufen, nicht als dieser Fehler. Vor v2.1.206 schlug ein abgelaufener Login, der nicht mehr aktualisiert werden konnte, bei jedem Modell mit diesem Fehler fehl; führen Sie
/loginaus, wenn Sie das auf einer älteren Version sehen. - Für Google Cloud's Agent Platform-Bereitstellungen siehe Google Cloud's Agent Platform-Fehlerbehebung.
Modell ist keine erkannte Modell-ID
Die Zeichenkette, die Sie an einen Modellwechsel übergeben haben, ist keine, die Claude Code als Modell verwenden kann, daher lehnte es den Wechsel ab, ohne eine Anfrage zu senden, und die Sitzung behält ihr aktuelles Modell. Sie können diesen Fehler erhalten, wenn ein Modell durch die Agent SDK setModel()-Methode gesetzt wird, durch eine App, die Claude Code CLI für Sie ausführt, wie die Desktop-App, oder wenn Sie ein Modell von einem Gerät auswählen, das über Remote Control verbunden ist. Vor v2.1.200 speicherte Claude Code die Zeichenkette und schlug bei der nächsten Anfrage mit Es gibt ein Problem mit dem ausgewählten Modell fehl.
Model "Sonnet5" is not a recognized model id. Did you mean 'claude-sonnet-5'?
In diesem Beispiel hat eine App den Anzeigenamen Sonnet 5 gesendet, den die Nachricht ohne seinen Leerzeichen wiederholt. Der nachfolgende Hinweis benennt den nächsten passenden Alias oder die nächste Modell-ID. Wenn nichts nah genug ist, lautet es Run /model to see available models. stattdessen. In einer Sitzung, die die Desktop-App für Sie startet, lautet der No-Match-Hinweis Switch to a different model.
Wenn Sie über das Agent SDK oder eine App auf der Anthropic API wechseln, erhält nur eine Zeichenkette, die keine Modell-ID sein kann, wie z. B. ein Anzeigename oder eine leere Zeichenkette, diesen Fehler.
Wenn Sie ein Modell von einem Remote Control-Gerät auswählen, überprüft Claude Code die Zeichenkette lokal. Jede Zeichenkette, die kein Modell-Alias ist, ein Modell, das Claude Code auflistet oder Sie konfiguriert haben, oder eine ID, die mit claude- beginnt, erhält diesen Fehler, eine falsch geschriebene ID wie claud-sonnet-5 eingeschlossen. Vor v2.1.260 deckte diese Überprüfung Remote Control-Auswahlen nicht ab, daher wurde eine nicht erkannte Zeichenkette angewendet und schlug bei der nächsten Anfrage fehl.
Was zu tun ist:
- Führen Sie
/modelohne Argument aus, um die Auswahl zu öffnen und wählen Sie aus den Modellen, die für Ihr Konto verfügbar sind, dann übergeben Sie den dort angezeigten Alias oder die ID - Wenn Sie einen Alias verwendet haben, den nur eine neuere Claude Code-Version unterstützt, führen Sie
claude updateaus, oder übergeben Sie stattdessen die vollständige ID des Modells. Der Server kann immer noch eine Mindest-Claude Code-Version für dieses Modell erfordern; siehe Claude Code unterstützt dieses Modell nicht. - Ein Modell, das vor v2.1.200 gespeichert wurde, wird durch diese Überprüfung nicht repariert. Wenn ein veralteter Wert immer wieder zurückkommt, entfernen Sie ihn aus den unter Einstellung Ihres Modells aufgelisteten Orten.
- Bei jedem anderen Anbieter als der Anthropic API oder hinter einem Gateway oder benutzerdefinierten
ANTHROPIC_BASE_URLerhält nur eine leere Zeichenkette diesen Fehler. Claude Code kann immer noch die nicht erkannte Modell-Diagnosezeile zur Anfragzeit auf jedem Anbieter schreiben.
Modell nicht gefunden
Sie haben zu einem Modell nach Name gewechselt und Claude Code konnte nicht bestätigen, dass ein Modell mit diesem Namen existiert. Wenn der Name kein Modell-Alias oder eine andere Schreibweise ist, die Claude Code lokal akzeptiert, überprüft Claude Code es mit einer minimalen API-Anfrage, und dieser Fehler ist normalerweise die Antwort Ihres API-Endpunkts. Mit /model <name> erhält ein Name, der überhaupt keine Modell-ID sein kann, wie einer mit Leerzeichen, die gleiche Nachricht.
Model 'claude-opus-9' not found
Bei Anbietern mit anbieterspezifischen Modell-IDs kann die Nachricht einen Try '...' instead-Vorschlag hinzufügen, der die ID Ihres Anbieters für ein Fallback-Modell benennt.
Was zu tun ist:
- Führen Sie
/modelohne Argument aus und wählen Sie aus den Modellen, die für Ihr Konto verfügbar sind, oder verwenden Sie einen Modell-Alias wiesonnet, der zu einem verwalteten Standard aufgelöst wird - Wenn Sie eine vollständige ID eingegeben haben, überprüfen Sie sie gegen den Modellkatalog Ihres Anbieters. Ein neu gestartetes Modell kann auf der Anthropic API verfügbar sein, bevor Ihr Anbieter oder Ihre Region es anbietet.
- Im Agent SDK schlägt
setModel()mit dieser Nachricht fehl und die Sitzung läuft weiter auf ihrem vorherigen Modell. Im TypeScript SDK rufen SiesupportedModels()auf, um die Modelle aufzulisten, zu denen Sie wechseln können. - Vor v2.1.265 lehnte
/modelauch dieopusplan[1m]-Alias-Schreibweise mit diesem Fehler ab. Aktualisieren Sie auf diesen Versionen Claude Code, oder setzen Sie das Modell in Einstellungen oder mit--modelstatt.
Modell konnte nicht mit der API bestätigt werden
Sie haben Modelle durch die Agent SDK setModel()-Methode oder eine App, die Claude Code CLI für Sie ausführt, wie die Desktop-App, gewechselt, und die Anfrage, die die Modell-ID mit Ihrem API-Endpunkt bestätigt, erhielt innerhalb von fünf Sekunden keine Antwort. Die Sitzung behält ihr aktuelles Modell.
Couldn't confirm model "claude-sonnet-5" with the API. Try again, or run /model to see available models.
In einer Sitzung, die die Desktop-App für Sie startet, endet die Nachricht bei Try again.
Was zu tun ist:
- Wechseln Sie erneut zum Modell
- Wenn der Wechsel immer wieder fehlschlägt, überprüfen Sie, dass Claude Code Ihren API-Endpunkt erreichen kann; siehe Netzwerk- und Verbindungsfehler
API-Fehler beim Überprüfen des ausgewählten Modells
Sie haben ein Modell mit /model <name> ausgewählt, oder eine mit der Sitzung verbundene App forderte den Wechsel an. Die API lehnte die minimale Anfrage ab, die Claude Code sendet, um das Modell zu überprüfen, aus einem Grund, der keinen eigenen Eintrag hat, wie z. B. ein Ratenlimit oder ein Serverfehler. Die Sitzung behält ihr aktuelles Modell, und die Nachricht endet damit, dass dies gesagt wird:
API error: 429 <the server's explanation> · model not changed
Die Mitte der Nachricht ist der HTTP-Status und die eigene Erklärung des Servers.
Was zu tun ist:
- Handeln Sie nach der Erklärung des Servers; bei einem Ratenlimit oder einem 5xx-Status warten Sie und wählen Sie das Modell erneut
- Die Ablehnungen mit ihrer eigenen Formulierung werden durch die umgebenden Einträge behandelt, wie Modell nicht gefunden und Modell ist durch die Einstellungen Ihrer Organisation eingeschränkt
Claude Opus ist nicht mit dem Claude Pro-Plan verfügbar
Ihr aktiver Abonnementplan beinhaltet nicht das Modell, das Sie ausgewählt haben.
Claude Opus is not available with the Claude Pro plan. If you have updated your subscription plan recently, run /logout and /login for the plan to take effect.
In einer Sitzung, die die Claude Desktop-App ausführt, sagt die Nachricht, sich abzumelden und erneut anzumelden, anstatt die Befehle zu benennen.
Was zu tun ist:
- Führen Sie
/modelaus und wählen Sie ein Modell, das Ihr Plan beinhaltet - Wenn Sie Ihren Plan kürzlich aktualisiert haben und dies immer noch sehen, führen Sie
/logoutdann/loginaus. Das gespeicherte Token spiegelt Ihren Plan zum Zeitpunkt der Anmeldung wider, daher wird ein Upgrade auf claude.ai in einer bestehenden Sitzung erst wirksam, wenn Sie sich erneut authentifizieren. - Siehe claude.com/pricing für welche Modelle jeder Plan beinhaltet
Claude Code unterstützt dieses Modell nicht
Die API lehnte die Anfrage mit einem 400 ab, weil Ihre Claude Code-Version unter einem erforderlichen Minimum liegt. Entweder erfordert das Modell, das Sie ausgewählt haben, eine neuere Version, die der Server pro Modell überprüft, oder die Richtlinie Ihrer Organisation erfordert eine. Der 400 trägt den Fehlercode claude_code_version_too_old, und die Nachricht sagt, welches Minimum gilt.
API Error: 400 Claude Code 2.1.219 does not support this model; version 2.1.255 or newer is required. Run 'claude update', or update the Claude desktop app, then try again.
Die Formulierung der Organisationsrichtlinie lautet:
API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue.
Die Version, die die API überprüft, ist die, die von der Claude Code-Binärdatei gemeldet wird, die die Anfrage gestellt hat.
Was zu tun ist:
Aktualisieren Sie diese Binärdatei, dann starten Sie eine neue Sitzung. Wo die Binärdatei herkam, entscheidet wie, außer in einer selbst gehosteten Umgebung:
| Die Binärdatei, die die Anfrage gestellt hat | Wie man sie aktualisiert |
|---|---|
| Ein Claude Code, das Sie installiert haben | Führen Sie claude update aus |
| Die Claude Desktop-App | Aktualisieren Sie die App |
| Die Binärdatei, die die VS Code-Erweiterung bündelt | Aktualisieren Sie die Erweiterung |
| Die Binärdatei, die ein Agent SDK-Paket bündelt | Aktualisieren Sie das SDK-Paket, dann starten Sie Ihre Anwendung neu. In einer kompilierten Single-File-Ausführbaren, bauen Sie sie neu |
- Für die Pro-Modell-Formulierung können Sie in der aktuellen Sitzung weiterarbeiten, indem Sie zu einem anderen Modell wechseln: Führen Sie
/modelin der CLI aus, rufen SiesetModel()auf dem TypeScript SDK'sQuery-Objekt im Streaming-Eingabemodus auf, oder rufen Sieset_model()auf dem Python SDK'sClaudeSDKClientauf - Für die Organisationsrichtlinie-Formulierung aktualisieren Sie, bevor Sie fortfahren
Modell ist durch die Einstellungen Ihrer Organisation eingeschränkt
Ihr Organisationsadministrator hat dieses Modell in der claude.ai-Admin-Konsole deaktiviert, oder verwaltete Einstellungen schließen es durch eine availableModels-Zulassungsliste oder eine deniedModels-Liste aus. Der Hinweis wird beim Start angezeigt, wenn --model, ANTHROPIC_MODEL oder die model-Einstellung das eingeschränkte Modell benannt haben, und er benennt das Modell, das die Sitzung stattdessen verwendet. Wenn verwaltete Einstellungen kein zulässiges Modell für die Sitzung hinterlassen, siehe Verwaltete Einstellungen blockieren das Standardmodell. Der Substitutionshinweis kann auch mid-session angezeigt werden, nachdem ein Administrator das Modell, auf dem eine Sitzung läuft, in der claude.ai-Admin-Konsole deaktiviert hat.
Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.
Das Eingeben von /model <name> für ein eingeschränktes Modell wird abgelehnt und die Sitzung behält ihr aktuelles Modell. Für ein Modell, das in der Admin-Konsole deaktiviert ist, lautet die Ablehnung Model '<name>' is restricted by your organization's settings. Run /model to choose a different model. Für ein Modell, das verwaltete Einstellungen ausschließen, lautet es Model '<name>' is not available. Your organization restricts model selection.
Ein Hinweis mit einem Agent-, Skill- oder Befehlsnamen bedeutet, dass die Einschränkung auf das angeforderte Modell des Subagenten angewendet wurde: Der Subagent läuft auf dem substituierten Modell und das Modell Ihrer Sitzung ist unverändert. Vor v2.1.223 zeigte Claude Code den Hinweis nur für Subagenten, die mit dem Agent-Tool gestartet wurden.
Claude Code behandelt einen Modell-Familie-Alias, einen von opus, sonnet, haiku oder fable, als eine Anfrage für diese Familie statt für ihre neueste Version. Auf der Anthropic API und auf Claude Platform on AWS wird ein eingeschränkter Familie-Alias zu der neuesten Version der Familie aufgelöst, die die Einstellungen Ihrer Organisation zulassen, und der Substitutionshinweis benennt diese Version. Claude Code lehnt /model <alias> nur ab, wenn jede Version der Familie eingeschränkt ist. Vor v2.1.205 wurde ein Familie-Alias basierend auf seiner neuesten Version allein substituiert oder abgelehnt, auch wenn eine ältere Version der gleichen Familie zulässig war.
Was zu tun ist:
- Führen Sie
/modelaus, um aus den Modellen auszuwählen, die Ihre Organisation zulässt. Eingeschränkte Modelle sind in der Auswahl verborgen. - Wenn das eingeschränkte Modell in
--model,ANTHROPIC_MODEL, demmodel-Feld einer Einstellungsdatei oder demmodel-Frontmatter eines Subagenten, Skill oder Befehls gesetzt wurde, entfernen oder aktualisieren Sie diesen Wert, damit der Hinweis nicht erneut auftritt - Wenn Sie Zugriff auf das eingeschränkte Modell benötigen, bitten Sie Ihren Organisationsadministrator, es zu aktivieren. Siehe Organisationsmodell-Einschränkungen.
Kann nicht zum Standardmodell wechseln
Sie haben das Standardmodell ausgewählt, zum Beispiel durch Auswahl der Standardzeile in der /model-Auswahl oder durch Eingabe von /model default. Claude Code lehnte den Wechsel ab, daher behält die Sitzung ihr aktuelles Modell.
Can't switch to the default model: your organization's managed settings block it (claude-opus-4-6) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".
Die Wording nach dem Doppelpunkt benennt, was den Wechsel blockiert hat:
your organization's managed settings block it ... in "deniedModels": eine verwaltete Ablehnungsliste blockiert das Modell, zu dem die Standardoption aufgelöst wirdyour organization allows only the models listed in "availableModels": eine verwalteteavailableModels-Zulassungsliste mitavailableModelsMatchauf"exact"gesetzt lässt das Modell weg, zu dem die Standardoption aufgelöst wirdClaude Code couldn't read your organization's managed settings to check which models they allow: die verwalteten Einstellungen konnten nicht gelesen werden, und Claude Code weigert sich, den Wechsel anzuwenden, statt ihn ungeprüft anzuwenden
Was zu tun ist:
- Für die
deniedModelsundavailableModels-Formulierungen führen Sie/modelaus und wählen Sie ein Modell, das Ihre Organisation zulässt, nach Name - Bitten Sie Ihren Administrator, die verwaltete Einstellung zu aktualisieren, die die Nachricht benennt
- Für die
couldn't read-Formulierung starten Sie Claude Code neu; wenn es immer noch passiert, bitten Sie Ihren Administrator, die verwalteten Einstellungen zu überprüfen
Wenn eine Sitzung stattdessen nicht mit einer Claude Code can't start-Nachricht unter diesen verwalteten Einstellungen startet, siehe Verwaltete Einstellungen blockieren das Standardmodell.
Modellwechsel wurde durch einen PreModelSwitch-Hook blockiert
Ein PreModelSwitch-Hook hat den Modellwechsel, den Sie oder ein Client angefordert haben, nicht genehmigt, daher behält die Sitzung ihr aktuelles Modell. Wenn der Wechsel von einem Agent SDK-Host oder Remote Control statt von einem Befehl, den Sie eingegeben haben, kam, lautet die Nachricht Model switch blocked by a PreModelSwitch hook ohne das Zielmodell zu benennen.
Model switch to Opus 4.6 was blocked by a PreModelSwitch hook: Opus 4.6 is retired for this project. Use a newer model.
Der Grund nach dem Doppelpunkt sagt, was den Wechsel verweigert hat:
- Ein Grund, den ein Hook geschrieben hat: Ein PreModelSwitch-Hook lieferte diesen Grund, wenn es den Wechsel verweigert oder um Bestätigung gebeten hat. Beheben Sie, was es fragt, oder wählen Sie ein Modell, das Ihre Hooks zulassen.
PreModelSwitch hook <name> did not respond before its timeout: Ein Hook, der nicht vor seinem Timeout antwortet, blockiert den Wechsel. Beheben Sie den hängenden Befehl oder erhöhen Sie dastimeoutdieses Hooks, dann wechseln Sie erneut.confirmation required, and this session cannot ask: Ein Hook antworteteaskohne einen Grund, und eine Kontrollabfrage hat keine Möglichkeit, die Bestätigungsaufforderung anzuzeigen. Ein/model-Befehl in einem-p-Lauf meldet die gleiche Bedingung mit(run /model interactively to confirm)nach dem Grund. Machen Sie den Wechsel aus einer interaktiven Sitzung, oder ändern Sie die Entscheidung des Hooks für dieses Modell.so organization-managed PreModelSwitch hooks could not be checked: Claude Code konnte nicht sagen, welche PreModelSwitch-Hooks Ihre Organisation's verwaltete Plugins liefern, zum Beispiel weil ein verwaltetes Plugin nicht geladen werden konnte. Einer dieser Hooks könnte den Wechsel blockieren, daher weigert sich Claude Code, statt den Wechsel ungeprüft anzuwenden. Der Anfang des Grundes benennt, was fehlgeschlagen ist. Claude Code überprüft bei jedem Wechselversuch erneut, daher stoppt ein Fehler, der seitdem geklärt wurde, das Blockieren; wenn es immer noch fehlschlägt, führen Sieclaude --debugaus und wechseln Sie erneut, um die Details zu erfassen, dann beheben Sie das Plugin oder bitten Sie Ihren Administrator, es zu beheben.a PreModelSwitch hook failed before answeringoderPreModelSwitch hooks were cancelled (the control stream closed) before answering: Der Hook-Lauf endete ohne ein Urteil, und Claude Code behandelt das nicht als Genehmigung. Führen Sieclaude --debugaus, um zu sehen, was fehlgeschlagen ist, dann wechseln Sie erneut.
Vor v2.1.260 lautet die verwaltete Plugin-Ablehnung plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log. Claude Code wiederholte das Plugin-Laden einmal und lehnte dann später Wechsel in der Sitzung ab, auch wenn Ihre Organisation keine Plugins verwaltete. Starten Sie die Sitzung auf diesen Versionen neu, um das Plugin-Laden erneut auszuführen.
Konnte es nicht als Ihren Standard speichern
Sie haben ein Modell ausgewählt, um es als Ihren Standard zu speichern, zum Beispiel mit /model <name> oder Enter in der /model-Auswahl, und Claude Code konnte die Auswahl nicht in Ihre Benutzereinstellungsdatei, ~/.claude/settings.json, schreiben. Der Wechsel selbst wurde angewendet, daher läuft die aktuelle Sitzung auf dem Modell, das Sie ausgewählt haben, aber Ihr Standard ist unverändert und die nächste Sitzung startet auf dem alten Wert.
Set model to Fable 5.1 for this session only · couldn't save it as your default: ~/.claude/settings.json can't be written (EROFS)
Der Grund nach dem Dateipfad sagt, was fehlgeschlagen ist:
can't be written (<code>): Der Schreibvorgang schlug mit dem Betriebssystem-Fehlercode in Klammern fehl, wieEROFS, wenn die Datei oder die Datei, auf die sie verweist, auf einem Dateisystem sitzt, das Schreibvorgänge verweigert. Machen Sie die Datei beschreibbar und wechseln Sie erneut. Wenn ein anderes Tool die Datei generiert, setzen Sie stattdessen denmodel-Schlüssel in diesem Tool; siehe Eine Änderung, die Sie in Claude Code gemacht haben, geht in neuen Sitzungen verloren.isn't valid JSON: Die Datei auf der Festplatte wird nicht geparst, und Claude Code lässt sie unverändert, statt Inhalte zu überschreiben, die es nicht zurücklesen kann. Beheben Sie den Syntaxfehler, dann wechseln Sie erneut; siehe Beheben Sie eine kaputte Einstellungsdatei.
Ein Hinweis, der endet mit couldn't confirm it was saved as your default (~/.claude/settings.json is still being written), bedeutet, dass der Schreibvorgang nach drei Sekunden nicht beendet war. Er wird im Hintergrund fortgesetzt, daher kann der Standard immer noch gespeichert werden; überprüfen Sie, mit welchem Modell Ihre nächste Sitzung startet, oder führen Sie /model <name> erneut aus.
Vor v2.1.265 sagte der Hinweis, das Modell sei saved as your default for new sessions, auch wenn der Schreibvorgang fehlgeschlagen ist.
thinking.type.enabled wird für dieses Modell nicht unterstützt
Ihre Claude Code-Version ist älter als das Minimum für das ausgewählte Modell. Die CLI sendete eine Denk-Konfiguration, die das Modell nicht mehr akzeptiert.
API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.
Was zu tun ist:
- Führen Sie
claude updateaus und starten Sie Claude Code neu. Opus 4.7 benötigt v2.1.111 oder später. Opus 4.8 benötigt v2.1.154 oder später. Sonnet 5 benötigt v2.1.197 oder später. Opus 5 benötigt v2.1.219 oder später. Opus 5.5 benötigt v2.1.280 oder später. Sonnet 5.5 benötigt v2.1.284 oder später - Wenn Sie nicht aktualisieren können, führen Sie
/modelaus und wählen Sie stattdessen Opus 4.6 oder Sonnet 4.6 - Wenn Sie dies im Agent SDK treffen, aktualisieren Sie stattdessen das SDK-Paket. Opus 4.8 benötigt TypeScript SDK v0.3.154 oder später und Python SDK v0.2.88 oder später. Sonnet 5 benötigt TypeScript SDK v0.3.197 oder später. Opus 5 benötigt TypeScript SDK v0.3.219 oder später. Opus 5.5 benötigt TypeScript SDK v0.3.280 oder später. Sonnet 5.5 benötigt TypeScript SDK v0.3.284 oder später
Effort ist nicht verfügbar, wenn Denken ausgeschaltet ist
Sie haben erweitertes Denken ausgeschaltet und laufen auf einer Anstrengungsstufe über high. Das Modell akzeptiert diese Kombination nicht, daher lehnte die API die Anfrage ab.
API Error: Effort 'xhigh' isn't available with thinking turned off on this model · run /effort high to continue, or turn thinking back on (unset MAX_THINKING_TOKENS=0)
Der Hinweis nach dem · variiert je nach Sitzung: In einer nicht-interaktiven Sitzung lautet er use --effort high (or the effortLevel setting), und in einer Sitzung, die die Claude Desktop-App ausführt, lautet er you can lower effort to High.
Was zu tun ist:
- Senken Sie die Anstrengungsstufe auf
highoder darunter. - Schalten Sie das Denken wieder ein, zum Beispiel durch Aufheben von
MAX_THINKING_TOKENSoder Entfernen von"alwaysThinkingEnabled": falseaus Ihren Einstellungen.
Vor v2.1.242 zeigte Claude Code die eigene Nachricht der API: API Error: 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking. Vor v2.1.251 sendete Claude Code die Anfrage auf der Anstrengungsstufe, die Sie gesetzt haben, daher lehnte Opus 5 jede Anfrage über high mit ausgeschaltetem Denken ab. Claude Code sendet jetzt stattdessen Anstrengung high an Modelle, von denen es weiß, dass sie die Kombination ablehnen, wie Opus 5.
Denk-Budget überschreitet Ausgabelimit
Das konfigurierte erweiterte Denk-Budget überschreitet die maximale Antwortlänge, daher bleibt kein Platz für die tatsächliche Antwort.
API Error: 400 ... max_tokens must be greater than thinking.budget_tokens
Was zu tun ist:
- Erhöhen Sie
CLAUDE_CODE_MAX_OUTPUT_TOKENSüber das Denk-Budget - Siehe Erweitertes Denken für wie das Budget mit der Ausgabelänge interagiert
Tool-Verwendung oder Denk-Block-Nichtübereinstimmung
Die Gesprächshistorie erreichte die API in einem inkonsistenten Zustand.
API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation.
API Error: 400 orphaned tool_result in conversation history. Run /rewind to recover the conversation.
API Error: 400 duplicate tool_use ID in conversation history. Run /rewind to recover the conversation.
API Error: 400 ... unexpected `tool_use_id` found in `tool_result` blocks
API Error: 400 ... thinking blocks ... cannot be modified
Alle Varianten bedeuten das Gleiche: Die Abfolge von tool_use, tool_result und thinking-Blöcken in der Historie stimmt nicht mehr mit dem überein, was die API erwartet.
Was zu tun ist:
- Wenn Sie Opus 4.7 oder Opus 4.8 verwenden, führen Sie zuerst
claude updateaus. Versionen vor v2.1.156 können diesen Fehler während normaler Tool-Verwendung auslösen, und/rewindlöscht ihn nicht. - Führen Sie
/rewindaus, oder drücken Sie zweimal Esc, um zu einem Checkpoint vor der beschädigten Runde zurückzugehen und von dort aus fortzufahren. Siehe Checkpointing für wie Checkpoints erstellt und wiederhergestellt werden.
Ungültige Daten im redacted\_thinking-Block
Die API lehnte die Anfrage mit einem 400 ab, weil sie einen redacted_thinking-Block, den eine frühere Runde in der Gesprächshistorie trägt, nicht akzeptieren konnte.
API Error: 400 ... Invalid `data` in `redacted_thinking` block
Claude Code lässt das Denken des Gesprächs aus der Anfrage weg und versucht es einmal erneut, daher wird die Sitzung fortgesetzt, ohne den Fehler anzuzeigen. Vor v2.1.282 behielt Claude Code den abgelehnten Block, und jede später Runde schlug mit demselben Fehler fehl.
Was zu tun ist:
- Wenn Sie auf v2.1.281 oder früher sind und jede Runde schlägt mit diesem Fehler fehl, führen Sie
claude updateaus und setzen Sie die Sitzung fort - Wenn der Fehler anhält, führen Sie
/clearaus, um ein Gespräch zu starten, das den Block nicht trägt
Nicht unterstützter Tool-Inhalt entfernt
Wenn Claude Code direkt mit der Anthropic API verbunden ist und eine gespeicherte Sitzung lädt oder in der Vorschau anzeigt, entfernt es Tool-Inhalte, die die Anthropic API nicht akzeptiert, und lässt diese Zeile, wo entfernter Inhalt zwischen zwei Denk-Blöcken saß:
[Unsupported tool content removed]
Solcher Inhalt erreicht eine Sitzungsdatei, wenn etwas anderes als die Anthropic API im Format der API antwortet, typischerweise ein Drittanbieter-Proxy, der durch ANTHROPIC_BASE_URL gesetzt ist und die Tool-Aufrufe eines anderen Anbieters übersetzt. Claude Code entfernt es nur, wenn die Sitzung direkt mit der Anthropic API verbunden ist, und lädt die gespeicherte Historie, wie sie ist, wenn die Sitzung durch einen Proxy oder auf einem anderen Anbieter läuft. Vor v2.1.246 sendete Claude Code die Tool-Verwendung und ihr Ergebnis zurück zur API, und jede Runde der wiederaufgenommenen Sitzung schlug mit einem 400-Fehler wie messages.1.content.0.server_tool_use.name: Input should be 'web_search', 'web_fetch', ... fehl.
Was zu tun ist:
- Keine Aktion erforderlich, wenn Sie die Platzhalter-Zeile sehen. Die Sitzung wird ohne den entfernten Inhalt fortgesetzt.
- Wenn jede Runde einer wiederaufgenommenen Sitzung stattdessen mit dem 400-Fehler fehlschlägt, führen Sie
claude updateaus und setzen Sie die Sitzung erneut fort. Versionen vor v2.1.246 entfernen den Inhalt nicht.
Rolle 'system' muss einer 'assistant'-Nachricht vorangehen
Die API lehnte die Anfrage mit einem 400 ab, weil eine System-Nachricht an einer Position im Gespräch sitzt, die sie nicht akzeptiert:
API Error: 400 messages.6: role 'system' must precede an 'assistant' message or end the array; ...
Claude Code sendet einen Teil seines Erinnerungs- und Anhang-Textes als System-Nachrichten innerhalb des Gesprächs. Wenn die API die Position einer ablehnt, versucht Claude Code die Anfrage einmal erneut mit diesem Text, der stattdessen als gewöhnliche Benutzer-Nachrichten gesendet wird. Die Geschwister-Platzierungs-Formulierungen der API, wie use the top-level 'system' parameter for the initial system prompt, erhalten die gleiche Wiederherstellung.
Wenn der Fehler angezeigt wird, ist die abgelehnte System-Nachricht nicht eine, die Claude Code entfernen kann. Das bedeutet normalerweise, dass ein Proxy oder LLM-Gateway zwischen Claude Code und der API eine System-Nachricht hinzugefügt hat.
Was zu tun ist:
- Wenn der Fehler bei jedem Durchgang hinter einem Proxy oder Gateway, der durch
ANTHROPIC_BASE_URLkonfiguriert ist, wiederholt wird, verbinden Sie sich ohne den Proxy, um die Quelle zu bestätigen, und melden Sie den Fehler an, wer ihn betreibt - Führen Sie
/clearaus, um ein frisches Gespräch zu starten. Wenn der Fehler dort auch zurückkommt, ist die Ursache auf dem Anfragepfad, nicht in der gespeicherten Gesprächshistorie.
Vor v2.1.280 erkannte Claude Code diese Formulierung nicht, daher trat der Fehler auch auf, wenn die abgelehnte System-Nachricht eine war, die Claude Code selbst sendete, und jede später Runde des Gesprächs schlug auf die gleiche Weise fehl.
Ungültiger encrypted\_content in search\_result-Block
Die API lehnte die Anfrage mit einem 400 ab, weil die Gesprächshistorie gehostete Web-Such-Inhalte enthält, die sie nicht entschlüsseln kann. Die Formulierung benennt das Feld, das sie nicht lesen kann:
API Error: 400 ... Invalid `encrypted_content` in `search_result` block
API Error: 400 ... Invalid `encrypted_index` in `text` block
API Error: 400 ... Failed to decrypt web search result content
API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block
Ergebnisse aus dem gehosteten Web-Such-Tool der API tragen verschlüsselte Felder, die nur die API lesen kann. Die encrypted_stdout-Formulierung benennt die Ausgabe eines gehosteten Code-Ausführungs-Programms, das solche Ergebnisse las, die die API auch verschlüsselt. Die API lehnt eine Anfrage ab, die Inhalte erneut sendet, die sie nicht entschlüsseln kann, wie Inhalte, die für eine andere Organisation produziert wurden.
Das eigene WebSearch-Tool von Claude Code zeichnet Such-Ergebnisse als Klartext auf, daher erreichen diese Blöcke normalerweise ein Gespräch durch einen Proxy oder LLM-Gateway, der selbst gehostete Web-Suche ausführte.
Für die drei Web-Such-Formulierungen lässt Claude Code die Such-Aufrufe, Ergebnisse und Zitate aus dem weg, was es sendet, und versucht die Anfrage einmal erneut, daher wird die Sitzung fortgesetzt, ohne den Fehler anzuzeigen. Die encrypted_stdout-Formulierung hat keine solche Wiederherstellung, daher erreicht diese Nachricht Sie immer noch. Vor v2.1.282 behielt Claude Code die abgelehnten Web-Such-Blöcke auch, und jede später Runde und /compact schlug auf die gleiche Weise fehl.
Was zu tun ist:
- Wenn Sie auf v2.1.281 oder früher sind und jede Runde schlägt mit einer der Web-Such-Formulierungen fehl, führen Sie
claude updateaus und setzen Sie die Sitzung fort - Wenn der Fehler anhält, oder die Nachricht benennt
encrypted_stdout, führen Sie/rewindaus, um zu einem Checkpoint vor der Runde zurückzugehen, die den Inhalt hinzugefügt hat, oder führen Sie/clearaus, um ein Gespräch zu starten, das ihn nicht trägt - Wenn Sie Claude Code hinter einem Proxy oder Gateway ausführen, melden Sie den Fehler an, wer ihn betreibt
Richtlinien-Ablehnung
Die API lehnte es ab zu antworten, weil Inhalte im Gespräch eine Nutzungsrichtlinie-Überprüfung auslösten.
Die Nachricht enthält eine Request-ID und eine Message-ID, die Sie dem Support zitieren können, wenn Sie glauben, dass die Ablehnung falsch ist.
API Error: Opus 4.6 can't help with this. Start a new session to continue.
Send feedback with /feedback or learn more: https://www.anthropic.com/legal/aup
Die Nachricht benennt das Modell, das ablehnte, oder Claude, wenn kein Modell aufgezeichnet ist.
Die Überprüfung bewertet das gesamte Gespräch, nicht nur Ihre neueste Eingabeaufforderung, daher sendet das Senden einer neuen Nachricht in der gleichen Sitzung normalerweise die gleiche Ablehnung erneut aus. Das Gleiche gilt nach dem Beenden und erneuten Öffnen der Sitzung mit --continue oder --resume, da das Transkript auf der Festplatte immer noch den auslösenden Inhalt enthält. Auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry deckt diese Nachricht auch Anfragen ab, die die Sicherheitsmaßnahmen des Modells als Cybersicherheits-Thema gekennzeichnet haben. Siehe Sicherheitsmaßnahmen haben ein Cybersicherheits-Thema gekennzeichnet.
Vor v2.1.219 lautet die Nachricht Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task.
Was zu tun ist:
- Drücken Sie zweimal Esc oder führen Sie
/rewindaus, um zu einem Checkpoint vor der Runde zurückzugehen, die die Ablehnung auslöste, dann formulieren Sie um oder versuchen Sie einen anderen Ansatz. Siehe Checkpointing. - Wenn Sie nicht identifizieren können, welche Runde es verursacht hat, führen Sie
/clearaus, um ein frisches Gespräch im gleichen Projekt zu starten. Ihr vorheriges Gespräch wird auf der Festplatte gespeichert und bleibt in/resumeverfügbar. - Im nicht-interaktiven Modus (
-p), wo Rewind nicht verfügbar ist, versuchen Sie es erneut mit einer umformulierten Eingabeaufforderung in einer neuen Sitzung ohne--continue. Richtlinien-Überprüfungen variieren je nach Modell, daher kann ein Wechsel zu einem anderen Modell mit--modeldie Ablehnung in einigen Fällen auch beheben.
Sicherheitsmaßnahmen haben ein Cybersicherheits-Thema gekennzeichnet
Die Sicherheitsmaßnahmen des Modells haben Inhalte im Gespräch als Cybersicherheits-Thema gekennzeichnet. Die Nachricht benennt das Modell, das die Anfrage gekennzeichnet hat:
API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude
Die Nachricht verlinkt zum Cyber Verification Program, das Zugriff für legitime Cybersicherheitsarbeit gewährt. Auf Opus 5.5 und Sonnet 5.5 öffnet sich die Nachricht mit <model>'s safeguards flagged this session statt. Wenn die gekennzeichnete Kategorie ein verfügbares Fallback-Modell hat, wechselt Claude Code Modelle, statt diesen Fehler anzuzeigen.
Auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry erzeugt eine Cybersicherheits-Flagge stattdessen die Richtlinien-Ablehnung-Nachricht.
Die Schutzmaßnahme selbst ist serverseitig und stammt vor v2.1.203; Client-Releases seitdem haben nur die Formulierung der Nachricht geändert.
Von v2.1.203 bis v2.1.218 lautet die Nachricht <model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center: gefolgt vom gleichen Help-Center-Link, und interaktive Sitzungen hängten If you were not engaging in a cybersecurity topic, please send feedback via /feedback. an.
Vor v2.1.203 lautet es <model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption: gefolgt von einem Ausnahmeantragsformular-Link.
Was zu tun ist:
- Wenn Ihre Arbeit diesen Inhalt erfordert, beantragen Sie Zugriff durch das Cyber Verification Program
- Wenn Ihre Anfrage nicht über ein Cybersicherheits-Thema war, führen Sie
/feedbackaus, um das falsch positive zu melden - Um in der gleichen Sitzung weiterzuarbeiten, drücken Sie zweimal Esc oder führen Sie
/rewindaus, um zu einem Checkpoint vor der Runde zurückzugehen, die die Flagge auslöste, dann versuchen Sie einen anderen Ansatz. Siehe Checkpointing.
Installationsfehler
Diese Fehler treten bei der Installation oder Aktualisierung von Claude Code auf, entweder über das Installationsskript, claude install oder claude update. Für Probleme mit command not found, PATH, Berechtigungen und TLS-Fehlern während der Einrichtung siehe Installationen und Anmeldung beheben.
Installation wurde beendet, bevor sie abgeschlossen werden konnte
Das Installationsskript meldet, wenn der claude install-Schritt durch ein Signal beendet wird. Unter Linux bedeutet Exit-Code 137, dass der Prozess SIGKILL erhalten hat, und auf einem Host mit wenig Speicher ist das normalerweise der Kernel-Out-of-Memory-Killer (OOM). Das Skript gibt diese Erklärung aus und beendet sich mit Code 137:
Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.
Claude Code needs roughly 512MB of free memory to install. Free up memory, then run this script again.
Für jedes andere tödliche Signal und für Exit-Code 137 auf macOS gibt das Skript Installation was killed before it could finish (exit code <N>) mit dem tatsächlichen Exit-Code aus und lässt die Out-of-Memory-Erklärung weg. Die Meldung stammt vom Installationsskript, das macOS und Linux verwenden, das auch Installationen innerhalb von WSL abdeckt; die nativen Windows-Installationsskripte geben es nie aus. Vor v2.1.200 beendete sich das Skript nur mit der bloßen Killed-Zeile der Shell.
Was zu tun ist:
- Beenden Sie andere Prozesse, um Speicher freizugeben, und führen Sie dann das Installationsprogramm erneut aus
- Fügen Sie Swap-Speicher hinzu oder wechseln Sie zu einer größeren Instanz. Siehe Installation auf Linux-Servern mit wenig Speicher beendet für die Swap-Datei-Befehle.
Die Verbindung wurde unterbrochen, während die Aktualisierung heruntergeladen wurde
Die Verbindung zum Download-Server wurde geschlossen, während claude install oder claude update die Claude Code-Binärdatei abrief, und die Wiederholungen konnten sich nicht erholen. Claude Code wiederholt den Download, wenn die Verbindung abbricht, die Übertragung steckenbleibt oder die heruntergeladene Datei ihre Prüfsumme nicht besteht, insgesamt bis zu drei Versuche. Ein abgeschlossener HTTP-Fehler, wie z. B. ein 404, wird nicht wiederholt, da der Server bereits geantwortet hat. Vor v2.1.202 führte eine einzelne unterbrochene Verbindung sofort zum Fehlschlag des Downloads mit dem bloßen Fehler aborted statt zu wiederholen.
The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.
Der Text in Klammern nennt, welcher Versuch fehlgeschlagen ist, und den zugrunde liegenden Netzwerkfehler. claude update stellt der Meldung Error: Failed to install native update auf stderr voran.
Ein Download, der verbunden bleibt, aber nicht innerhalb von 10 Minuten abgeschlossen wird, schlägt mit Download timed out: exceeded the total deadline fehl. Claude Code wiederholt einen abgelaufenen Download nicht, da eine Verbindung, die zu langsam ist, um innerhalb der Frist abgeschlossen zu werden, auch bei einer sofortigen Wiederholung nicht abgeschlossen wird. Die folgenden Schritte gelten für beide Meldungen.
Ein Proxy oder Gateway kann eine lange Übertragung beenden, bevor sie abgeschlossen ist, und die Claude Code-Binärdatei ist ein großer Download.
Was zu tun ist:
- Führen Sie
claude updateerneut aus. Bei einem ansonsten gesunden Netzwerk ist der Download normalerweise beim nächsten Durchlauf erfolgreich. Für die Timeout-Meldung führen Sie es erneut aus einem schnelleren oder weniger gedrosselten Netzwerk aus. - Wenn Ihr Netzwerk einen Proxy erfordert, setzen Sie
HTTPS_PROXYvor dem Ausführen des Installationsprogramms oderclaude update. Siehe Netzwerkkonnektivität überprüfen. - Wenn ein Unternehmens-Proxy die Übertragung immer wieder beendet, bitten Sie Ihr Netzwerk-Team, den vollständigen Download von
downloads.claude.aizuzulassen. Siehe Netzwerkzugriffsanforderungen. - Führen Sie
claude doctoraus Ihrer Shell aus, um Installationsdiagnosen zu erhalten
Befehlszeilenfehler
Diese Fehler stammen von der Befehlszeile claude und ihren Unterbefehlen, von einem Befehlsnamen, den Sie im Eingabefeld absenden, sowie von Befehlen wie /security-review, die Kontext sammeln, indem sie Shell-Befehle ausführen, bevor ihr Prompt ausgeführt wird. Sie stammen auch von /tui, das die CLI neu startet.
Konflikt zwischen `--bg` und `--print`
Diese Meldung erfordert Claude Code v2.1.198 oder höher. Sie haben --bg im selben claude-Aufruf mit -p oder --print kombiniert. --bg startet eine Hintergrundsitzung, an die Sie sich später mit claude agents anhängen, während --print nicht interaktiv ausgeführt wird und nie die interaktive Sitzung startet, an die sich claude agents anhängt. Vor v2.1.198 erstellte diese Kombination stillschweigend einen Hintergrundjob, an den man sich nie anhängen konnte.
--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.
Was zu tun ist:
- Entfernen Sie
-poder--print.--bgnimmt den Prompt als Positionsargument entgegen, sodassclaude --bg "<task>"der vollständige Befehl ist. Siehe Neue Agenten aus Ihrer Shell starten. - Um den Prompt nicht interaktiv auszuführen und das Ergebnis auszugeben, anstatt eine Hintergrundsitzung zu erstellen, entfernen Sie
--bgund führen Sieclaude -p "<task>"aus
Konflikt zwischen einem System-Prompt-Flag und seiner Dateiform
Sie haben --append-subagent-system-prompt zusammen mit --append-subagent-system-prompt-file in einem claude-Aufruf übergeben, daher beendet sich claude mit Exit-Code 1, anstatt die Sitzung zu starten:
Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.
Vor v2.1.283 beendete sich claude auf dieselbe Weise, wenn Sie --system-prompt mit --system-prompt-file oder --append-system-prompt mit --append-system-prompt-file übergeben haben, da diese Paare in Konflikt standen, anstatt sich zu kombinieren. In diesen Versionen nennt die Meldung das Paar, das Sie kombiniert haben.
Was zu tun ist:
- Behalten Sie eine Form des Flags bei und entfernen Sie die andere. Um eine feste Prompt-Datei mit Text pro Ausführung zu kombinieren, fügen Sie den Text vor dem Start in die Datei ein, anstatt beide Flags zu übergeben
Ungültige `--agents`-Konfiguration
Der Wert, den Sie an --agents übergeben haben, ist ungültig, daher beendet sich claude mit Exit-Code 1, anstatt die Sitzung zu starten. Wenn Sie --safe-mode übergeben oder CLAUDE_CODE_SAFE_MODE setzen, ignoriert Claude Code --agents vollständig. Mit --resume oder --continue wird ein Inline-JSON-Wert nicht geprüft und die Sitzung startet; ein aus einer Datei gelesener Wert wird bei jedem Start geprüft. Vor v2.1.242 startete Claude Code die Sitzung trotzdem.
Error: Invalid --agents configuration:
<what failed>
Was auf die erste Zeile folgt, hängt davon ab, woran der Wert gescheitert ist. Claude Code führt diese Prüfungen der Reihe nach aus und stoppt bei der ersten, die fehlschlägt. Wenn Ihr Wert zwei Arten von Problemen hat, sehen Sie das zweite erst, nachdem Sie das erste behoben haben:
- Wenn der Wert mit
{beginnt, aber nicht als JSON geparst werden kann, oder der Inhalt einer--agents-Datei nicht geparst werden kann, gibt Claude Code eineinvalid JSON:-Zeile mit der eigenen Meldung des JSON-Parsers aus - Wenn er geparst werden kann, aber eine Agentendefinition nicht dem Schema für per CLI definierte Subagenten entspricht, gibt Claude Code eine Zeile pro Problem aus
- Wenn ein Agentenname mit
-beginnt, gibt Claude Code<name>: agent names must not start with '-'aus
Bei mehr als 20 Problemzeilen gibt Claude Code die ersten 20 aus und ersetzt den Rest durch …and N more.
Mit --print akzeptiert --agents anstelle des Inline-Objekts auch den Pfad zu einer JSON-Datei. Vor v2.1.281 akzeptierte --agents nur Inline-JSON und behandelte einen Dateipfad als ungültiges JSON. Die Dateiform hat eigene Ablehnungen, die anstelle dieser Meldung ausgegeben werden, darunter diese:
Error: --agents takes a JSON object, or a file path only with --print (-p): Claude Code hat den Wert in einer interaktiven Sitzung als Dateipfad gelesen. Übergeben Sie die Definitionen als Inline-JSON oder fügen Sie-phinzu, um sie aus einer Datei zu lesen.Error: --agents file not found: <path>: Unter diesem Pfad existiert keine Datei. Ein Wert, der nicht mit{beginnt und kein gültiges JSON ist, wird als Pfad gelesen, sodass auch Inline-JSON, das Ihre Shell verstümmelt hat, auf diese Weise fehlschlagen kann. Prüfen Sie den Pfad oder die Anführungszeichen und führen Sie den Befehl erneut aus.
Was zu tun ist:
- Beheben Sie jedes Problem, das die Meldung auflistet, und führen Sie den Befehl dann erneut aus. Siehe die Felder, die ein per CLI definierter Subagent akzeptiert.
Cloud-Sitzungen können nicht aus einer `--restricted`-Sitzung erstellt werden
Wenn Sie eine Sitzung mit --restricted starten, verweigert Claude Code das Erstellen von Cloud-Sitzungen daraus, da die neue Sitzung außerhalb des eingeschränkten Prozesses laufen und den eingeschränkten Modus nicht durchsetzen würde. Claude Code verweigert dies auf dem Client, bevor der Server kontaktiert wird, sodass keine Cloud-Sitzung erstellt wird:
Cloud sessions cannot be created from a --restricted session: they would not enforce it.
Was zu tun ist:
- Führen Sie die Aufgabe lokal in der eingeschränkten Sitzung aus
- Wenn Sie steuern, wie die Sitzung gestartet wurde, starten Sie eine neue
claude-Sitzung ohne--restrictedund erstellen Sie die Cloud-Sitzung von dort aus
Vor v2.1.248 hatte Claude Code kein --restricted-Flag; frühere Versionen lehnen das Flag selbst mit einem Fehler wegen unbekannter Option ab.
Cloud-Sitzungen sind durch die Richtlinie Ihrer Organisation deaktiviert
Die Richtlinie allow_remote_sessions Ihrer Organisation ist ausgeschaltet, daher sind Cloud-Sitzungen und die Befehle, die sie verwenden, nicht verfügbar:
Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.
Die Meldung erscheint, wenn Sie eine Cloud-Sitzung aus dem Terminal erstellen, und wenn Sie einen Befehl absenden, der Cloud-Sitzungen benötigt, wie /teleport, /remote-env oder /web-setup. Vor v2.1.268 lieferte das Absenden eines dieser Befehle stattdessen Unknown command.
Dies ist eine serverseitige Organisationsrichtlinie und kann daher nicht durch lokale Einstellungen, Umgebungsvariablen oder CLI-Flags überschrieben werden.
Wenn Claude Code die Richtlinie Ihrer Organisation noch nicht geladen hat oder sie nicht abrufen kann, antworten diese Befehle stattdessen mit Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again..
Was zu tun ist:
- Bitten Sie einen Owner Ihrer Organisation, Cloud-Sitzungen in den Claude Code-Admin-Einstellungen unter claude.ai/admin-settings/claude-code zu aktivieren
- Wenn die Meldung besagt, dass die Richtlinie nicht überprüft werden konnte, prüfen Sie Ihre Netzwerkverbindung, starten Sie dann Claude Code neu und versuchen Sie es erneut
Der `--json-schema`-Wert ist kein gültiges JSON-Schema
Das Schema, das Sie im nicht interaktiven Modus an --json-schema übergeben haben, ist bei der JSON-Schema-Kompilierung fehlgeschlagen, daher beendet sich claude mit Exit-Code 1, anstatt den Prompt auszuführen. Vor v2.1.205 erzeugte ein ungültiges Schema unstrukturierte Ausgabe ohne Fehler, und jedes Schema, das das Schlüsselwort format verwendete, wurde als ungültig behandelt.
Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values
Der Text nach dem zweiten Doppelpunkt ist die Diagnose des Validators und nennt das Schlüsselwort oder die Stelle, die fehlgeschlagen ist. Schemas, die das Schlüsselwort format verwenden, wie "format": "email", sind gültig: Claude Code akzeptiert format als Annotation und erzwingt es nicht.
Claude Code führt vor der Schemakompilierung zwei Prüfungen aus: Es lehnt einen Wert, der kein parsebares JSON ist, mit Error: --json-schema is not valid JSON ab, und gültiges JSON, das kein Objekt ist, mit Error: --json-schema must be a JSON object.
Was zu tun ist:
- Beheben Sie den Teil des Schemas, den die Diagnose nennt, und führen Sie den Befehl dann erneut aus
- Unter Strukturierte Ausgabe erhalten finden Sie ein funktionierendes Schema und einen Befehl
Einstellungsdatei überschreitet das Limit von 2 MiB
Die Datei, die Sie an --settings übergeben haben, ist größer als 2 MiB, daher beendet sich claude beim Start mit Exit-Code 1, anstatt sie zu laden. Vor v2.1.214 las Claude Code die Datei ohne Größenprüfung, und eine mehrere Gigabyte große Datei oder eine Gerätedatei wie /dev/zero ließ den Speicherverbrauch unbegrenzt wachsen.
Error: Settings file exceeds the 2MiB limit: /path/to/settings.json
Claude Code lehnt einen --settings-Pfad, der keine reguläre Datei ist, auf dieselbe Weise ab: Ein Gerät, ein FIFO oder ein Socket meldet Error: Cannot use settings file (Not a regular file (device, FIFO, or socket)), gefolgt vom Pfad, und ein Verzeichnis meldet einen EISDIR-Grund.
Was zu tun ist:
- Verweisen Sie
--settingsauf eine reguläre JSON-Einstellungsdatei unter 2 MiB. Das Format finden Sie unter Einstellungen.
Das aktuelle Verzeichnis existiert nicht mehr
Sie haben claude aus einem Verzeichnis gestartet, das gelöscht oder verschoben wurde, nachdem Ihre Shell es betreten hatte, zum Beispiel ein Worktree oder ein temporäres Verzeichnis, das eine andere Shell entfernt hat. Claude Code kann sein Arbeitsverzeichnis nicht lesen und beendet sich daher mit Exit-Code 1, bevor die Sitzung startet, sowohl im interaktiven als auch im nicht interaktiven Modus. Vor v2.1.239 stürzte Claude Code stattdessen mit minifiziertem Bundle-Quellcode und einem rohen ENOENT ... uv_cwd-Stack auf stderr ab.
The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.
error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.
Ursache und Lösung sind für beide Formen gleich.
Wenn Claude Code das Arbeitsverzeichnis aus einem anderen Grund nicht lesen kann, etwa wegen einer geänderten Berechtigung, nennt die Meldung stattdessen den Fehlercode: Can't read the current directory (EACCES). Start Claude Code from a different directory.
Unter macOS bedeutet EPERM für ein Verzeichnis in ~/Desktop, ~/Documents, ~/Downloads oder iCloud Drive in der Regel, dass macOS Ihrer Terminal-App den Zugriff auf diesen Ordner verweigert. Andere Befehle, die diesen Ordner lesen, schlagen auf dieselbe Weise fehl: ls meldet dort Operation not permitted, selbst mit sudo.
Was zu tun ist:
- Wechseln Sie in ein existierendes Verzeichnis, etwa Ihr Home-Verzeichnis oder Ihr Projektverzeichnis, und führen Sie dann
claudeerneut aus - Wenn das Verzeichnis unter demselben Pfad neu erstellt wurde, hält Ihre Shell noch das gelöschte fest. Führen Sie
cd "$PWD"aus oder verlassen Sie das Verzeichnis und betreten Sie es erneut, und führen Sie dannclaudeerneut aus - Bei
EPERMunter macOS beenden Sie Ihre Terminal-App mit Cmd+Q, öffnen Sie sie erneut, kehren Sie zu diesem Ordner zurück und führen Sieclaudeaus. Wennlsin diesem Ordner weiterhin fehlschlägt, öffnen Sie Systemeinstellungen > Datenschutz & Sicherheit > Dateien und Ordner, aktivieren Sie den Ordner für Ihre Terminal-App und öffnen Sie das Terminal dann erneut
Temporäres Verzeichnis abgelehnt oder kann nicht erstellt werden
Unter macOS und Linux erstellt Claude Code beim Start ein privates temporäres Verzeichnis, claude-<uid>, unterhalb des temporären Systemverzeichnisses oder der Überschreibung durch CLAUDE_CODE_TMPDIR. Wenn das Verzeichnis nicht erstellt werden kann oder ein bereits unter diesem Pfad vorhandener Eintrag die Sicherheitsprüfungen nicht besteht, gibt Claude Code den Fehler auf stderr aus und beendet sich mit Exit-Code 1, anstatt die Sitzung zu starten:
ENOSPC: no space left on device, mkdir '/tmp/claude-501'
Temp directory /tmp/claude-501 is not a directory (may be an attacker-planted symlink). Refusing to use it. Set CLAUDE_CODE_TMPDIR to a directory you control, or ask an administrator to remove it.
Temp directory /tmp/claude-501 is owned by uid 502, expected 501. Refusing to use it — another user may have pre-created it. Set CLAUDE_CODE_TMPDIR to a directory you control, or ask an administrator to remove it.
Temp directory /tmp/claude-501 is not readable (its mode may have been altered, or a path component denies search). Refusing to use it — restore its permissions (chmod 0700) or remove it. Set CLAUDE_CODE_TMPDIR to a directory you control, or ask an administrator to remove it.
Was zu tun ist:
- Bei
ENOSPCgeben Sie Speicherplatz auf dem Volume frei, das das temporäre Verzeichnis enthält - Bei den Formen mit
Refusing to use itentfernen Sie den genannten Eintrag selbst, nicht das Ziel eines Links, und starten Sie Claude Code erneut; bei der Formowned by uidkann nur ein Administrator oder der betreffende Benutzer ihn entfernen - Bei
is not readableführen Siechmod 0700für das genannte Verzeichnis aus oder entfernen Sie es und starten Sie erneut - In all diesen Fällen können Sie
CLAUDE_CODE_TMPDIRauf ein Verzeichnis setzen, das Sie kontrollieren, und Claude Code erneut starten, ohne den abgelehnten Pfad anzutasten
Verzeichnis konnte nicht in einen realen Speicherort aufgelöst werden
Sie haben /add-dir für ein Unterverzeichnis Ihres Arbeitsverzeichnisses ausgeführt, und Claude Code konnte das Verzeichnis nicht in seinen realen Speicherort auflösen.
Auf ein Unterverzeichnis des Arbeitsverzeichnisses haben Sie bereits Dateizugriff, daher lädt /add-dir nur dessen Skills, Befehle und Agenten. Bevor Claude Code sie lädt, prüft es, ob der reale Speicherort des Verzeichnisses, mit aufgelösten Symlinks, innerhalb des Arbeitsverzeichnisses liegt. Wenn Claude Code diesen Speicherort nicht auflösen kann, lädt es nichts und zeigt diese Meldung an:
packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.
Was zu tun ist:
- Prüfen Sie, ob der Pfad ein reales Verzeichnis innerhalb des Arbeitsverzeichnisses bezeichnet, und führen Sie
/add-dirdann erneut aus - Die Meldung ändert Ihren Dateizugriff nicht; sie meldet nur, dass der
.claude/-Inhalt des Verzeichnisses nicht geladen wurde
Vor v2.1.261 erschien diese Meldung auch bei jedem /add-dir <subdirectory>, wenn sich das Arbeitsverzeichnis auf einem /net/<host>-Automount befand, wo Claude Code das Auflösen von Pfaden absichtlich ablehnt; das Verzeichnis war in Ordnung, und ein erneuter Versuch konnte nicht helfen.
Workspace nicht vertrauenswürdig beim Start von Remote Control
Sie haben den Servermodus von Remote Control mit claude remote-control oder dessen Alias claude rc in einem Verzeichnis gestartet, dem Sie nicht vertraut haben, und der Befehl konnte Sie nicht fragen, ob Sie ihm vertrauen möchten. Zum Beispiel ist die Standardeingabe oder Standardausgabe des Befehls kein Terminal, weil eine davon umgeleitet oder per Pipe weitergeleitet wird. Der Befehl beendet sich mit Exit-Code 1:
Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.
Zwei Varianten, die ebenfalls mit Error: Workspace not trusted. beginnen, erscheinen in einem Terminal, das zu klein ist, um anzuzeigen, was das Vertrauen in das Verzeichnis aktiviert, oder in einem, das seine Größe nicht gemeldet hat. Vergrößern Sie das Fenster oder wechseln Sie zu einem normalen Terminalfenster und führen Sie dann claude rc erneut aus.
In Ihrem Home-Verzeichnis ist die Meldung eine andere, da der Vertrauensdialog für den Workspace das Vertrauen für das Home-Verzeichnis nie speichert, sodass das Akzeptieren dort diese Prüfung nicht erfüllen kann. Vor v2.1.214 zeigte das Home-Verzeichnis die obige Meldung, deren Rat dort nicht zum Erfolg führen kann.
Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).
Wenn Sie bei der Frage Trust <directory>? mit n antworten oder Enter drücken, gibt der Befehl eine Remote Control did not start-Meldung aus, die das Verzeichnis nennt, und beendet sich mit Exit-Code 1. Führen Sie claude rc erneut aus, um mit y zu antworten.
Was zu tun ist:
- Vertrauen Sie dem Verzeichnis zuerst in einem Terminal: Führen Sie dort
claude rcaus und antworten Sie mity, oder führen Sie dortclaudeaus und akzeptieren Sie den Vertrauensdialog für den Workspace, und führen Sie dann Ihren ursprünglichen Befehl erneut aus - Wechseln Sie in Ihrem Home-Verzeichnis in ein Projektverzeichnis und starten Sie Remote Control dort
Vor v2.1.284 fragte der Befehl nie nach, selbst in einem Terminal.
Wird nicht an die von Remote Control gestarteten Sitzungen weitergegeben
Sie haben Remote Control mit einem globalen claude-Flag vor dem Verb remote-control gestartet, das die von Remote Control gestarteten Sitzungen einschränken oder konfigurieren würde, etwa --settings, --setting-sources, --permission-mode, --disallowed-tools oder --mcp-config. Ein vor dem Verb platziertes Flag erreicht diese Sitzungen nie. Claude Code verweigert stattdessen den Start und nennt das Flag:
Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).
Claude Code lehnt globale Flags nicht ab, deren Wegfall unbedenklich ist, etwa --verbose, --model oder ein von einem Wrapper eingefügtes --session-id oder --plugin-dir: Es ignoriert sie, und Remote Control startet.
Claude Code verweigert den Start auch bei einem globalen Flag, das es noch nicht als unbedenklich erkennt, sodass ein in einem neueren Release hinzugefügtes Flag in dieser Meldung erscheinen kann, bis ein späteres Release es als unbedenklich kennzeichnet.
Was zu tun ist:
- Entfernen Sie das Flag vor dem Verb und übergeben Sie die eigenen Optionen von Remote Control danach;
claude remote-control --helplistet sie auf - Wenn das abgelehnte Flag
--permission-modeist, führen Sieclaude remote-control --permission-mode <mode>aus, um den Berechtigungsmodus für die von Remote Control gestarteten Sitzungen festzulegen
Vor v2.1.248 akzeptierte claude remote-control keine eigenen Flags, wenn ein globales Flag voranstand, und der Befehl schlug mit einem unknown option-Fehler fehl.
claude import ist in diesem Build noch nicht verfügbar
Sie haben claude import ausgeführt, und Claude Code hat festgestellt, dass der Importablauf ausgeschaltet ist, daher beendet sich der Befehl mit Exit-Code 1, anstatt den Import zu starten. Vor v2.1.222 behandelte ein Build mit ausgeschaltetem Importablauf import als Prompt und startete eine interaktive Sitzung, anstatt diese Meldung auszugeben.
`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.
Claude Code schaltet claude import über ein Feature-Flag ein, das es von Anthropic abruft und auf der Festplatte zwischenspeichert. Diese Meldung bedeutet, dass der zwischengespeicherte Wert ausgeschaltet ist. Die Ursache ist in der Regel eine der folgenden:
- Sie haben seit der Installation keine Sitzung gestartet, daher hat Claude Code das Flag noch nicht abgerufen. Das erste
claude importkann dies ausgeben, selbst wenn die Funktion für Sie verfügbar ist. - Sie verwenden Claude Code über Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder Claude Platform on AWS oder über ein Claude apps gateway. Claude Code ruft in diesen Sitzungen keine Feature-Flags ab, daher bleibt
claude importnicht verfügbar. - Sie haben
DISABLE_TELEMETRY,DO_NOT_TRACK,DISABLE_GROWTHBOOKoderCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICgesetzt, die das Abrufen von Feature-Flags ausschalten, daher bleibtclaude importnicht verfügbar.
Was zu tun ist:
- Starten Sie bei einer Neuinstallation
claude, warten Sie, bis die Sitzung geladen ist, beenden Sie sie und führen Sieclaude importerneut aus - Wo das Abrufen von Feature-Flags ausgeschaltet bleibt, richten Sie die Konfiguration selbst ein: Fügen Sie MCP-Server mit
claude mcp addhinzu und erstellen Sie dieCLAUDE.md-Dateien, Skills und Befehle sowie Subagenten, die Sie übernehmen möchten. Die Meldung nennt auch~/.claude/settings.json. Von der Konfiguration, dieclaude importübernimmt, enthält diese Datei nur den Berechtigungsmodus; Claude Code liest keine MCP-Server daraus.
Claude Code-Konfiguration konnte nicht gelesen werden
Sie haben claude import ausgeführt, während Claude Code ~/.claude.json nicht parsen konnte, die Datei, in der es Ihre Anmeldung und den Zustand pro Projekt speichert. Der Unterbefehl liest diese Datei, um die Verfügbarkeit zu prüfen, zeigt aber nicht den Wiederherstellungsdialog an, den die interaktive Sitzung anzeigt, daher beendet er sich mit Exit-Code 1. Vor v2.1.222 startete claude import bei einer nicht lesbaren Konfigurationsdatei eine interaktive Sitzung, deren Wiederherstellungsdialog die Datei behandelte.
Could not read Claude Code config — run `claude` with no arguments to recover it.
Was zu tun ist:
- Führen Sie
claudeohne Argumente aus. Claude Code erkennt die ungültige Datei und bietet an, sie zurückzusetzen. Führen Sie dannclaude importerneut aus. - Um manuelle Änderungen beizubehalten, die Sie vorgenommen haben, beheben Sie stattdessen die JSON-Syntax in
~/.claude.jsonin einem Editor und führen Sieclaude importdann erneut aus
Ein Server aus Claude Desktop konnte nicht importiert werden
Claude Code konnte einen der Server, die Sie in claude mcp add-from-claude-desktop ausgewählt haben, nicht hinzufügen. Der Befehl importiert die anderen ausgewählten Server trotzdem und gibt eine Zeile pro Server aus, den er nicht hinzufügen konnte. Vor v2.1.205 stoppte der erste fehlgeschlagene Server den Import.
Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.
Der Text nach dem Servernamen ist der Grund. Der häufigste ist die Namensprüfung: Claude Desktop erlaubt in Servernamen Zeichen wie Leerzeichen und Punkte, die claude mcp auf Buchstaben, Ziffern, Bindestriche und Unterstriche beschränkt. Weitere Gründe sind eine Serverkonfiguration, die die Validierung nicht besteht, und ein Server, der durch die MCP-Richtlinie Ihrer Organisation blockiert wird.
Was zu tun ist:
- Benennen Sie den Server in
claude_desktop_config.jsonso um, dass er nur Buchstaben, Ziffern, Bindestriche und Unterstriche verwendet, und führen Sie dannclaude mcp add-from-claude-desktoperneut aus - Fügen Sie diesen Server direkt mit
claude mcp addoderclaude mcp add-jsonunter einem gültigen Namen hinzu. Siehe MCP-Server aus Claude Desktop importieren.
MCP-Server kann nicht zum verwalteten Geltungsbereich hinzugefügt werden
Sie haben claude mcp add oder claude mcp add-json mit --scope managed ausgeführt. Dieser Geltungsbereich enthält die Server, die Ihre Organisation über die verwaltete Einstellung managedMcpServers bereitstellt. Claude Code liest sie nur aus den verwalteten Einstellungen, daher kann der Befehl keinen Server in diesen Geltungsbereich schreiben.
Cannot add MCP server to scope: managed
Was zu tun ist:
- Fügen Sie den Server zu einem Geltungsbereich hinzu, in den Sie schreiben können:
local,useroderproject. Ohne--scopeverwendet der Befehllocal. Siehe MCP-Installationsgeltungsbereiche - Um den Server allen Benutzern Ihrer Organisation bereitzustellen, fügen Sie ihn zu
managedMcpServersin den verwalteten Einstellungen hinzu, die Sie verteilen
.mcp.json kann nicht gelesen werden
Ein Befehl, der die .mcp.json des Projekts liest, etwa claude mcp add oder claude mcp add-json mit --scope project oder claude mcp remove, hat festgestellt, dass die Datei in Ihrem aktuellen Verzeichnis keine reguläre Datei oder größer als 2 MiB ist, daher beendet er sich mit diesem Fehler, anstatt die Datei zu lesen.
Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.
Vor v2.1.257 ließ ein FIFO unter .mcp.json den Befehl ohne Ausgabe endlos warten, und ein Symlink auf eine Gerätedatei wie /dev/zero ließ den Speicherverbrauch wachsen, bis der Prozess beendet wurde.
Was zu tun ist:
- Prüfen Sie, was sich unter
.mcp.jsonin Ihrem aktuellen Verzeichnis befindet. Ersetzen Sie es durch eine gewöhnliche JSON-Datei im Format für den Projekt-Geltungsbereich oder löschen Sie es, und führen Sie den Befehl dann erneut aus.
MCP-Server wurde nicht gespeichert oder entfernt
Sie haben claude mcp add, claude mcp add-json oder claude mcp remove für einen Server im Geltungsbereich user oder local ausgeführt. Beide Geltungsbereiche werden in ~/.claude.json gespeichert, und die Änderung ist nicht in dieser Datei enthalten, wenn Claude Code sie nach dem Schreiben zurückliest. Der Befehl beendet sich mit diesem Fehler anstelle seiner Erfolgszeile.
MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.
Nach einem Entfernen lautet die Meldung was not removed from und endet mit then remove the server again. Bei einem Server im Geltungsbereich local folgt auf den Pfad das Projektverzeichnis, zu dem der Eintrag gehört, als (local scope for /path/to/project).
Vor v2.1.283 meldeten claude mcp add, claude mcp add-json und claude mcp remove Erfolg, selbst wenn die Änderung die Datei nicht erreichte.
Was zu tun ist:
- Machen Sie die in der Meldung genannte Datei beschreibbar oder führen Sie den Befehl außerhalb der Sandbox aus, und führen Sie dann denselben Befehl zum Hinzufügen oder Entfernen erneut aus.
MCP-Server wurde möglicherweise nicht gespeichert oder entfernt
Sie haben claude mcp add, claude mcp add-json oder claude mcp remove für einen Server im Geltungsbereich user oder local ausgeführt, und Claude Code konnte ~/.claude.json nicht zurücklesen, um die Änderung zu bestätigen. Die Änderung befindet sich möglicherweise auf der Festplatte, möglicherweise aber auch nicht. Der Text in Klammern ist der Fehler dieses Lesevorgangs.
MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.
Nach einem Entfernen lautet die Meldung may not have been removed und endet mit then remove the server again if it is still listed.
Vor v2.1.283 meldeten die Befehle Erfolg, selbst wenn die Änderung nicht bestätigt werden konnte.
Was zu tun ist:
- Führen Sie
claude mcp get <name>aus, um zu prüfen, ob sich die Änderung auf der Festplatte befindet. Bei einem Server im Geltungsbereichlocalführen Sie den Befehl aus dem Projektverzeichnis aus, zu dem der Server gehört, da der lokale Geltungsbereich projektbezogen ist. - Wenn der Server nach einem Hinzufügen fehlt oder nach einem Entfernen noch aufgeführt ist, führen Sie denselben Befehl zum Hinzufügen oder Entfernen erneut aus.
Server wird von Anthropic gehostet und unterstützt kein lokales OAuth
Sie haben eine Anmeldung für einen MCP-Server gestartet, dessen URL auf einen von Anthropic gehosteten Konnektor-Host verweist, der sich über einen Identitätsanbieter eines Drittanbieters authentifiziert. Zu diesen Hosts gehören microsoft365.mcp.claude.com, gmail.mcp.claude.com und gcal.mcp.claude.com. Claude Code verweigert für diese Hosts den Start seines lokalen OAuth-Ablaufs sowohl im /mcp-Panel als auch über claude mcp login, da ihre Anmeldung nur über claude.ai funktioniert.
"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.
Was zu tun ist:
- Entfernen Sie Ihren Eintrag mit
claude mcp remove <name>, damit er den claude.ai-Konnektor unter derselben URL nicht verdecken kann - Verbinden Sie den Dienst nach dem Entfernen unter claude.ai/customize/connectors, während Sie mit dem Konto angemeldet sind, das Sie in Claude Code verwenden. Sobald die Verbindung besteht, erscheint der Konnektor automatisch in Claude Code, wenn Ihre aktive Authentifizierungsmethode eine Anmeldung mit einem claude.ai-Abonnement ist
Server hat den vom konfigurierten headersHelper erzeugten Authorization-Header abgelehnt
Ein MCP-Server, dessen headersHelper den Authorization-Header liefert, hat die Verbindung mit HTTP 401 oder 403 beantwortet, daher meldet Claude Code die Verbindung als fehlgeschlagen. Da der Helper den Authorization-Header liefert, fällt Claude Code für den Server nicht auf OAuth zurück:
Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.
Claude Code führt den Helper bei jedem Verbindungsversuch erneut aus, sodass ein erneuter Versuch nach einer vorübergehenden Ablehnung, etwa einer Race Condition bei der Token-Rotation, mit neuen Anmeldedaten erfolgreich sein kann.
Was zu tun ist:
- Führen Sie den
headersHelper-Befehl selbst so aus, wie Claude Code ihn ausführt: aus dem Verzeichnis, in dem Claude Code ihn ausführt, mit den Umgebungsvariablen, die Claude Code dafür setzt, und ohne die Anmeldedaten-Variablen, die Claude Code entfernt bei einem Server aus einer Projekt-.mcp.json, einem Plugin oder einer Projekt-Agentendatei. Prüfen Sie, ob er einenAuthorization-Wert ausgibt, den der Endpunkt des Servers akzeptiert - Nachdem Sie den Helper oder die Quelle seiner Anmeldedaten korrigiert haben, wählen Sie den Server in
/mcpaus und wählen Sie Reconnect
Vor v2.1.248 führte Claude Code für einen Server, dessen Helper den Authorization-Header lieferte, eine OAuth-Erkennung durch. Diese Erkennung konnte mit Incompatible auth server: does not support dynamic client registration fehlschlagen, anstatt die abgelehnten Anmeldedaten zu melden.
MCP-Tool für Berechtigungsabfragen nicht gefunden
Das Tool, das Sie an --permission-prompt-tool übergeben haben, gehörte nicht zu den verbundenen MCP-Tools, als die Ausführung zum ersten Mal eine Berechtigungsentscheidung benötigte, entweder weil sein Server nie verbunden wurde oder weil kein verbundener Server ein Tool mit diesem Namen bereitstellt. Claude Code sendet Ihren Prompt trotzdem: Die nicht interaktive Ausführung beendet sich beim ersten Tool-Aufruf mit diesem Fehler und Exit-Code 1, sodass sie keine Antwort liefert, obwohl die Anfrage gestellt wurde. Vor dem ersten Prompt wartet Claude Code bis zum Verbindungs-Timeout pro Server von 30 Sekunden, festgelegt durch MCP_TIMEOUT, darauf, dass dieser Server sich verbindet. Vor v2.1.206 wartete der Start nicht, bis der Server die Verbindung hergestellt hatte, sodass auch ein langsam startender, aber funktionsfähiger Server diesen Fehler verursachte.
Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none
Die Liste nach Available MCP tools: nennt die MCP-Tools, die verbunden waren.
Was zu tun ist:
- Prüfen Sie, ob der Server startet und verbunden bleibt: Führen Sie
claude mcp listim selben Verzeichnis aus und bestätigen Sie, dass der Server als verbunden aufgeführt ist - Bestätigen Sie, dass der Tool-Name mit dem
mcp__<server>__<tool>-Namen übereinstimmt, den der Server bereitstellt - Wenn der Server länger als 30 Sekunden zum Starten benötigt, erhöhen Sie
MCP_TIMEOUT
OAuth-Callback-Port wird bereits verwendet
Wenn Sie sich mit OAuth bei einem entfernten MCP-Server anmelden, startet Claude Code einen lokalen Listener, um den Anmelde-Callback zu empfangen. Wenn der Port, den dieser Listener benötigt, von einem anderen Prozess belegt ist, schlägt die Anmeldung mit dieser Meldung fehl. Das passiert meist bei einem festen Callback-Port, der über die Variable MCP_OAUTH_CALLBACK_PORT oder --callback-port gesetzt wurde, da Claude Code ohne einen solchen einen verfügbaren Port wählt.
OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.
Unter Windows lautet der vorgeschlagene Befehl stattdessen netstat -ano | findstr :<port>.
Was zu tun ist:
- Führen Sie den Befehl aus der Meldung aus, um den Prozess zu finden, der den Port belegt, und beenden Sie ihn oder warten Sie, bis er fertig ist
- Wenn ein anderes Programm diesen Port dauerhaft benötigt, registrieren Sie beim Server einen anderen Redirect-URI und setzen Sie dessen Port mit
MCP_OAUTH_CALLBACK_PORToder--callback-port, je nachdem, was Sie verwenden - Starten Sie die Anmeldung dann erneut, zum Beispiel indem Sie den Server in
/mcpauswählen
Keine verfügbaren Ports für die OAuth-Weiterleitung
Wenn Sie sich mit OAuth bei einem entfernten MCP-Server anmelden, startet Claude Code einen lokalen Listener, um den Anmelde-Callback zu empfangen. Die Anmeldung schlägt mit dieser Meldung fehl, wenn Claude Code dafür keinen lokalen Port binden kann. Etwas auf dem Rechner hindert es daran, auf 127.0.0.1 zu lauschen, zum Beispiel Sicherheitssoftware oder eine Sandbox-Richtlinie, die lokale Listener verbietet.
No available ports for OAuth redirect
Vor v2.1.268 fiel Claude Code nicht auf einen vom Betriebssystem zugewiesenen Port zurück, sodass die Meldung auch erschien, wenn nur die selbst gewählten Ports nicht gebunden werden konnten. Das kann auf Windows-Hosts passieren, auf denen Hyper-V Portbereiche reserviert, die die Ports abdecken, aus denen Claude Code wählt.
Was zu tun ist:
- Prüfen Sie, ob Sicherheitssoftware oder eine Sandbox-Richtlinie Prozesse daran hindert, auf
127.0.0.1zu lauschen, und erlauben Sie Claude Code, einen lokalen Port zu binden - Starten Sie die Anmeldung dann erneut, zum Beispiel indem Sie den Server in
/mcpauswählen
/security-review schlägt ohne origin/HEAD fehl
/security-review erstellt seinen Review-Kontext, indem es einen Diff Ihres Branches gegen origin/HEAD bildet, die lokale Ref, die festhält, welcher Branch auf Ihrem origin-Remote der Standard ist. Wenn diese Ref nicht existiert, schlagen die Git-Befehle fehl, die den Diff sammeln, und das Review stoppt, bevor es beginnt.
Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]
fatal: ambiguous argument 'origin/HEAD...': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Die Meldung kann stattdessen git log oder einen anderen git diff zitieren. Git erstellt origin/HEAD nur, wenn der Remote einen Standard-Branch bekannt gibt und Ihre Fetch-Refspec ihn abdeckt, was bei einem vollständigen git clone eines Remotes mit Commits der Fall ist. In diesen Konstellationen fehlt die Ref:
- Ein Single-Branch- oder CI-Checkout, der eine zu enge Refspec abruft
- Ein Remote, dessen serverseitiger HEAD auf einen Branch verweist, den niemand gepusht hat
- Ein Repository ohne
origin-Remote oder eines, das Sie nie abgerufen haben
Claude Code zeigt denselben Fehler für jeden Skill, der dynamischen Kontext einfügt, und ein fehlgeschlagener eingefügter Befehl bricht den Aufruf dieses Skills ab. Zwei verwandte Meldungen treten auf, bevor der Befehl überhaupt ausgeführt wird:
Shell command permission check failed for pattern "...": Die Berechtigungsprüfung des Befehls hat ihn nicht zugelassen. Berechtigungsprüfungen für eingefügte Befehle beschreibt, welche Ergebnisse in jedem Berechtigungsmodus zum Abbruch führen und wie Sie einen Befehl mitallowed-toolsvorab genehmigenSkill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found: Das Frontmatter des Skills verlangt bash auf einem Rechner, auf dem es nicht vorhanden ist. Installieren Sie Git for Windows oder ändern Sie das Frontmatter inshell: powershell. Siehe Wie eingefügte Befehle ausgeführt werden
Was zu tun ist:
- Erstellen Sie die Ref, indem Sie den Standard-Branch Ihres Remotes angeben:
git remote set-head origin <default-branch>. Das funktioniert, sofern die lokale Tracking-Reforigin/<default-branch>existiert. Falls nicht, wie bei Single-Branch-Klonen, rufen Sie den Branch zuerst ab: Führen Siegit remote set-branches --add origin <branch>aus, danngit fetch origin, und führen Sie dann den set-head-Befehl erneut aus. Führen Sie/security-reviewerneut aus. - Wenn Sie den Branch lieber nicht angeben möchten, führen Sie
git fetch originund danngit remote set-head origin --autoaus, das den Remote fragt, welcher Branch sein Standard ist. Es schlägt miterror: Cannot determine remote HEADfehl, wenn der Remote keinen Standard-Branch bekannt gibt, weil er leer ist oder sein HEAD auf einen Branch verweist, den niemand gepusht hat; geben Sie den Branch stattdessen explizit an. Es schlägt miterror: Not a valid reffehl, wenn Ihr Klon diesen Branch nicht abruft; erweitern Sie zuerst die Refspec wie oben beschrieben. - Wenn das Repository keinen Remote hat, fügen Sie einen mit
git remote add origin <url>hinzu und rufen Sie ihn ab, bevor Sie die Ref erstellen. Wenn der Remote leer ist, pushen Sie zuerst Ihren Branch mitgit push -u origin HEADund geben Sie diesen Branch im set-head-Befehl an;origin/HEADverweist dann auf den Branch, den Sie gerade gepusht haben, sodass/security-revieweinen leeren Diff sieht, bis der Branch davon abweicht.
Bei Verwendung von `--print` muss eine Eingabe angegeben werden
Ein einfaches claude benötigt ein Terminal als stdout, um die interaktive Oberfläche zu starten. Wenn stdout umgeleitet wird oder die Konsole kein echtes Terminal ist, etwa PowerShell ISE und einige Ausgabebereiche von IDEs, wird claude stattdessen nicht interaktiv ausgeführt. Das ist derselbe Modus wie claude -p, der einen Prompt erfordert, daher nennt die Meldung --print, auch wenn Sie das Flag nicht übergeben haben. Die Übergabe von -p/--print ohne Prompt und ohne per Pipe übergebene Eingabe auf stdin erzeugt überall denselben Fehler.
Error: Input must be provided either through stdin or as a prompt argument when using --print
Was zu tun ist:
- Für die interaktive Nutzung führen Sie
claudein einem echten Terminal aus: Windows Terminal oder der PowerShell-Konsole statt ISE, und im integrierten Terminal Ihrer IDE statt in einem Ausgabebereich - Für die einmalige Nutzung übergeben Sie den Prompt:
claude -p "your question", oder leiten Sie ihn per Pipe weiter mitecho "your question" | claude -p
Eingabe enthielt nur Leerraum
Im nicht interaktiven Modus lehnt Claude Code einen Prompt, der ausschließlich aus Leerzeichen, Tabulatoren oder Zeilenumbrüchen besteht, ab, anstatt ihn zu senden, da die API Nachrichten ohne sichtbaren Text ablehnt. Welche Meldung Sie sehen, hängt davon ab, woher der leere Prompt stammt:
- Prompt-Argument oder per Pipe übergebenes stdin für
claude -p:claudebeendet sich mitError: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print - Nachricht, die an eine laufende
--input-format stream-json- oder Agent SDK-Sitzung gesendet wurde: Claude Code beendet den Turn, ohne das Modell aufzurufen, und die Sitzung bleibt nutzbar. Die Ablehnung kommt als informative Nachricht und als Ergebnistext des Turns an:Blank prompt — the message was only whitespace, so nothing was sent to the model.
Vor v2.1.229 sendete Claude Code die Nachricht, die nur Leerraum enthielt, an die API, die die Anfrage mit einem 400-Fehler ablehnte.
Was zu tun ist:
- Fügen Sie sichtbaren Text in den Prompt ein. Wenn ein Skript den Prompt aus einer Variablen oder Datei erstellt, prüfen Sie vor dem Aufruf von Claude Code, ob die Quelle nicht leer ist.
stream-json-Eingabe enthielt über 256M Zeichen ohne Zeilenumbruch
Ihr Programm hat mehr als 268.435.456 Zeichen ohne Zeilenumbruch über stdin an eine claude -p --input-format stream-json-Ausführung gesendet, daher gibt Claude Code diesen Fehler auf stderr aus und beendet sich mit Exit-Code 1, anstatt weitere Eingaben zu puffern. Die Meldung gibt dieses Budget als 256M an. Vor v2.1.257 pufferte Claude Code solche Eingaben ohne Begrenzung, wodurch der Speicherverbrauch wuchs, bis der Prozess abstürzte oder beendet wurde.
Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.
Eine so lange Eingabe ohne Zeilenumbruch bedeutet in der Regel, dass der Erzeuger überhaupt kein stream-json-Erzeuger ist, etwa eine Binärdatei oder einfache Log-Ausgabe, die versehentlich per Pipe übergeben wurde. Eine einzelne Nachricht über dem Budget scheitert an derselben Prüfung.
Was zu tun ist:
- Prüfen Sie, was per Pipe an stdin übergeben wird. Mit
--input-format stream-jsonmuss jede Nachricht eine einzelne, mit Zeilenumbruch abgeschlossene JSON-Zeile sein - Um stattdessen einfachen Text zu senden, entfernen Sie
--input-format stream-json;claude -pliest standardmäßig einen Klartext-Prompt von stdin
Unknown command
In einer interaktiven Terminalsitzung haben Sie einen /-Namen abgesendet, der keinem Befehl in dieser Sitzung entspricht, daher meldet Claude Code den Namen, anstatt etwas auszuführen:
Unknown command: /hepl. Did you mean /help?
Claude Code schlägt den nächstliegenden Befehlsnamen oder Alias vor, den das Menü in dieser Sitzung auflistet. Wenn nichts ähnlich ist, endet die Meldung nach dem Namen. Die Ursache ist in der Regel eine der folgenden:
- Ein Tippfehler, etwa
/heplstatt/help. Wie das Befehlsmenü Ihre Eingabe abgleicht beschreibt, wie Sie vor dem Absenden einen ähnlichen Treffer auswählen - Ein Befehl, der existiert, aber in dieser Sitzung nicht verfügbar ist, weil eine Voraussetzung nicht erfüllt ist, etwa Ihre Plattform, Ihr Plan oder Ihre Authentifizierungsmethode. Die Einträge zur Fehlerbehebung für
/web-setupund/scheduleerläutern zwei häufige Fälle. Einige Befehle antworten mit einer eigenen Meldung, wenn die Richtlinie Ihrer Organisation sie deaktiviert, etwaCloud sessions are disabled by your organization's policy - Ein Befehl aus einem Plugin oder MCP-Server, das bzw. der in dieser Sitzung nicht installiert oder verbunden ist
Claude Code beantwortet einen nicht übereinstimmenden /-Namen nur in einer interaktiven Terminalsitzung auf diese Weise. In jeder anderen Sitzung sendet es den Prompt stattdessen als normale Nachricht an Claude, mit einem Hinweis, dass der Befehl nicht ausgeführt wurde, und einer Liste der Befehle, die Claude in der Sitzung ausführen kann. Zu diesen Sitzungen gehören:
-p-Ausführungen- Agent SDK-Anwendungen
- Der Code-Tab der Desktop-App
- Das Chat-Panel der VS Code-Erweiterung
- Cloud-Sitzungen und Routinen
Bei einem integrierten Befehl, der in einer dieser Sitzungen nicht ausgeführt werden kann, antwortet Claude Code weiterhin, dass der Befehl nicht verfügbar ist, anstatt ihn an Claude zu senden. Vor v2.1.274 sendeten nur Cloud-Sitzungen und Routinen einen nicht übereinstimmenden Namen an Claude. Vor v2.1.273 antworteten auch sie mit Unknown command.
Claude Code behandelt nicht jeden Prompt, der mit / beginnt, als Befehl. Es sendet den Prompt als normale Nachricht an Claude, wenn das erste Wort nach dem / mit einem Satzzeichen beginnt, etwa das /--, das einen Lean-Dokumentationskommentar einleitet, oder ein Pfad wie /var/log/syslog ist.
Vor v2.1.236 führte Claude Code, wenn Sie Enter drückten, während das Befehlsmenü einen ähnlichen Treffer für den eingegebenen Namen auflistete, diesen Treffer aus, sodass ein Tippfehler wie /hepl /help ausführte, anstatt diese Meldung zu erzeugen.
Was zu tun ist:
- Führen Sie den vorgeschlagenen Namen aus, oder geben Sie
/gefolgt von einem Teil des Namens ein, um zu sehen, was in dieser Sitzung verfügbar ist - Wenn Claude Code einen dokumentierten Befehl als unbekannt meldet, prüfen Sie dessen Zeile in der Befehlsreferenz auf die dort genannte Voraussetzung
Diff ist zu groß für ultrareview
Der Diff zwischen Ihrem Branch und dem Basis-Branch, einschließlich nicht committeter und gestagter Änderungen, überschreitet die Größenlimits für ein ultrareview, daher verweigern /code-review ultra und der Unterbefehl claude ultrareview das Review, bevor die Cloud-Sitzung startet. Ein abgelehntes Review verbraucht keine kostenlose Ausführung und verrechnet kein Nutzungsguthaben. Die Meldung nennt die geltenden Limits, die Größe Ihres Diffs und die Dateien, die die meisten geänderten Zeilen beitragen. Vor v2.1.216 zeigte die Meldung nur die rohen Diff-Statistiken.
Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.
Für das Review eines Pull Requests gelten dieselben Limits; diese Form der Meldung beginnt mit PR #<N> is too large for ultrareview und nennt die Datei- und Zeilenanzahl des PR.
Was zu tun ist:
- Übergeben Sie einen Basis-Branch, der näher an Ihrer Arbeit liegt, etwa
/code-review ultra develop, sodass das Review nur den Diff gegen diesen Branch abdeckt - Teilen Sie die Änderung in kleinere Branches auf und führen Sie für jeden ein Review durch. Die Dateien, die die Meldung nennt, tragen die meisten geänderten Zeilen bei, also verschieben Sie diese zuerst in einen eigenen Branch.
Merge-Base mit dem Basis-Branch konnte nicht gefunden werden
/code-review ultra und der Unterbefehl claude ultrareview prüfen den Diff zwischen Ihrem Branch und einem Basis-Branch, wofür ein Commit benötigt wird, den beide gemeinsam haben. Wenn git merge-base keinen findet, verweigert Claude Code das Review, bevor die Cloud-Sitzung startet. Bei einem Klon, dessen Vollständigkeit Claude Code überprüfen kann und der mindestens einen Branch hat, fällt es darauf zurück, jede verfolgte Datei zu prüfen, anstatt abzulehnen. Sie sehen diese Ablehnung, wenn der Basis-Branch überhaupt nicht gefunden werden kann, wenn Claude Code nicht überprüfen kann, ob Ihr Klon vollständig ist, oder in dem seltenen Repository, in dem der Diff über den gesamten Baum nicht möglich ist, etwa beim SHA-256-Objektformat.
Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.
Der Hinweis nach dem ersten Satz hängt davon ab, was Claude Code festgestellt hat:
- Sie haben keinen Basis-Branch übergeben: Claude Code hat mit dem Standard-Branch des Repositorys verglichen und schlägt vor, Ihre Basis explizit zu übergeben, wie im obigen Beispiel
- Sie haben einen Basis-Branch übergeben, der bereits in Ihrem Klon vorhanden war: Der Hinweis lautet
Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`) - Sie haben einen Basis-Branch übergeben, der nicht in Ihrem Klon vorhanden war: Claude Code hat ihn vor dem Vergleich von origin abgerufen. Der Hinweis lautet
<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`); wenn Claude Code nicht feststellen kann, ob Ihr Klon shallow ist, schlägt es stattdessengit fetch --unshallow originvor. Vor v2.1.221 schlug der Hinweis für jeden abgerufenen Basis-Branchgit fetch --unshallow originvor, und bei einem vollständigen Klon schlägt dieser Befehl mitfatal: --unshallow on a complete repository does not make sensefehl.
Was zu tun ist:
- Wenn ein anderer Branch Ihre eigentliche Basis ist, übergeben Sie ihn explizit:
/code-review ultra <branch> - Wenn Ihr Klon möglicherweise nicht die vollständige Historie enthält, führen Sie
git fetch --unshallow originaus und starten Sie das Review erneut
Ihr Checkout hat keine Branches
Ein Checkout kann Commits, aber keine Branches haben: Wenn Sie git init gefolgt von git fetch <url> und git checkout FETCH_HEAD ausführen, erhalten Sie einen Detached HEAD ohne Refs. Claude Code verpackt Ihr Repository als Git-Bundle, um es für ein ultrareview hochzuladen, und kann kein Repository bündeln, das keine Branches oder anderen Refs hat, daher verweigern /code-review ultra und der Unterbefehl claude ultrareview das Review, bevor die Cloud-Sitzung startet.
Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.
Vor v2.1.221 versuchte Claude Code, jede verfolgte Datei in diesem Checkout zu prüfen, und der Upload schlug fehl.
Was zu tun ist:
- Erstellen Sie mit
git checkout -b <name>einen Branch bei Ihrem aktuellen Commit und starten Sie das Review dann erneut
Mit Ihrem Claude-Konto ist kein GitHub-Konto verbunden
Sie haben /code-review ultra <PR#> oder claude ultrareview <PR#> ausgeführt, und vor dem Erstellen der Cloud-Sitzung fragt Claude Code den Server, ob das mit Ihrem Claude-Konto verbundene GitHub-Konto auf das Repository des PR zugreifen kann. Es ist kein Konto verbunden, oder die Verbindung ist abgelaufen, daher würde der Klon in der Cloud fehlschlagen, und Claude Code verweigert den Start. Claude Code verbraucht für einen verweigerten Start keine kostenlose Ausführung und verrechnet kein Nutzungsguthaben.
Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).
Wenn /web-setup in Ihrer Sitzung nicht verfügbar ist, nennt die Meldung nur den claude.ai-Link.
Was zu tun ist:
- Führen Sie
/web-setupaus, um Ihre GitHub CLI-Anmeldung mit Ihrem Claude-Konto zu verbinden, oder verbinden Sie ein Konto unter claude.ai/connect-github - Starten Sie das Review eine Minute nach dem Verbinden erneut
Vor v2.1.248 prüfte Claude Code dies nicht vor dem Start.
Ihr verbundenes GitHub-Konto kann das Repository nicht sehen
Sie haben /code-review ultra <PR#> oder claude ultrareview <PR#> ausgeführt, und das mit Ihrem Claude-Konto verbundene GitHub-Konto kann das Repository des PR nicht lesen, daher würde der Klon in der Cloud fehlschlagen, und Claude Code verweigert den Start. Claude Code verbraucht für einen verweigerten Start keine kostenlose Ausführung und verrechnet kein Nutzungsguthaben.
Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.
Wenn /web-setup in Ihrer Sitzung nicht verfügbar ist, nennt die Meldung nur die App-Installation.
Was zu tun ist:
- Wenn Ihre lokale
gh-CLI das Repository lesen kann, führen Sie/web-setupaus, um diese Anmeldung mit Ihrem Claude-Konto zu verbinden - Starten Sie das Review nach der Änderung erneut
Vor v2.1.248 prüfte Claude Code dies nicht vor dem Start.
Die GitHub-App-Vorabprüfung ist vorübergehend fehlgeschlagen
Sie haben eine Cloud-Sitzung aus einem lokalen Repository gestartet, und zwei Schritte sind gemeinsam fehlgeschlagen. Claude Code konnte das Bundle Ihres Repositorys nicht erstellen oder hochladen. Vor dem Upload prüfte es, ob der Cloud-Dienst das Repository von GitHub klonen kann, und anstelle einer eindeutigen Antwort endete diese Prüfung mit einem Fehler, den ein erneuter Versuch beheben könnte, etwa einem Netzwerkfehler, einem Timeout oder einem vorübergehenden Serverfehler. Die vollständige Meldung beginnt mit dem, was das Bundle verhindert hat, zum Beispiel Could not upload repo bundle (<error>), und endet mit dem Satz zur Vorabprüfung:
Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead
Was zu tun ist:
- Führen Sie den Befehl nach einem Moment erneut aus. Wenn die GitHub-Prüfung erfolgreich ist, kann Claude Code die Sitzung aus einem GitHub-Klon starten, sodass der fehlgeschlagene Upload den Start nicht mehr blockiert
- Wenn die Wiederholungsversuche weiterhin fehlschlagen, nennt der Anfang der Meldung, was den Upload verhindert hat. Wenn Sie diese Ursache beheben können, beheben Sie sie, damit die Sitzung stattdessen aus Ihrem lokalen Repository starten kann
Vor v2.1.251 beendete Claude Code die Meldung mit Please set up GitHub on https://claude.ai/code, selbst wenn die GitHub-Prüfung nur vorübergehend fehlschlug, und ein Einrichtungshinweis kann einen vorübergehenden Fehler nicht beheben.
Der Repository-Upload kann einer Git-Einstellung nicht folgen
Sie haben eine Cloud-Sitzung gestartet, die Ihr lokales Repository hochlädt, oder ein ultrareview eines Branches, und der Upload kann einer der Git-Einstellungen nicht folgen, die festlegen, welche Attributregeln für Ihre Dateien gelten. Würde der Upload fortgesetzt und eine Regel übersehen, könnte eine Datei, die Git vor dem Speichern umwandelt, etwa eine, die ein Clean-Filter verschlüsselt, so in die Cloud gelangen, wie sie auf der Festplatte liegt. Claude Code verweigert stattdessen den Upload, und nichts wird hochgeladen:
Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository’s .git/config or directly into your ~/.gitconfig, then retry.
Die Meldung nennt die Einstellung und wo sie gesetzt ist, und endet mit der Lösung für den aufgetretenen Fall. Dieselbe Ablehnung erscheint für core.attributesFile und attr.tree, jeweils mit eigener Lösung.
Die Meldung kann eine Konfigurationsdatei nennen, die Ihre Git-Konfiguration über eine include- oder includeIf-Direktive einbindet, selbst wenn die Bedingung dieser Direktive für dieses Repository nicht zutrifft.
Was zu tun ist:
- Wenden Sie die Lösung aus dem letzten Satz der Meldung an
GitHub ist nicht mit Ihrem Claude-Konto verbunden
Sie haben eine Cloud-Sitzung aus Ihrem lokalen Repository gestartet, zum Beispiel mit /autofix-pr. Mit Ihrem Claude-Konto ist kein GitHub-Konto verbunden, oder die Verbindung ist abgelaufen, daher verweigert Claude Code den Start:
GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github
Wenn Sie eine Routine mit /schedule erstellen, erscheint dieselbe Meldung als Einrichtungshinweis, der das Repository nennt; der Hinweis blockiert das Erstellen der Routine nicht.
Was zu tun ist:
- Führen Sie
/web-setupaus, um Ihre GitHub CLI-Anmeldung mit Ihrem Claude-Konto zu verbinden, oder verbinden Sie ein Konto unter claude.ai/connect-github. Unter GitHub-Authentifizierungsoptionen erfahren Sie, wie sich die beiden unterscheiden. - Führen Sie den Befehl eine Minute nach dem Verbinden erneut aus
Vor v2.1.268 meldete Claude Code dies als vorübergehenden Fehler der Claude GitHub App-Prüfung und schlug vor, es erneut zu versuchen oder die App zu installieren; keines von beiden verbindet ein GitHub-Konto.
Single-Sign-On-Autorisierung erforderlich
Sie haben /install-github-app ausgeführt und ein Repository gewählt, dessen Organisation SAML-Single-Sign-On erzwingt. Vor der Einrichtung prüft Claude Code Ihren Zugriff auf das Repository mit der GitHub CLI, und GitHub hat diese Prüfung abgelehnt, weil Ihr gh-Token noch nicht für die Organisation autorisiert ist. Der Assistent zeigt die Warnung mit den Schritten zur Autorisierung an:
Single sign-on authorization needed
<owner>/<repo> belongs to an organization that enforces SAML single sign-on, and your GitHub CLI token isn't authorized for it yet.
Was zu tun ist:
- Autorisieren Sie Ihre GitHub CLI-Anmeldung mit den Scopes
repoundworkflowerneut, indem Siegh auth refresh -h github.com -s repo,workflowausführen, und autorisieren Sie die Organisation, wenn GitHub zur Single-Sign-On-Anmeldung auffordert - Wenn Sie sich mit einem Personal Access Token in
GH_TOKENauthentifizieren, öffnen Sie github.com/settings/tokens, wählen Sie beim Token Configure SSO aus und autorisieren Sie die Organisation - Führen Sie
/install-github-apperneut aus
Vor v2.1.273 zeigte Claude Code für diesen Zustand stattdessen die Warnung Admin permissions required an.
Die Konversation konnte nicht fortgesetzt werden
Claude Code konnte das gespeicherte Transkript der Sitzung, die Sie in der claude --resume-Auswahl ausgewählt haben, nicht lesen oder verarbeiten, daher beendet es den Prozess, anstatt in einem teilweise geladenen Zustand fortzufahren. Die Meldung enthält den Befehl für einen erneuten Versuch:
Failed to resume the conversation.
Run claude --resume <session-id> to retry, or claude to start a new session.
Claude Code beendet sich nach der Anzeige der Meldung mit Exit-Code 1. Die /resume-Auswahl innerhalb einer laufenden Sitzung meldet stattdessen Failed to resume conversation in der Konversation, und Ihre aktuelle Sitzung läuft weiter. Vor v2.1.216 blieb ein fehlgeschlagenes Fortsetzen aus der claude --resume-Auswahl unbegrenzt beim Spinner Resuming conversation… hängen, anstatt diese Meldung anzuzeigen.
Was zu tun ist:
- Führen Sie
claude --resume <session-id>mit der Sitzungs-ID aus der Meldung aus, um es erneut zu versuchen - Wenn jeder erneute Versuch auf dieselbe Weise fehlschlägt, führen Sie
claude updateaus und setzen Sie die Sitzung erneut fort. Versionen vor v2.1.275 lassen das Fortsetzen fehlschlagen, wenn das gespeicherte Transkript einen Eintrag enthält, den sie nicht lesen können. - Wenn der erneute Versuch wieder fehlschlägt, führen Sie
claudeaus, um eine neue Sitzung zu starten
Keine Konversation mit der Sitzungs-ID gefunden
Sie haben eine Sitzungs-ID an claude --resume <session-id> übergeben, und kein gespeichertes Transkript stimmte damit überein:
No conversation found with session ID: <session-id>
Claude Code beendet sich nach der Anzeige der Meldung mit Exit-Code 1. Claude Code durchsucht zuerst das aktuelle Projekt und dann jedes andere Projekt auf diesem Rechner nach der ID. Vor v2.1.223 beschränkte sich die Suche auf das aktuelle Projektverzeichnis und dessen Git-Worktrees, setzen Sie die Sitzung also aus dem Verzeichnis fort, in dem sie zuletzt gearbeitet hat.
Häufige Ursachen:
- Falsch eingegebene ID: Bei einer nicht interaktiven Ausführung ist die ID das Feld
session_idder--output-format json-Ausgabe - Gelöschtes Transkript: Claude Code entfernt Transkripte nach der Aufbewahrungsfrist, standardmäßig 30 Tage, gemäß den Regeln für die Aufbewahrungsbereinigung
- Anderer Rechner: Claude Code speichert Transkripte lokal, setzen Sie die Sitzung also auf dem Rechner fort, auf dem sie ausgeführt wurde
- Doppelte Kopien: Wenn Sie ein Projektverzeichnis unter
~/.claude/projectskopiert haben, sodass zwei Transkripte dieselbe ID tragen, meldet Claude Code diese Meldung, anstatt willkürlich eine Kopie fortzusetzen
Was zu tun ist:
- Öffnen Sie für eine interaktive Sitzung die Sitzungsauswahl mit
claude --resumeund drücken SieCtrl+A, um sie auf jedes Projekt auf diesem Rechner zu erweitern, und wählen Sie dann die Sitzung aus - Sitzungen, die mit
claude -poder dem Agent SDK erstellt wurden, erscheinen nicht in der Auswahl, gleichen Sie die ID daher erneut mit dersession_idab, die Ihre ursprüngliche Ausführung ausgegeben hat
Windows hat beim Lesen der Transkriptdatei dieser Sitzung durch Claude Code einen Fehler (EBADF) gemeldet
Sie haben unter Windows eine Sitzung fortgesetzt, ihre gespeicherte Transkriptdatei wurde normal geöffnet, und das Lesen schlug anschließend mit dem Systemfehler EBADF fehl. Der Systemfehler gibt keinen Grund an, warum das Lesen fehlgeschlagen ist. Daher nennt die Meldung wahrscheinliche Ursachen und mögliche Lösungsschritte:
Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.
Die Meldung folgt auf die eigene Fehlerzeile des Befehls, etwa Failed to resume session <session-id>. Ein Befehl claude --resume oder claude -p wird nach der Anzeige mit Code 1 beendet. Nach /resume innerhalb einer Sitzung läuft Ihre aktuelle Sitzung weiter.
Vorgehensweise:
- Schließen Sie den Ordner mit Ihren Sitzungstranskripten von Software aus, die Dateilesevorgänge scannt oder abfängt, etwa Sicherheits-, Verschlüsselungs- oder Endpoint-Management-Tools. Transkripte liegen standardmäßig unter
%USERPROFILE%\.claude\projectsoder unter dem Verzeichnis, dasCLAUDE_CONFIG_DIRangibt - Wenn Sie keine Ausnahme hinzufügen können, fügen Sie Claude Code stattdessen zu den zugelassenen Anwendungen dieser Software hinzu
- Setzen Sie die Sitzung erneut fort
Vor v2.1.282 trat der Fehler ohne Erklärung auf: claude --resume <session-id> endete mit Failed to resume session <session-id>, und ein -p-Lauf gab nur den Text des Systemfehlers aus, etwa Failed to resume session: EBADF: bad file descriptor, read.
Renderer kann in dieser Sitzung nicht gewechselt werden
Wenn Sie den Renderer wechseln, startet Claude Code seinen Prozess neu. Sie haben /tui in einer Sitzung ausgeführt, die Claude Code nicht neu starten will. Daher findet kein Wechsel statt und nichts wird gespeichert. Welche Meldung Sie sehen, verrät die Ursache:
Cannot switch renderers while work is running in the background: Im Hintergrund läuft Arbeit, die ein Neustart abbrechen würde, etwa eine Hintergrund-Shell oder ein Subagent. Warten Sie, bis die Arbeit abgeschlossen ist, oder beenden Sie sie mit/tasks, und führen Sie dann erneut/tui fullscreenoder/tui defaultausCannot switch renderers in this session: Die Sitzung hat Einschränkungen, die Claude Code nicht an den neu gestarteten Prozess übergeben kann. Vor v2.1.234 startete Claude Code trotzdem neu, und die neu gestartete Sitzung lief ohne diese Einschränkungen
In der Meldung zu den Einschränkungen nennt der Teil in Klammern die Einschränkungen, die Claude Code gefunden hat:
Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.
Jeder Grund, den die Meldung in Klammern anzeigen kann:
launch flags: a custom system prompt, a tool allowlist, or restricted settings: Sie haben die Sitzung mit einem Flag gestartet, das Claude Code nicht an den neu gestarteten Prozess zurückgibt. Zu diesen Flags gehören--system-prompt,--system-prompt-file,--append-system-prompt-file, eine--tools-Allowlist,--setting-sourcesund--permission-prompt-toolpermission rules set for this session only: Ein Berechtigungs-Update von einem Hook oder SDK-Aufrufer hat deny- oder ask-Regeln mit dem Zielsessionhinzugefügt. Sitzungsbezogene allow-Regeln lösen die Ablehnung nicht aus. Ein Neustart verwirft sie, und Claude Code fragt stattdessen erneut nachask-before-running rules with no command-line form: Ein Berechtigungs-Update von einem Hook oder SDK-Aufrufer hat ask-Regeln zusätzlich zu den Regeln hinzugefügt, die Claude Code als--allowed-toolsund--disallowed-toolszurückgibt. Für ask-Regeln gibt es kein Flagpermission rules a command line cannot carry intactundadded directories a command line cannot carry intact: Ein Berechtigungs-Update hat während der Sitzung eine Regel oder einen Verzeichnispfad hinzugefügt. Die Befehlszeile des neu gestarteten Prozesses kann deren Text nicht als denselben Wert übernehmen
Vorgehensweise:
- Führen Sie in einer Sitzung, die ohne diese Einschränkungen gestartet wurde,
/tui fullscreenaus bzw./tui default, um zurückzuwechseln. Claude Code speichert dort dietui-Einstellung
Claude Desktop konnte nicht geöffnet werden
Sie haben /desktop oder dessen Alias /app in einer Sitzung oder claude --desktop in Ihrer Shell ausgeführt, und der Systembefehl, mit dem Claude Code Claude Desktop öffnet, ist fehlgeschlagen. Nach /desktop bleibt die Sitzung im Terminal; claude --desktop gibt die Meldung ohne das Präfix Error: aus und wird mit Status 1 beendet.
Der Text in Klammern nennt den fehlgeschlagenen Befehl mit seinem Exit-Status und der ersten Zeile seiner Fehlerausgabe, sofern er diese erzeugt hat. Unter macOS ist dieser Befehl open, wie in diesem Beispiel; unter Windows ist es rundll32:
Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.
Vorgehensweise:
- Öffnen Sie Claude Desktop selbst und führen Sie dann erneut
/desktopoderclaude --desktopaus - Um die vollständige Fehlerausgabe des fehlgeschlagenen Befehls zu lesen, aktivieren Sie das Debug-Logging mit
/debugund führen Sie/desktoperneut aus, oder führen Sieclaude --desktop --debug-file <path>aus, und prüfen Sie anschließend das Debug-Log
Vor v2.1.285 endete die Meldung mit Open Claude Desktop and run /desktop again. Vor v2.1.275 lautete sie Failed to open Claude Desktop. Please try opening it manually. und gab nicht an, was fehlgeschlagen war.
/terminal-setup hat Ihre Zed-Keymap unverändert gelassen
Sie haben /terminal-setup in Zed ausgeführt, und Claude Code konnte die Aktualisierung Ihrer Zed-Datei keymap.json nicht abschließen. Daher wurde die Datei unverändert gelassen.
Jede Meldung nennt den Pfad zu Ihrer Keymap und endet mit dem Tastenkombinationsblock, den Sie selbst hinzufügen können:
Couldn't update your Zed keymap, so it was left unchanged.
To add the binding yourself, add this block to the keymap array in <path to keymap.json>:
{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }
Die erste Zeile der Meldung nennt die Ursache:
Couldn't read your Zed keymap, so it was left unchanged.: Claude Code konnte die Datei nicht lesen, zum Beispiel aufgrund von DateiberechtigungenYour Zed keymap isn't a readable list of keybindings, so it was left unchanged.: Die Datei wurde gelesen, lässt sich aber nicht als Array von Tastenkombinationsblöcken parsen, selbst wenn//-Kommentare und nachgestellte Kommas zugelassen werdenCouldn't back up your Zed keymap; not modifying it.: Claude Code konnte die Datei nicht in eine.bak-Sicherung daneben kopieren und hat daher nichts geändertCouldn't update your Zed keymap, so it was left unchanged.: Das zusammengeführte Ergebnis ließ sich nicht als gültige Keymap mit der Tastenkombination verifizieren, daher hat Claude Code es verworfen, statt es zu schreiben. Ein Tastenkombinationsblock mit einem doppelten Schlüssel kann dies verursachen
Vorgehensweise:
- Kopieren Sie den Block aus der Meldung in das oberste Array Ihrer
keymap.jsonunter dem Pfad, den die Meldung nennt - Bei
isn't a readable list of keybindingsbeheben Sie den Syntaxfehler oder machen Sie den obersten Wert der Datei zu einem Array, und führen Sie dann erneut/terminal-setupaus
Vor v2.1.247 konnte /terminal-setup eine Zed-Keymap mit //-Kommentaren oder nachgestellten Kommas nicht parsen und ersetzte die gesamte Datei nur durch die eigene Tastenkombination, während es die Tastenkombination als installiert meldete. Um eine Keymap wiederherzustellen, die eine frühere Version ersetzt hat, verwenden Sie die .bak-Sicherungsdatei, die unter Mehrzeilige Prompts eingeben beschrieben ist.
Skill-Nutzungsberichte sind über diese Verbindung nicht verfügbar
Sie haben /skill-doctor über Remote Control von Ihrem Smartphone oder Browser aus ausgeführt. Claude Code sendet den Skill-Nutzungsbericht nicht über Remote Control und antwortet stattdessen mit dieser Meldung:
Skill usage reports are not available on this connection.
Vorgehensweise:
- Führen Sie
/skill-doctorim Terminal auf dem Rechner aus, auf dem die Sitzung läuft, oder führen Sie dortclaude -p "/skill-doctor"aus
Benutzerdefinierte Ausgabestile können nicht über Remote Control ausgewählt werden
Sie haben /output-style über Remote Control aus der mobilen App oder dem Web ausgeführt, oder der Befehl kam in einer Nachricht an, die in die Sitzung weitergeleitet wurde. Da ein solcher Turn möglicherweise nicht vom Kontoinhaber stammt, listet Claude Code darin nur integrierte Stile auf und lässt nur diese auswählen. Es fügt diesen Hinweis immer dann hinzu, wenn der Befehl die Stile auflistet oder den angegebenen Namen nicht erkennt. Der Name eines benutzerdefinierten Stils erhält dieselbe Antwort wie ein Name, der nicht existiert:
Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.
Vorgehensweise:
- Wählen Sie einen integrierten Stil, zum Beispiel
/output-style concise - Um einen benutzerdefinierten Stil zu verwenden, setzen Sie
outputStylein der Datei.claude/settings.local.jsondes Projekts, oder führen Sie/output-style <style>im eigenen Terminal der Sitzung aus, falls sie eines hat
Ausgabestile werden in lokalen Einstellungen gespeichert, die diese Sitzung nicht lädt
Sie haben versucht, mit /output-style <style> oder /config outputStyle=<style> den Ausgabestil in einer Sitzung zu wechseln, deren Einstellungsquellen local ausschließen. Beispiele sind eine Agent SDK-Sitzung, deren settingSources "local" auslässt, und eine CLI-Sitzung, die mit einem --setting-sources-Wert gestartet wurde, der local auslässt. Beide Befehle speichern den Stil in .claude/settings.local.json, einer Datei, die eine solche Sitzung nie wieder einliest. Daher lehnt Claude Code den Wechsel ab, statt eine Einstellung zu schreiben, die keine Wirkung hätte:
Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.
Vorgehensweise:
- Fügen Sie
localzu den Einstellungsquellen der Sitzung hinzu und wechseln Sie erneut - Setzen Sie den Schlüssel
outputStylein einer Einstellungsdatei, die die Sitzung lädt, etwa.claude/settings.jsonim Projekt oder~/.claude/settings.json. Im TypeScript SDK setzen SieoutputStylestattdessen im Inline-Objektsettings; siehe Einen Ausgabestil aktivieren
Plugin-Fehler
Diese Fehler stammen aus der Plugin- und Marketplace-Konfiguration. Bei Plugin-Problemen, die keine der Meldungen auf dieser Seite erzeugen, wie z. B. eine Marketplace-URL, die nicht geladen wird, oder ein Plugin, das installiert wird, aber nicht angezeigt wird, siehe Plugin-Fehlerbehebung.
plugin eval ist derzeit in Early Access
Sie haben claude plugin eval oder claude plugin eval init ausgeführt und es wurde mit Exit-Code 1 beendet, bevor es etwas tat, mit einer dieser Meldungen:
`plugin eval` is currently in early access
`plugin eval` is currently unavailable
Die erste Meldung bedeutet, dass Ihr Build älter als v2.1.269 ist, der ersten Version, in der der Befehl allgemein verfügbar ist. Die zweite bedeutet, dass Anthropic den Befehl serverseitig deaktiviert hat; nichts auf Ihrem Computer schaltet ihn wieder ein.
Was zu tun ist:
- Führen Sie
claude --versionaus, dannclaude update, und führen Sie den Befehl erneut in einer neuen Sitzung aus. Siehe die Anforderungen für Plugin-Evals - Wenn Sie die zweite Meldung auf einem aktuellen Build sehen, versuchen Sie es später erneut nach einem weiteren
claude update
Marketplace ist von einer nicht vertrauenswürdigen Quelle registriert
Der Marketplace ist unter einem Namen registriert, der für offizielle Anthropic-Marketplaces reserviert ist, aber seine registrierte Quelle ist kein anthropics GitHub-Repository. Claude Code überprüft reservierte Namen jedes Mal, wenn es einen Marketplace lädt oder aktualisiert, sodass der Marketplace und die von ihm installierten Plugins nicht mehr geladen werden. Vor v2.1.205 wurde ein Eintrag, der registriert wurde, bevor sein Name reserviert wurde, weiterhin geladen.
Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.
Für einen Marketplace, dessen Quelle kein GitHub-Repository oder eine Git-URL ist, wie z. B. ein lokales Verzeichnis, lautet der mittlere Satz can only be used with GitHub sources from the 'anthropics' organization statt dessen. claude plugin marketplace add führt die gleiche Überprüfung durch und lehnt einen reservierten Namen mit Failed to add marketplace: gefolgt von demselben reservierten Namen-Satz ab.
Was zu tun ist:
- Wenn der Marketplace bereits registriert ist, führen Sie
claude plugin marketplace remove <name>aus und fügen Sie ihn dann erneut aus dem offiziellengithub.com/anthropics-Repository hinzu - Wenn Sie einen Drittanbieter-Marketplace veröffentlichen, der den Namen verwendet hat, bevor er reserviert wurde, benennen Sie ihn um und bitten Sie Benutzer, ihn von Ihrer Quelle erneut hinzuzufügen
- Siehe die Liste der reservierten Namen unter Marketplace-Schema
Marketplace-Name ist eine andere Schreibweise eines reservierten Namens
Der Name des Marketplace ist selbst kein reservierter Name, aber Claude Code behandelt ihn als eine andere Schreibweise eines solchen. Reservierte Namen listet auf, welche Schreibweisen als reservierter Name gelten. Claude Code lehnt einen solchen Namen ab, wenn Sie den Marketplace hinzufügen:
Failed to add marketplace: "claude.code.plugins" is another spelling of "claude-code-plugins", a reserved marketplace name.
Wenn ein Marketplace bereits unter einem solchen Namen registriert ist, wird sein Eintrag nicht mehr geladen, und /plugin, claude plugin install und claude plugin update warnen:
known_marketplaces.json has an entry named "claude.code.plugins", another spelling of the reserved marketplace name "claude-code-plugins", so it is ignored. Remove it with: claude plugin marketplace remove claude.code.plugins
Wenn der Name Shell-Quoting benötigen würde, lautet die Ablehnung beim Hinzufügen This marketplace's name is another spelling of "<reserved>", a reserved marketplace name. It is not exactly the reserved name it appears to be.
Was zu tun ist:
- Benennen Sie den Marketplace in einen Namen um, der keine reservierte Schreibweise darstellt, und fügen Sie ihn erneut hinzu
- Für die Warnung zu ignoriertem Eintrag führen Sie den
claude plugin marketplace remove-Befehl aus, den sie angibt, oder entfernen Sie den Eintrag aus~/.claude/plugins/known_marketplaces.json
Claude Code lehnt den Marketplace-Namen ab
Ein registrierter Marketplace-Name gibt sich als offizieller Anthropic-Marketplace aus nach den Regeln, die dieser Abschnitt auflistet.
Wenn ein Marketplace unter einem solchen Namen registriert wurde, bevor die Überprüfung ihn blockierte, werden der Marketplace und die von ihm installierten Plugins nicht mehr geladen, da Claude Code den Namen jedes Mal überprüft, wenn es den Katalog des Marketplace liest. Wenn der Name einen offiziellen Namen imitiert, melden claude plugin list und die /plugin Fehler-Registerkarte jedes betroffene Plugin mit einer Meldung, die beginnt mit:
Claude Code refuses the marketplace name "anthropic-plugins-v2"
Für einen imitierenden Namen lautet die Fehlermeldung des Marketplace selbst Claude Code refuses this marketplace's name: it looks like one of Anthropic's own statt dessen. claude plugin marketplace add lehnt jeden imitierenden Namen mit Marketplace name impersonates an official Anthropic/Claude marketplace ab.
Vor v2.1.282 meldeten claude plugin list und /plugin die Plugins eines imitierenden Namens als fehlgeschlagen beim Laden, ohne den Namen des Marketplace als Ursache zu nennen.
Was zu tun ist:
- Führen Sie
claude plugin marketplace remove <name>aus. Dies deinstalliert auch die von dem Marketplace installierten Plugins und löscht ihre gespeicherten Daten - Um den Marketplace stattdessen zu behalten, warten Sie, bis sein Verwalter ihn umbenennt, und führen Sie dann
claude plugin marketplace update <name>aus - Wenn Sie den Marketplace veröffentlichen, benennen Sie ihn in Ihrer
marketplace.jsonum; Benutzer aktualisieren dann den Marketplace, anstatt ihn zu entfernen
Marketplace ist bereits von einer anderen Quelle hinzugefügt
Sie haben das Hinzufügen eines Marketplace durch /plugin install <plugin> --marketplace <source> bestätigt, und der Katalog, den Claude Code aus dieser Quelle abgerufen hat, nennt sich selbst genauso wie ein Marketplace, den Sie bereits von einer anderen Quelle hinzugefügt haben. Claude Code behält den vorhandenen Marketplace bei, anstatt ihn zu ersetzen, und das Plugin wird nicht installiert.
Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.
Was zu tun ist:
- Wenn der Marketplace, den Sie bereits hinzugefügt haben, der ist, den Sie möchten, installieren Sie ihn nach Name:
/plugin install <plugin>@<name> - Um zur neuen Quelle zu wechseln, führen Sie
/plugin marketplace remove <name>aus und versuchen Sie dann die Installation erneut
Plugin-Befehl referenziert user\_config in einem Shell-Befehl
Ein Plugin-Hook, monitor oder MCP headersHelper-Befehl referenziert eine ${user_config.KEY} Plugin-Option, und die ersetzte Zeichenkette würde an eine Shell übergeben. Ein konfigurierter Wert, der $(...), Backticks oder ; enthält, würde dort als Code ausgeführt, daher weigert sich Claude Code, die Komponente zu starten, anstatt den Wert zu ersetzen. Die Überprüfung läuft auf der Befehlsvorlage, daher wird der Fehler angezeigt, auch wenn noch kein Wert konfiguriert ist. Vor v2.1.207 wurde der Wert in den Shell-Befehl ersetzt.
Die Formulierung hängt davon ab, welche Oberfläche die Option referenziert hat. Ein Shell-Form-Hook meldet:
Hook from plugin formatter@acme-tools references ${user_config.*} in a shell-form command. The substituted value would be re-parsed by the shell. Use exec form instead — {"command": "<executable>", "args": ["${user_config.KEY}", ...]} — or read $CLAUDE_PLUGIN_OPTION_<KEY> from the hook's environment. Command: ./scripts/notify.sh ${user_config.webhook_url}
Ein Monitor meldet:
Monitor "deploy-status" from plugin deploy-tools references ${user_config.*} in its command. The substituted value would be passed to a shell. Monitor commands cannot safely reference ${user_config.*}; have the monitor script read the value from a config file or prompt instead.
Ein MCP headersHelper meldet:
headersHelper for MCP server 'internal-api' references ${user_config.*}. The substituted value would be passed to a shell; read the value inside the helper script instead (e.g. from an env var set in the server's "env" block).
Was zu tun ist:
- Für einen Hook fügen Sie ein
args-Array hinzu, damit es in Exec-Form ausgeführt wird, wobei jedes${user_config.KEY}zu einem Argument wird, ohne dass eine Shell dazwischen liegt. Oder lassen Sie die Referenz weg und lesen Sie die$CLAUDE_PLUGIN_OPTION_<KEY>-Umgebungsvariable innerhalb des Skripts - Für einen Monitor lassen Sie die Referenz weg und lassen Sie das Monitor-Skript den Wert aus einer Konfigurationsdatei lesen
- Für einen
headersHelperverschieben Sie${user_config.KEY}in dasheaders-Feld des Servers, das nicht shell-geparst wird, oder lesen Sie den Wert innerhalb des Helper-Skripts
Plugin-Archiv-Integritätsprüfung fehlgeschlagen
Der Marketplace-Eintrag des Plugins verwendet eine archive-Quelle mit einem sha256-Pin, und der Digest der heruntergeladenen Datei stimmt nicht mit dem Pin überein. Claude Code lehnt die Installation ab, daher ändert sich nichts im Plugin-Cache. Die Nichtübereinstimmung hat drei mögliche Ursachen:
- Die Datei unter der URL hat sich geändert, nachdem der Autor den Pin berechnet hat
- Der Autor hat den falschen Digest im Marketplace-Eintrag eingegeben
- Die URL stellt eine andere Datei bereit als der Autor gepinnt hat
Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.
Was zu tun ist:
- Wenn Sie das Plugin veröffentlichen, berechnen Sie den Digest der genauen Datei, die die URL bereitstellt, z. B. mit
shasum -a 256 my-plugin.zipoderGet-FileHash -Algorithm SHA256 my-plugin.zipin PowerShell, und aktualisieren Sie densha256im Marketplace-Eintrag - Wenn Sie das Plugin installieren, führen Sie
/plugin marketplace update <name>aus, um den Katalog zu aktualisieren, falls der Eintrag korrigiert wurde, und versuchen Sie dann die Installation erneut - Wenn die Digests nach einer Aktualisierung immer noch nicht übereinstimmen, fragen Sie den Marketplace-Besitzer, welche Datei er vor der Installation gepinnt hat
Pfad entweicht dem Plugin-Verzeichnis
Ein Plugin-Komponentenpfad, der im plugin.json des Plugins oder in seinem Marketplace-Eintrag deklariert ist, wird außerhalb des eigenen Verzeichnisses des Plugins aufgelöst. Claude Code verwirft diesen Pfad und lädt den Rest des Plugins. Der Komponentenname in der Meldung, wie z. B. commands oder hooks, benennt das Feld, das den Pfad deklariert hat.
commands path escapes plugin directory: ./../shared.md
In der claude plugin-Befehlsausgabe liest sich derselbe Fehler als Path escapes plugin directory: ./../shared.md (commands).
Claude Code lehnt sowohl einen Pfad ab, der außerhalb des Plugins zeigt, wie geschrieben, z. B. ../shared-utils, als auch einen Symlink, der außerhalb des Plugins führt und nicht einer der Marketplace-Symlink-Regeln entspricht. Für einen Symlink sagt die Meldung auch, wo der Pfad aufgelöst wird:
commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory
Auf macOS und Linux lehnt Claude Code auch einen Komponentenpfad ab, der an irgendeiner Stelle einen Backslash enthält, auch wenn der Pfad im Plugin bleibt. Ein Plugin, dessen Komponentenpfade Windows-ähnliche Trennzeichen verwenden, wird auf Windows geladen und löst diese Ablehnung auf den anderen Plattformen aus:
commands path escapes plugin directory: ./commands\deploy.md — its path contains a backslash, which is not resolved reliably on this platform
Vor v2.1.251 lud Claude Code einen commands-Pfad, der in einem Marketplace-Eintrag deklariert war, auch wenn er außerhalb des Plugin-Verzeichnisses zeigte.
Vor v2.1.257 überprüfte die Kontrolle nur die Schreibweise des Pfads, nicht wo ein Symlink führt.
Was zu tun ist:
- Verschieben Sie die referenzierte Datei in das Plugin-Verzeichnis und zeigen Sie mit einem
./relativen Pfad darauf - Wenn der Pfad ein Symlink zu einer Datei außerhalb des Plugins ist, ersetzen Sie den Symlink durch eine Kopie der Datei
- Wenn die Meldung sagt, dass der Pfad einen Backslash enthält, schreiben Sie den Pfad mit Schrägstrichen, z. B.
./commands/deploy.md - Um Dateien mit anderen Plugins im selben Marketplace zu teilen, verlinken Sie sie mit einem Symlink im Plugin-Verzeichnis, gemäß den Symlink-Regeln
Pfad konnte nicht überprüft werden
Claude Code fragte das Betriebssystem, ob ein Plugin-Pfad existiert, und erhielt einen Fehler, der nicht „nicht gefunden" ist, daher wird nicht geladen, was der Pfad benennt. Wie viel des Plugins geladen wird, hängt davon ab, welcher Pfad fehlgeschlagen ist:
- Einer der Standard-Komponentenordner eines Plugins, wie z. B. der
skills/-Ordner, diemonitors/monitors.json-Datei oder eineSKILL.mdim Plugin-Stammverzeichnis: Die anderen Komponenten des Plugins werden weiterhin geladen - Das eigene Verzeichnis des Plugins: Nichts aus diesem Plugin wird geladen
Sie sehen diesen Fehler nicht für einen Pfad, der überhaupt nicht existiert. In /plugin wird der Fehler unter dem Plugin angezeigt und benennt den Pfad und den Code, den das Betriebssystem zurückgegeben hat:
skills path could not be checked: /home/user/my-plugin/skills (ELOOP)
In claude plugin list liest sich derselbe Fehler als Path not found: /home/user/my-plugin/skills (skills, ELOOP).
Ursachen, die diesen Fehler erzeugen, sind:
ELOOP: Ein Symlink im Pfad zeigt auf sich selbst oder bildet eine SchleifeEIOoderESTALE: Der Pfad befindet sich auf einer unterbrochenen oder veralteten NetzwerkbereitstellungEACCES: Eines der Verzeichnisse über dem Pfad verweigert Ihnen die Berechtigung, es zu durchqueren
Was zu tun ist:
- Ersetzen Sie einen Symlink, der auf sich selbst zeigt, durch einen echten Ordner, oder löschen Sie ihn
- Wenn sich der Pfad auf einer Netzwerkbereitstellung befindet, hängen Sie die Freigabe erneut ein
- Wenn der Code
EACCESist, stellen Sie Ihre Ausführungsberechtigung für die Verzeichnisse über dem Pfad wieder her - Führen Sie
/reload-pluginsaus, nachdem Sie den Pfad behoben haben, oder starten Sie Claude Code neu, um das Plugin oder die Komponente zu laden
Vor v2.1.265 behandelte Claude Code einen Standard-Komponentenordner, den es nicht überprüfen konnte, als abwesend und lud das Plugin ohne diese Komponente, ohne Fehler.
Marketplace-Eintragspfad bleibt nicht im Marketplace-Verzeichnis
Der Marketplace-Eintrag des Plugins deklariert einen Quellpfad, den Claude Code nicht zu einem Ort im eigenen Verzeichnis des Marketplace auflösen kann, daher wird das Plugin nicht installiert oder geladen. Die Ablehnung umfasst:
- Ein Eintrags-Pfad, der absolut ist, mit
..aus dem Marketplace klettert oder wie ein Netzwerkpfad geschrieben ist - Auf macOS und Linux einen Eintrags-Pfad, der an irgendeiner Stelle nach dem führenden
./einen Backslash enthält - Ein Eintrag in einem Marketplace, der aus einer Remote-Quelle wie Git oder einer URL abgerufen wird, der sein Ziel durch einen Symlink erreicht, der außerhalb des Marketplace-Verzeichnisses aufgelöst wird
- Ein relativer Eintrag in einem Marketplace, der von einer direkten URL zu seiner
marketplace.jsonhinzugefügt wurde: Claude Code lädt nur diese Datei herunter, daher existieren keine lokalen Plugin-Dateien für den Pfad zum Benennen. Siehe Plugins mit relativen Pfaden schlagen in URL-basierten Marketplaces fehl
claude plugin install meldet die Ablehnung wie folgt:
Cannot install my-plugin@my-marketplace: its marketplace entry path does not stay inside the marketplace directory (an absolute, climbing, network-shaped, backslash-containing or link-traversing entry, an entry of a fetched marketplace that resolves or opens outside its tree — or a relative entry in a url-catalog marketplace, which has no local directory)
Wenn ein bereits installiertes Plugin-Eintrag die gleiche Überprüfung nicht besteht, zeigt claude plugin list das Plugin als failed to load mit:
Plugin source path refused: ./my-plugin does not stay inside its marketplace directory. Check that the marketplace entry has a plain relative path.
Was zu tun ist:
- Wenn Sie den Marketplace verwalten, schreiben Sie den
sourcedes Eintrags als einen einfachen relativen Pfad mit Schrägstrichen, wie z. B../plugins/my-plugin, und halten Sie jeden Symlink, den er kreuzt, auf das Marketplace-Verzeichnis gerichtet - Wenn Sie den Marketplace von einer direkten URL hinzugefügt haben, können relative Einträge nicht aufgelöst werden. Bitten Sie den Marketplace-Autor, eine andere Plugin-Quelle zu verwenden, oder fügen Sie den Marketplace stattdessen aus seinem Git-Repository hinzu
Fehler beim Laden der Marketplace-Konfiguration
Claude Code speichert die Marketplaces, die Sie hinzugefügt haben, in einer Registrierungsdatei unter ~/.claude/plugins/known_marketplaces.json. Ein Plugin-Befehl, der die Registrierung benötigt, wie z. B. claude plugin install, schlägt mit einer von zwei Meldungen fehl, wenn Claude Code die Datei nicht verwenden kann:
Failed to load marketplace configuration: Die Datei ist kein gültiges JSON oder kann nicht gelesen werden. Eine leere Datei schlägt auf diese Weise fehl.Marketplace configuration file is corrupted: Die Datei ist gültiges JSON, aber ihr Inhalt stimmt nicht mit dem Registrierungsschema überein.
Mit einer leeren Datei meldet claude plugin install:
✘ Failed to install plugin "my-plugin": Failed to load marketplace configuration: JSON Parse error: Unexpected EOF
Vor v2.1.246 meldete claude plugin install diesen Fehler nicht.
Was zu tun ist:
- Öffnen Sie
~/.claude/plugins/known_marketplaces.jsonund reparieren Sie das JSON, oder beheben Sie die Einträge, die die Meldung als nicht dem Registrierungsschema entsprechend benennt - Wenn Sie es nicht reparieren können, löschen Sie die Datei oder ersetzen Sie ihren Inhalt durch
{}, und fügen Sie dann jeden Marketplace mitclaude plugin marketplace add <source>erneut hinzu. Claude Code registriert die Marketplaces, die Ihre Benutzer- oder verwalteten Einstellungen inextraKnownMarketplacesdeklarieren, das nächste Mal, wenn Sie es in einem Ordner starten, dem Sie vertraut haben.
Plugin ist von Ihrer Organisation erforderlich
Sie haben claude plugin disable ausgeführt oder die /plugin Installiert-Registerkarte verwendet, um ein Plugin, das von claude.ai synchronisiert wird, auszuschalten, das Ihre Organisation als erforderlich kennzeichnet:
Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.
Claude Code speichert nichts und das Plugin bleibt aktiviert.
Wenn Sie versuchen, ein Plugin zu deaktivieren, das ein erforderliches Plugin benötigt, weigert sich Claude Code auf die gleiche Weise, mit einer Meldung, die das erforderliche Plugin benennt, das es benötigt.
Was zu tun ist:
- Bitten Sie einen Administrator Ihrer claude.ai-Organisation, den erforderlichen Status des Plugins auf claude.ai zu ändern
Plugin wurde nicht deinstalliert
Sie haben claude plugin uninstall ausgeführt oder Deinstallieren in der /plugin Installiert-Registerkarte gewählt, und die Deinstallation wurde mit einer Meldung gestoppt, die mit "<plugin>" was not uninstalled: beginnt. Wenn der Text nach diesem Doppelpunkt mit installed_plugins.json statt mit einem Einstellungsdateinamen beginnt, ist die Ursache Inhalt in installed_plugins.json, den diese Version von Claude Code nicht lesen kann. Für diese Form siehe installed_plugins.json enthält einen Datensatz, den diese Version nicht lesen kann.
Wenn Claude Code den Plugin-Eintrag aus enabledPlugins entfernte und die Einstellungsdateien dieses Bereichs erneut las, war das Plugin entweder immer noch dort eingeschaltet, oder eine Datei, die es einschalten könnte, konnte nicht gelesen oder überprüft werden. Das Löschen der gespeicherten Optionen, Geheimnisse und Daten des Plugins, während ein Einstellungseintrag es wieder einschalten könnte, würde sie verlieren, daher wird die Deinstallation stattdessen gestoppt: Das Plugin bleibt installiert und nichts, das es gespeichert hat, wird gelöscht.
✘ Failed to uninstall plugin "formatter": "formatter" was not uninstalled: it is still switched on in /home/user/project/.claude/settings.local.json, although the settings change reported no error. It is still installed. Take it out of "enabledPlugins" in that file yourself, then uninstall it again.
Die Mitte der Meldung benennt die Datei und die Ursache:
it is still switched on in <file>, although the settings change reported no error: Der Einstellungsschreib-Vorgang meldete Erfolg, aber der Eintrag ist immer noch dort, wenn die Datei erneut gelesen wirdit is still switched on in <file>, and the settings change failed (<error>): Die Datei konnte nicht gespeichert werden, aus dem Grund in Klammern<file> is there and could not be read: Die Datei existiert, aber konnte nicht als Einstellungen gelesen werden, z. B. weil sie kein gültiges JSON ist, daher könnte sie das Plugin immer noch aktivieren<file> (not read: it is on a network path or is a link to one, or could not be checked): Claude Code hat die Projekt- oder lokale Einstellungsdatei nicht gelesen, weil die Datei oder der.claude-Ordner, der sie enthält, ein Link ist, der zu einem Netzwerkort führt, oder weil dieser Pfad nicht untersucht werden konnte
claude plugin uninstall beendet mit Exit-Code 1, und mit --json trägt das Ergebnis failureCode: "settings_still_on". /plugin zeigt die gleiche Meldung.
Was zu tun ist:
- Folgen Sie dem letzten Satz der Meldung: Reparieren oder ersetzen Sie die Einstellungsdatei, die sie benennt, oder entfernen Sie den Plugin-Eintrag aus
enabledPluginsin dieser Datei selbst, und führen Sie dann die Deinstallation erneut aus
Tool-Fehler
Diese Fehler stammen von Claudes integrierten Tools. Claude korrigiert die meisten Tool-Fehler automatisch. Wenn eine Änderung von Ihnen erforderlich ist, gibt die Liste Was zu tun ist für diesen Fehler an, was zu ändern ist.
Agent würde mit null Tools erzeugt
Jeder Eintrag in der tools-Liste des Subagenten konnte mit keinem verwendbaren Tool abgeglichen werden, daher weigerte sich Claude Code, den Subagenten zu starten: Ohne Tools konnte er nicht handeln. Die Nachricht gruppiert Ihre Einträge nach dem, was schiefgelaufen ist:
- Unbekannt: Der Eintrag stimmt mit keinem Tool-Namen überein, normalerweise ein Tippfehler wie
GrpefürGrep. - Nicht für Subagenten verfügbar: Der Eintrag benennt ein echtes Tool, das Subagenten nicht verwenden können. Hintergrund-Subagenten behalten einen kleineren integrierten Tool-Satz, daher landet ein Eintrag, den nur ein Vordergrund-Subagent verwenden kann, hier, wenn der Subagent im Hintergrund ausgeführt würde, was die Standardeinstellung ist. Wenn Sie
Agentauflisten, meldet die Nachricht ihn stattdessen unter der nächsten Gruppe. - Stimmt mit keinen Tools in dieser Sitzung überein: Der Eintrag ist gültig, aber kein Tool in der aktuellen Sitzung stimmt gerade damit überein, wie
mcp__github__*ohne verbundenen GitHub-MCP-Server oderAgentfür einen Subagenten am Tiefenlimit.
Das Weglassen des tools-Feldes löst diese Weigerung nie aus. Wenn Sie die tools-Liste leer lassen oder disallowedTools jeden Eintrag darin entfernt, überspringt Claude Code die Weigerung auch und startet den Subagenten ohne Tools.
Vor v2.1.208 wurde der Subagent ohne Tools gestartet und konnte ein leeres oder verwirrendes Ergebnis zurückgeben.
Agent 'code-reviewer' würde mit null Tools erzeugt — Weigerung. Seine Tools-Liste wurde zu nichts aufgelöst: unbekannt [Grpe]. Beheben Sie die Tools-Frontmatter des Agenten oder übergeben Sie einen anderen subagent_type.
Was zu tun ist:
- Korrigieren Sie jeden Eintrag, den der Fehler benennt, anhand der für Subagenten verfügbaren Tools
- Entfernen Sie Einträge für Tools, die die Sitzung nicht hat, wie MCP-Tools von einem Server, der nicht verbunden ist
- Für ein Tool, das Hintergrund-Subagenten ablegen, wie
CronCreate, entfernen Sie den Eintrag. Um das Tool zu behalten, schalten Sie den Fork-Modus aus und bitten Sie Claude, den Subagenten im Vordergrund auszuführen - Löschen Sie das
tools-Feld, anstatt Tools aufzulisten, um dem Subagenten alle für Subagenten verfügbaren Tools zu geben - Für eine
tools-Liste, die nurAgententhält, erhöhen Sie das Tiefenlimit oder geben Sie dem Agenten mindestens ein anderes Tool: Claude Code behältAgentbei diesem Limit zurück, daher wird eine Liste mit nichts anderem darin zu keinen Tools aufgelöst
Datei wird durch eine Read-Ablehnungsregel abgedeckt
Das Edit- oder Write-Tool wurde auf einem Pfad aufgerufen, der einer Read-Ablehnungsregel entspricht, einschließlich der Erstellung einer neuen Datei unter diesem Pfad. Beide Tools ändern Inhalte, die Claude lesen können muss, daher weigert sich Claude Code, den Aufruf vor jedem Dateizugriff zu tätigen. NotebookEdit wird nicht durch Read-Ablehnungsregeln abgedeckt. Vor v2.1.228 blockierte die Regel nur das Edit-Tool, und vor v2.1.208 blockierte nur eine Edit-Ablehnungsregel Bearbeitungen.
Datei wird durch eine Read-Ablehnungsregel in Ihren Berechtigungseinstellungen abgedeckt und kann nicht bearbeitet werden.
Wenn Claude Code das Write-Tool ablehnt, endet die Nachricht stattdessen mit und kann nicht geschrieben werden.
Was zu tun ist:
- Wenn Claude die Datei ändern können sollte, entfernen oder verengen Sie die
Read-Ablehnungsregel in/permissionsoder in Einstellungen - Wenn die Datei unverändert bleiben muss, behalten Sie die Regel und fügen Sie eine
Edit-Ablehnungsregel für denselben Pfad hinzu, um auch das NotebookEdit-Tool zu blockieren
Pfad kann keine Null-Bytes enthalten
Ein Datei-Tool-Aufruf mit Pfad- oder Muster-Argument enthielt ein Null-Byte, das Dateisysteme und Such-Tools nicht akzeptieren können. Read, Write, Edit, NotebookEdit, Glob und Grep überprüfen dies, und die Nachricht benennt das Tool und das Argument:
Read file_path kann keine Null-Bytes (\0) enthalten. Entfernen Sie das Null-Byte und versuchen Sie es erneut.
Der Tool-Aufruf schlägt fehl, Claude sieht den Fehler, und der Zug wird fortgesetzt.
Was zu tun ist:
- Nichts auf Ihrer Seite: Der Fehler wird an Claude als Ergebnis des Tools zurückgegeben, und die Nachricht selbst teilt Claude mit, das Null-Byte zu entfernen und es erneut zu versuchen
Vor v2.1.281 endete ein Null-Byte in einem Read-, Write-, Edit- oder NotebookEdit-Pfad den ganzen Zug mit einem Fehler, der Pfad enthält Null-Bytes benannte, und das Tool wurde nie ausgeführt.
subagent\_type ist erforderlich
subagent_type ist erforderlich: Der allgemeine Agent ist in dieser Sitzung nicht verfügbar. Verfügbare Agenten: ...
Claude hat das Agent-Tool ohne subagent_type aufgerufen, und diese Sitzung hat keinen allgemeinen Subagenten als Fallback. Das ist in zwei Setups der Fall:
CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1ist im nicht-interaktiven Modus gesetzt, was jeden integrierten Subagenten entfernt- Der Hauptthread-Agent der Sitzung hat eine
tools: Agent(...)-Zulassungsliste, diegeneral-purposeausschließt
Was zu tun ist:
- Normalerweise nichts: Die Nachricht listet die Subagenten auf, die die Sitzung hat, daher kann Claude mit einem von ihnen erneut versuchen
- Wenn Claude weiterhin fehlschlägt, fügen Sie
general-purposezurtools: Agent(...)-Zulassungsliste hinzu, oder heben SieCLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTSauf
Vor v2.1.235 schlug derselbe Aufruf mit Agent-Typ 'general-purpose' nicht gefunden fehl.
Memory-Index überschreitet sein Lesenlimit
Claude schrieb in den Auto-Memory-Index MEMORY.md und ließ ihn über eines seiner Lesenlimits hinaus: 200 Zeilen oder 25 KB. Der Schreibvorgang war erfolgreich, aber nur die ersten 200 Zeilen oder 25 KB, je nachdem, was zuerst kommt, werden zu Beginn einer Sitzung geladen, daher wird alles über dem Limit jedes Mal gelöscht, wenn der Index gelesen wird. Vor v2.1.210 wurde ein über dem Limit liegender Index beim nächsten Laden stillschweigend gekürzt, ohne ein Schreib-Zeit-Signal.
Fehler: Dieser Schreibvorgang ließ den Memory-Index bei MEMORY.md bei 214 Zeilen, über seinem 200-Zeilen-Lesenlimit. Der Schreibvorgang war erfolgreich, aber alles über dem Limit wird stillschweigend gelöscht, jedes Mal wenn der Index geladen wird — Einträge am Ende sind bereits für Leser unsichtbar. Schreiben Sie ihn jetzt auf unter 140 Zeilen um: Behalten Sie eine Zeile pro Eintrag, verschieben Sie Details in Topic-Dateien, und führen Sie stale Einträge zusammen oder löschen Sie sie.
Nur der Inhalt, der geladen wird, zählt zu den Limits. YAML-Frontmatter und Block-Level-HTML-Kommentare werden entfernt, bevor der Index geladen wird, daher sind sie von der Messung ausgeschlossen. Vor v2.1.211 maß Claude Code die Rohdatei, und Frontmatter oder Kommentare könnten diesen Fehler auslösen, selbst wenn der geladene Inhalt passte.
Claude Code liefert den Fehler an Claude nach dem Schreibvorgang, anstatt ihn als Banner in Ihrem Terminal zu drucken, daher bemerken Sie ihn möglicherweise nur im Transkript.
Wenn Claudes Schreibvorgang die Datei einem Limit nahe bringt, ohne es zu überschreiten, gibt Claude Code stattdessen eine mildere Erinnerung zurück, um den Index zu komprimieren, anstatt diesen Fehler.
Was zu tun ist:
- Lassen Sie Claude
MEMORY.mdumschreiben, oder bitten Sie ihn dazu: Behalten Sie eine Zeile pro Eintrag, verschieben Sie Details in Topic-Dateien, und führen Sie stale Einträge zusammen oder löschen Sie sie - Um den Index selbst zu kürzen, siehe Audit und Bearbeitung Ihres Memory
pkill-Muster stimmt mit dem Claude Code-Prozess überein
Ein pkill-Befehl in einem Bash-Tool-Aufruf verwendete ein Muster, normalerweise mit -f, das mit dem Claude Code-Prozess selbst übereinstimmt, daher weigert sich Claude Code, den Befehl auszuführen, anstatt die Sitzung zu beenden. Claude Code testet das Muster mit pgrep, bevor pkill ausgeführt wird, und weigert sich, wenn seine eigene Prozess-ID im Ergebnis ist. Die Überprüfung läuft nur unter Linux; auf macOS wird pkill unverändert ausgeführt. Vor v2.1.214 wurde der Befehl ausgeführt, und ein übereinstimmendes Muster beendete die Claude Code-Sitzung mitten im Zug.
pkill: Weigerung auszuführen — dieses Muster stimmt mit dem Claude CLI-Prozess überein (PID 12345). Verengen Sie das Muster, oder zielen Sie auf Ihre eigenen untergeordneten Prozesse mit `pkill -P $$ ...` ab.
Die Weigerung erscheint im Bash-Tool-Ergebnis, anstatt als Banner in Ihrem Terminal, und Claude passt den Befehl normalerweise selbst an.
Was zu tun ist:
- Verengen Sie das Muster, damit es nur den beabsichtigten Prozess abgleicht, zum Beispiel den vollständigen Pfad der Zieldatei anstelle einer kurzen Teilzeichenfolge
- Um Prozesse zu stoppen, die von der aktuellen Shell gestartet wurden, verwenden Sie
pkill -P $$mit dem Muster, das die Übereinstimmung auf die untergeordneten Prozesse der Shell selbst beschränkt
Fehler beim Schreiben in den Posteingang eines Teamkollegen
Claude Code konnte keine Nachricht in die Postfachdatei eines Teamkollegen unter ~/.claude/teams/{team-name}/inboxes/ schreiben, daher erhielt der Empfänger nichts. Der Schreibvorgang schlägt fehl, wenn Claude Code die Datei nicht erstellen oder aktualisieren kann, zum Beispiel weil die Festplatte voll ist, das Verzeichnis nicht beschreibbar ist oder ein anderer Agent die Inbox-Sperre zu lange hält. Vor v2.1.224 meldete Claude Code die Nachricht als gesendet, selbst wenn der Schreibvorgang fehlschlug.
Der Fehler erscheint im Tool-Ergebnis des sendenden Agenten, anstatt als Banner in Ihrem Terminal, und sein Text teilt Claude mit, es erneut zu versuchen:
Fehler beim Schreiben in den Posteingang des Forschers — nichts wurde gesendet. Versuchen Sie es erneut, oder kontaktieren Sie den Lead.
Strukturierte Agent-Team-Protokollnachrichten schlagen auf die gleiche Weise fehl, und der Fehler benennt die unzugestellte Nachricht: Wenn Claude Code eine Plan-Genehmigung, Plan-Ablehnung, Shutdown-Anfrage oder Shutdown-Ablehnung nicht schreiben kann, liest sich der Fehler Fehler beim Schreiben der <Nachricht> in den Posteingang von <Name> — nichts wurde gesendet. Die Plan-Genehmigung in dieser Liste ist die Entscheidung des Leads, den Plan eines Teamkollegen zu genehmigen; die Plan-Einreichung des Teamkollegen ist die separate Plan-Genehmigungsanfrage-Nachricht. Diese Nachricht und zwei weitere Protokollnachrichten tragen ihren eigenen Nachrichtentext und ihre Konsequenzen:
Fehler beim Schreiben der Plan-Genehmigungsanfrage in den Posteingang des Leads — Plan nicht eingereicht; versuchen Sie es erneut: Der Plan des Teamkollegen erreichte den Lead nie, und der Teamkollege bleibt im Plan-Modus, bis eine Neueinreichung erfolgreich istDie Berechtigungsanfrage konnte nicht an den Team-Lead zugestellt werden (Postfach-Schreibfehler): Die Berechtigungsanfrage des Teamkollegen erreichte den Lead nie, daher genehmigte niemand den Tool-AufrufDie Bestätigung konnte nicht in den Posteingang des Team-Leads geschrieben werden.: Die Shutdown-Genehmigung selbst trat in Kraft und der Teamkollege beendet; nur die Bestätigung an den Lead fehlt
Wenn Sie selbst einen Teamkollegen kontaktieren, indem Sie @name gefolgt von der Nachricht in der Lead-Sitzung eingeben, erscheint derselbe Fehler als Benachrichtigung, Konnte nicht in den Posteingang von @name schreiben — Nachricht nicht gesendet. Versuchen Sie es erneut., und Claude Code behält Ihren Text im Prompt-Feld, damit Sie ihn erneut senden können.
Was zu tun ist:
- Bitten Sie den Absender, die Nachricht erneut zu senden; Contention für die Inbox-Sperre ist vorübergehend und wird beim Wiederholen gelöscht
- Überprüfen Sie den freien Speicherplatz, und überprüfen Sie, dass
~/.claude/teamsund die Dateien darunter von Ihrem Benutzer beschreibbar sind
Agent-Definition des Teamkollegen wurde nicht wiederhergestellt
Claude kontaktierte einen gestoppten Agent-Team-Teamkollegen, und Claude Code brachte ihn zurück, ohne die Subagenten-Definition erneut anzuwenden, von der er erzeugt wurde, weil seine Definitionsdatei aus einem Ordner ohne gespeichertes Vertrauen kam. Die Benachrichtigung folgt dem Wiederaufnahmebericht im Tool-Ergebnis des sendenden Agenten:
Seine Agent-Definition wurde nicht wiederhergestellt: Der Ordner, aus dem seine Definitionsdatei stammt, ist nicht vertraut (Quelle: projectSettings), daher läuft der Teamkollege mit den Team-essentiellen Tools und ohne benutzerdefinierte Anweisungen. Um ihn wiederherzustellen, muss der Benutzer Claude Code in diesem Ordner ausführen und den Vertrauensdialog akzeptieren (das --debug-Protokoll benennt den Ordner); ändern Sie die Vertrauenseinstellungen nicht im Namen des Benutzers.
Die Überprüfung gilt für eine Definition im .claude/agents/-Verzeichnis des Projekts oder eines --add-dir-Verzeichnisses, und das Akzeptieren des Vertrauensdialogs für einen übergeordneten Ordner erfüllt ihn nicht.
Was zu tun ist:
- Führen Sie
claudein dem Ordner aus, den das Debug-Protokoll benennt, und akzeptieren Sie den Vertrauensdialog. Die Definition wird erneut angewendet, wenn Claude Code den Teamkollegen das nächste Mal zurückbringt; Sie müssen die Lead-Sitzung nicht neu starten - Oder setzen Sie den
hasTrustDialogAccepted-Eintrag auftruein~/.claude.json, wobei Sie den genauenprojects["<path>"]-Schlüssel verwenden, den das Debug-Protokoll druckt
Nachricht zu groß für sitzungsübergreifende Zustellung
Claudes sitzungsübergreifende Nachricht an eine andere Ihrer Sitzungen auf dieser Maschine war zu lang zum Senden. Claude Code weigerte sich, und die empfangende Sitzung erhielt nichts. Die Weigerung erscheint im Tool-Ergebnis der sendenden Sitzung, nicht als Banner in Ihrem Terminal. Sie benennt beide Größen und wie die Nachricht passt:
Fehler beim Senden an api-worker: Nachricht zu groß für sitzungsübergreifende Zustellung: Die serialisierte Nachricht ist 1.203.844 Zeichen und das Limit ist 1.048.576. Kürzen Sie den Nachrichtentext — legen Sie Masseninhalt in eine Datei, die der Empfänger lesen kann, anstatt in die Nachricht — oder teilen Sie ihn in kleinere Nachrichten auf.
Das erneute Senden desselben Textes schlägt auf die gleiche Weise fehl.
Was zu tun ist:
- Bitten Sie Claude, die Nachricht zusammenzufassen, oder legen Sie den Masseninhalt in eine Datei und senden Sie den Dateipfad
- Bitten Sie Claude, den Inhalt auf mehrere kürzere Nachrichten zu verteilen
Vor v2.1.235 meldete Claude Code eine übergroße Nachricht als gesendet. Die empfangende Sitzung ließ sie ungelesen fallen.
Zu viele Nachrichten an diese Sitzung gerade eben
Claude sendete einen schnellen Schub von sitzungsübergreifenden Nachrichten an eine Ihrer Sitzungen auf dieser Maschine, und der Schub erreichte das, was diese Sitzung akzeptiert. Claude Code weigerte sich, die nächste zu senden, und die empfangende Sitzung erhielt nichts davon. Die Weigerung erscheint im Tool-Ergebnis der sendenden Sitzung, nicht als Banner in Ihrem Terminal:
Fehler beim Senden an api-worker: Zu viele Nachrichten an diese Sitzung gerade eben: 30 wurden kürzlich gesendet und mehr würden durch sein Ratenlimit gelöscht, daher wurde diese nicht gesendet. Fassen Sie das Verbleibende in eine Nachricht zusammen, oder warten Sie ein wenig, bevor Sie mehr senden.
Was zu tun ist:
- Normalerweise nichts: Claude fasst den verbleibenden Inhalt in eine Nachricht zusammen, oder wartet, bevor mehr gesendet wird
- Wenn Sie den Schub selbst ausgelöst haben, bitten Sie Claude, das Verbleibende in eine einzelne Nachricht zu kombinieren
Vor v2.1.236 meldete Claude Code diese Sends als gesendet. Die empfangende Sitzung ließ sie ungelesen fallen.
Sitzungsübergreifende Nachricht wurde am Posteingang der Empfänger-Sitzung gelöscht
Claude sendete eine sitzungsübergreifende Nachricht an eine andere Ihrer Sitzungen auf dieser Maschine, und die Inbox dieser Sitzung verwarf sie, bevor Claude in dieser Sitzung sie las. Die Zeile benennt die Adresse des Empfängers und, wenn der Empfänger einen Grund angab, fügt den Grund nach einem Bindestrich hinzu:
Sitzungsübergreifende Nachricht wurde am Posteingang der Empfänger-Sitzung gelöscht (Empfänger: uds:/tmp/cc-socks/13605.sock) und nicht zugestellt — ihre Warteschlange von unzugestellten Peer-Nachrichten war voll. Claude wurde mitgeteilt, nicht sofort erneut zu senden.
Eine Zeile kann mehrere gelöschte Nachrichten abdecken. Sie beginnt dann im Plural, zum Beispiel Sitzungsübergreifende Nachrichten (12) wurden am Posteingang gelöscht. Um zu finden, welche Sitzung eine Adresse gehört, vergleichen Sie sie mit der Peer address-Zeile, die /status in jeder Sitzung anzeigt.
Nach dem Bindestrich gibt die Zeile einen oder mehrere dieser Gründe an:
ihre Warteschlange von unzugestellten Peer-Nachrichten war voll: Der Empfänger hielt bereits so viele unzugestellte Nachrichten von anderen Sitzungen, wie seine Warteschlange zulässtSie sendeten schneller als diese Sitzung akzeptiert: Die Nachrichten der sendenden Sitzung kamen schneller an, als der Empfänger von einem Absender akzeptiertes wiederholte Ihre vorherige Nachricht: Die Nachricht war identisch mit einer, die die sendende Sitzung diesem Empfänger kurz zuvor sendeteeine Relay-Schleife zwischen Sitzungen wurde unterbrochen: Die Nachricht setzte eine Kette von Sitzungen fort, die sich gegenseitig kontaktierten, und die Kette war zu viele Male durch den Empfänger gegangen oder zu lang geworden
Was zu tun ist:
- Gehen Sie davon aus, dass der Empfänger die gelöschten Nachrichten nie sah. Claude Code teilt Claude dasselbe mit, und teilt ihm mit, alles, das immer noch wichtig ist, stattdessen in eine spätere Nachricht einzubeziehen, anstatt sofort erneut zu senden
- Wenn Ihre Sitzungen sich häufig gegenseitig Updates senden, bitten Sie Claude, weniger, größere Nachrichten zu senden, wie einen Bericht, wenn eine Sitzung ihre Arbeit beendet
- Für
eine Relay-Schleife zwischen Sitzungen wurde unterbrochen, geben Sie die nächste Anweisung selbst in eine der Sitzungen ein. Eine Nachricht, die Claude als Antwort auf Ihre eigene Eingabeaufforderung sendet, beginnt eine neue Kette
Vor v2.1.238 erhielt die sendende Sitzung keinen Bericht, wenn die Inbox des Empfängers eine Nachricht verwarf.
Weigerung, eine sitzungsübergreifende Nachricht zu senden
Bevor Claude Code eine sitzungsübergreifende Nachricht an eine andere Ihrer Sitzungen auf dieser Maschine schreibt, überprüft es, dass die Inbox-Socket der Ziel-Sitzung der Endpunkt ist, an den die Nachricht adressiert wurde. Wenn eine Überprüfung fehlschlägt, weigert sich Claude Code, den Send in der sendenden Sitzung zu tätigen, und die Ziel-Sitzung erhält nichts. Für eine Nachricht, die Claude sendet, erscheint die Weigerung im Tool-Ergebnis der sendenden Sitzung:
Fehler beim Senden an api-worker: Weigerung zu senden: Antwortziel ist ein Symlink
Der Text nach Weigerung zu senden: benennt die Überprüfung, die fehlgeschlagen ist:
Antwortziel ist ein Symlink: Ein symbolischer Link sitzt am Socket-Pfad der Ziel-Sitzung. Claude Code liefert nicht durch ihn, weil ein Link dort die Nachricht zu einem Endpunkt umleiten könnte, den die Ziel-Sitzung nicht erstellt hat.Antwortziel kann nicht überprüft werden: Claude Code konnte den Zielpfad überhaupt nicht überprüfen, zum Beispiel weil das Lesen mit einem Berechtigungsfehler fehlschlug.
Was zu tun ist:
- Normalerweise nichts: Die Überprüfungen verhindern, dass eine Nachricht einen anderen Endpunkt als die Sitzung erreicht, an die sie adressiert wurde, und nichts wurde gesendet
- Wenn
Antwortziel ist ein Symlinkfür eine Sitzung wiederholt wird, überprüfen Sie, was einen Link am Socket-Pfad dieser Sitzung erstellt hat, angezeigt in ihrem/statusunterPeer address
Weigerung, einen Pfad zu lesen, zu schreiben oder zu durchsuchen
Claude Code überprüft die Berechtigungsregeln eines Dateipfads, bestätigt dann diese Auflösung erneut, wenn das Tool die Datei öffnet oder die Suche startet. Wenn es nicht bestätigen kann, dass der Pfad immer noch zu dem Ort führt, den die Überprüfung genehmigt hat, weigert sich Claude Code, die Operation auszuführen, anstatt sie zu folgen. Die Weigerung erscheint im Tool-Ergebnis:
Weigerung zu lesen /path/to/file: Seine Symlink-Auflösung änderte sich nach der Berechtigungsprüfung (ein Link auf dem Weg führt jetzt irgendwohin, das die Überprüfung nicht sah). Wenn ein Link im Arbeitsverzeichnis gleichzeitig umgeschrieben wird, stoppen Sie das und versuchen Sie es erneut.
Jede Weigerung benennt ihren Grund:
Seine Symlink-Auflösung änderte sich nach der Berechtigungsprüfung: Ein Symlink entlang des Pfads, oder bei einer Grep- oder Glob-Suchwurzel, wurde zwischen der Berechtigungsprüfung und der Operation ersetzt. In einer Leseverweigerung benennt der eingeklammerte Satz, welcher Vergleich fehlschlug.Seine Symlink-Auflösung des übergeordneten Verzeichnisses änderte sich nach der Berechtigungsprüfung: Ein Verzeichnis, das der Schreibpfad durchläuft, wird nicht mehr zu dem genehmigten Ort aufgelöstWo es auf der Festplatte führt, konnte nicht bestimmt werden (ein Link auf dem Weg konnte nicht untersucht werden, oder die Links werden nicht aufgelöst): Claude Code konnte dem Pfad nicht zu einem endgültigen Ort auf der Festplatte folgen, zum Beispiel weil Symlinks darauf eine Schleife bildenEs ist ein symbolischer Link. Schreiben Sie stattdessen zum Ziel-Pfad des Links: Ein Symlink sitzt am genehmigten Schreibort selbst, zum Beispiel eineCLAUDE.md, die ein Symlink zuAGENTS.mdist; die Nachricht leitet Claude zum Ziel des LinksWeigerung, durch Symlink zu schreiben: <path>. Lösen Sie den Symlink auf und übergeben Sie den echten Ziel-Pfad explizit.: dieselbe Bedingung, die erfasst wird, wenn ein anderer Schreiber die Datei öffnet, wie ein Schreiben zu einer verlinkten.mcp.jsonWeigerung, in ein verlinktes Verzeichnis zu schreiben: <path>: Das Verzeichnis, das die Datei hält, ist selbst ein symbolischer Link, zum Beispiel das.claude/-Verzeichnis eines Projekts, das mit einem anderen Ort verlinkt istEin Pfad, durch den eine seiner Read-Ablehnungsregeln geschrieben wird, änderte sich, während die Suche vorbereitet wurde. Versuchen Sie es erneut.: EineRead-Ablehnungsregel für die Suche benennt einen Pfad, der durch einen Symlink führt, und dieser Link änderte sich, während Claude Code die Suche vorbereiteteEs konnte nicht geöffnet werden (EACCES) — es ist nicht lesbar, oder wird gleichzeitig ersetzt.: Die Suchwurzel existiert, konnte aber nicht geöffnet werden; der eingeklammerte Code ist der BetriebssystemfehlerSeine Berechtigungsprüfung lief ab, bevor sie lief (zu viele gleichzeitige Dateivorgänge). Versuchen Sie es erneut.: Claude Code räumte den Genehmigungsdatensatz unter vielen gleichzeitigen Dateivorgängen auf, bevor das Tool ihn verwendete; das Wiederholen führt eine frische Berechtigungsprüfung durchripgrep wurde nur nach Name auf PATH gefunden, und eine Suche außerhalb des Arbeitsverzeichnisses kann Ihre Read-Ablehnungsregeln in dieser Konfiguration nicht anwenden: Claude Code konnte dierg-Binärdatei nicht zu einem absoluten Pfad auflösen, daher weigert es sich, Suchen außerhalb des Arbeitsverzeichnisses auszuführen, anstatt eine auszuführen, die Ihre Ablehnungsregeln nicht abdecken
Was zu tun ist:
- Normalerweise nichts: Die Weigerung erreicht Claude als das Tool-Ergebnis, und die abgelehnte Operation wird nicht ausgeführt
- Wenn eine Symlink-Weigerung auf einem Pfad wiederholt wird, finden Sie, was einen Link dort ständig umschreibt, wie ein Build-Tool oder File-Watcher, oder bitten Sie Claude, den aufgelösten Pfad der Datei anstelle des verlinkten zu verwenden
- Wenn diese Weigerung für jede Datei erscheint, während Claude Code unter Windows in einem AppContainer oder Sandbox mit eingeschränktem Token läuft, aktualisieren Sie auf v2.1.265 oder später
- Wenn eine Leseverweigerung auf macOS für eine Datei erscheint, die nichts umschreibt, wie ein Screenshot, der in den Prompt gezogen wird, aktualisieren Sie auf v2.1.273 oder später
- Für die ripgrep-Weigerung installieren Sie ripgrep mit Ihrem Paketmanager, damit
rgzu einem absoluten Pfad aufPATHaufgelöst wird, oder halten Sie Suchen unter dem Arbeitsverzeichnis
Vor v2.1.251 überprüfte Claude Code die Auflösung eines Pfads nur für Dateischreibvorgänge erneut, daher konnte ein Link, der nach der Berechtigungsprüfung ersetzt wurde, eine Lese- oder Suche zu einem anderen Ort umleiten, ohne eine Nachricht. Von diesen Verweigerungen erscheint nur die Schreibverweigerung des übergeordneten Verzeichnisses auf früheren Versionen.
Vor v2.1.280 erschien die Wo es auf der Festplatte führt, konnte nicht bestimmt werden-Weigerung nicht.
Task-Ausgabe-Swap abgelehnt
Claude Code speichert die Ausgabe jedes Bash-Befehls in einer Datei unter seinem Temp-Verzeichnis. Jedes Mal, wenn es eine dieser Dateien öffnet, überprüft es, dass der Pfad immer noch zu der Datei führt, die es erstellt hat, ohne Symlink, zusätzlichen Hard-Link oder verschobenes Verzeichnis, das ihn umleitet. Diese Nachricht bedeutet, dass diese Überprüfung fehlgeschlagen ist, daher weigerte sich Claude Code, die Operation auszuführen, anstatt Ausgabe durch diesen Pfad zu schreiben oder zu lesen. Die Nachricht erscheint im Bash-Tool-Ergebnis:
Task-Ausgabe-Swap abgelehnt (Tasks-Verzeichnis verschoben oder verlinkt): /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks/b7k2f9m3q.output. Zur Wiederherstellung: Starten Sie Claude Code mit CLAUDE_CODE_TMPDIR neu, das auf ein frisches Verzeichnis gesetzt ist; oder, wenn /private/tmp/claude-501/-Users-you-my-project ein verwaistes Verzeichnis oder ein Symlink ist, der nicht dort sein sollte, entfernen Sie diesen Eintrag selbst (nicht das, worauf er zeigt) und starten Sie neu.
Der eingeklammerte Text benennt die Überprüfung, die fehlgeschlagen ist. Gründe wie Ausgabe-Symlink wurde umgeleitet, Ausgabedatei-Identität änderte sich und keine reguläre Datei melden alle dieselbe Bedingung: Etwas am oder entlang des Ausgabepfads ist nicht mehr die Datei, die Claude Code erstellt hat. Nur einige Gründe tragen einen Zur Wiederherstellung:-Satz.
Wenn die Überprüfung fehlschlägt, während ein Befehl noch läuft, stoppt Claude Code den Befehl, und sein Ergebnis meldet:
Befehl beendet: Seine Ausgabedatei wurde ersetzt oder konnte nicht mehr überprüft werden
Was zu tun ist:
- Aktualisieren Sie auf v2.1.260 oder später. Frühere Versionen zeigten diese Nachricht manchmal, wenn kein Link oder verschobenes Verzeichnis vorhanden war
- Starten Sie Claude Code mit
CLAUDE_CODE_TMPDIRneu, das auf ein frisches Verzeichnis gesetzt ist - Oder überprüfen Sie Ihr Projektverzeichnis unter dem Claude Code-Temp-Verzeichnis,
/private/tmp/claude-501/-Users-you-my-projectin der Beispielnachricht. Wenn dieser Pfad ein Symlink ist, oder ein Verzeichnis, das nicht dort sein sollte, entfernen Sie den Link oder das Verzeichnis selbst, anstatt das Ziel des Links, und starten Sie Claude Code neu - Wenn die Weigerung wiederholt wird, ersetzt, verlinkt oder entfernt ein Prozess Einträge unter Claudes Temp-Verzeichnis, während die Sitzung läuft. Setzen Sie
CLAUDE_CODE_TMPDIRauf ein Verzeichnis, das nichts anderes verwaltet, und starten Sie neu
Festplattenquote oder Temp-Dateisystem ist voll
Claude Code speichert die Ausgabe jedes Bash- und PowerShell-Befehls in einer Datei unter seinem Temp-Verzeichnis. Wenn ein Befehl mit einem Nicht-Null-Code beendet wird und überhaupt keine Ausgabe hat, überprüft Claude Code, ob das Dateisystem, das diese Datei hält, keinen Speicherplatz oder Inodes hat, oder ob Ihre Festplattenquota darauf aufgebraucht ist. Wenn ja, erscheint eine Diagnose im Befehlsergebnis anstelle der leeren Ausgabe:
Ihre Festplattenquota ist voll auf dem Dateisystem mit Claudes Temp-Verzeichnis /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), daher ging jede Ausgabe, die dieser Befehl druckte, verloren, und er könnte fehlgeschlagen sein, weil er nicht schreiben konnte. Löschen Sie Dateien, die Sie nicht mehr brauchen, oder starten Sie Claude Code mit CLAUDE_CODE_TMPDIR neu, das auf ein Verzeichnis auf einem anderen Dateisystem gesetzt ist.
Die Nachricht benennt, was aufgebraucht ist:
Ihre Festplattenquota ist voll ... (EDQUOT): Ihre eigene Quote auf diesem Dateisystem ist aufgebraucht. Eine Quote kann voll sein, während das Dateisystem immer noch freien Speicherplatz zeigtDas Dateisystem mit Claudes Temp-Verzeichnis ..., oder Ihre Festplattenquota darauf, ist voll (ENOSPC): Das Dateisystem, oder Ihre Quote darauf, hat keinen Speicherplatz mehrBefehlsausgabe ging verloren: Das Temp-Dateisystem bei ... ist volloder... hat keine Inodes mehr: Das Dateisystem hat fast keinen freien Speicherplatz mehr, oder läuft aus Inodes
Was zu tun ist:
- Löschen Sie Dateien, die Sie nicht mehr brauchen, auf dem Dateisystem, das Claudes Temp-Verzeichnis hält. Für
EDQUOT, löschen Sie Dateien, die gegen Ihre eigene Quote zählen. Fürkeine Inodes mehr, löschen Sie viele Dateien anstelle von wenigen großen, da jede Datei einen Inode nimmt, egal wie groß sie ist - Oder starten Sie Claude Code mit
CLAUDE_CODE_TMPDIRneu, das auf ein Verzeichnis auf einem Dateisystem mit Platz gesetzt ist - Dann lassen Sie Claude den Befehl erneut ausführen. Die Ausgabe, die er druckte, ging verloren, nicht gekürzt
Die Quelldatei ist kein gültiger UTF-8-Text
Claude versuchte, ein Artefakt aus einer Datei zu veröffentlichen, deren Bytes nicht als Text dekodiert werden, oder deren Text bereits das Ersatzzeichen U+FFFD enthält, daher weigerte sich Claude Code, die Veröffentlichung zu tätigen, bevor etwas hochgeladen wurde. Die Nachricht erscheint im Artifact-Tool-Ergebnis und benennt die erste Position zum Beheben:
file_path: Die Quelldatei ist kein gültiger UTF-8-Text (erstes ungültiges Byte bei Zeile 12, Spalte 40). Sie kann in einer anderen Kodierung gespeichert sein oder Binärdaten enthalten. Schreiben Sie sie als UTF-8 um, dann veröffentlichen Sie erneut. Nichts wurde veröffentlicht.
file_path: Die Quelldatei hat das Ersatzzeichen U+FFFD bei Zeile 12, Spalte 40, normalerweise dort gelassen, wo eine frühere Bearbeitung oder ein Einfügen ein Zeichen verlor. Ersetzen Sie es durch den beabsichtigten Text (in HTML schreiben Sie ein beabsichtigtes U+FFFD als �), dann veröffentlichen Sie erneut. Nichts wurde veröffentlicht.
Claude Code dekodiert die Datei als UTF-8, oder als UTF-16, wenn sie mit einer Little-Endian-UTF-16-Byte-Order-Mark beginnt. Wenn eine solche UTF-16-Datei nicht dekodiert, benennt die erste Nachricht UTF-16 und teilt Ihnen immer noch mit, die Datei als UTF-8 umzuschreiben. Wenn mehr Positionen der benannten folgen, fügt die Nachricht eine Zählung wie (+2 weitere) nach der Position hinzu.
Was zu tun ist:
- Normalerweise nichts: Claude schreibt die Datei um und veröffentlicht erneut
- Wenn die Datei eine ist, die Sie geschrieben oder exportiert haben, speichern Sie sie erneut als UTF-8, und ersetzen Sie jedes
U+FFFDdurch das Zeichen, das eine frühere Bearbeitung, ein Einfügen oder eine Konvertierung verlor - Um ein beabsichtigtes
U+FFFDauf der Seite anzuzeigen, schreiben Sie es als�im HTML, anstatt das Literalzeichen
Vor v2.1.267 lud Claude Code eine solche Datei ohne Überprüfung hoch, und der Server lehnte die Veröffentlichung stattdessen ab.
Lesen einer lokalen Datei von außerhalb der verbundenen Ordner in einer Cowork-Sitzung
In einer Cowork-Sitzung, die auf Ihrer Maschine in der Claude Desktop-App läuft, benannte Claude eine lokale Datei für ein Artefakt. Claude Code konnte nicht bestätigen, dass die Datei eine einfache Datei in den verbundenen Ordnern der Sitzung ist: Der Pfad sitzt außerhalb dieser Ordner, führt durch einen Symlink, oder ist so geschrieben, dass er eine andere Datei als die, die er zu sein scheint, benennen kann. Das Lesen einer solchen Datei benötigt Ihre Genehmigung, und in einer Sitzung, die Ihnen die Genehmigungskarte nicht zeigen kann, wie eine, die auf das Überspringen aller Genehmigungen eingestellt ist, weigert sich Claude Code, die Datei zu lesen.
Die Weigerung erscheint im Artifact-Tool-Ergebnis; wenn die Datei überhaupt nicht untersucht werden konnte, benennt sie stattdessen diesen Fehler:
Das Lesen einer lokalen Datei von außerhalb der verbundenen Ordner dieser Sitzung, oder durch einen Link, benötigt die Genehmigungskarte, und niemand kann sie in dieser Cowork-Sitzung beantworten. Verwenden Sie eine einfache Datei in den verbundenen Ordnern; versuchen Sie diese Datei nicht erneut in dieser Sitzung.
Kann file_path nicht lesen (ENOENT) — die Datei konnte nicht untersucht werden, und niemand kann die Genehmigungskarte in dieser Cowork-Sitzung beantworten. Überprüfen Sie, dass die Datei als einfache Datei in den verbundenen Ordnern existiert, dann versuchen Sie es mit diesem Pfad erneut.
Was zu tun ist:
- Normalerweise nichts: Die Nachricht teilt Claude mit, stattdessen eine einfache Datei in den verbundenen Ordnern zu verwenden
- Um diese genaue Datei in das Artefakt zu legen, kopieren Sie sie als reguläre Datei, keinen Symlink, in einen der verbundenen Ordner der Sitzung, und fragen Sie erneut
WebFetch kann localhost nicht abrufen
Claude hat WebFetch mit einer URL aufgerufen, deren Hostname keinen Punkt hat, wie http://localhost:3000 oder einen bloßen Intranet-Namen wie http://wiki/. WebFetch weigert sich, diese URLs vor jedem Anfrage zu machen:
WebFetch kann localhost oder andere Hostnamen ohne Punkt nicht abrufen. Um einen lokalen Server zu erreichen, verwenden Sie stattdessen Bash mit curl.
Was zu tun ist:
- Normalerweise nichts: Die Nachricht zeigt Claude auf
curldurch das Bash-Tool, das lokale und Intranet-Server erreichen kann
Vor v2.1.268 meldete WebFetch diese URLs mit einem generischen Ungültige URL-Fehler.
WebFetch-Domänensicherheitsprüfung fehlgeschlagen
Bevor WebFetch eine URL abruft, sendet WebFetch den Hostnamen der URL an api.anthropic.com, um ihn gegen Anthropics Domänensicherheits-Blocklist zu überprüfen. Wenn die Überprüfung nicht abgeschlossen werden kann, kann WebFetch nicht bestätigen, dass die Domäne sicher ist, daher ruft es die Seite nicht ab und das Tool-Ergebnis trägt stattdessen eine dieser Nachrichten:
Die Sicherheitsprüfung für Domäne example.com ist ratenbegrenzt (zu viele Domänenprüfungen aus diesem Netzwerk; das Limit ist geteilt und kann Minuten lang erschöpft bleiben). Führen Sie WebFetch nicht in einer Schleife aus oder schlafen Sie, um darauf zu warten; fahren Sie ohne diese Seite fort und melden Sie, dass ihre Sicherheitsprüfung ratenbegrenzt war. Ein einzelner späterer Versuch ist in Ordnung; wenn dieser auch ratenbegrenzt ist, stoppen Sie.
Kann nicht überprüfen, ob Domäne example.com sicher zum Abrufen ist. Dies kann auf Netzwerkbeschränkungen oder Unternehmens-Sicherheitsrichtlinien zurückzuführen sein, die claude.ai blockieren.
ratenbegrenzt: Der Überprüfungs-Endpunkt antwortete mit HTTP429. Die Nachricht teilt Claude mit, ohne die Seite fortzufahren und später höchstens einmal erneut zu versuchen. Claude Code speichert eine fehlgeschlagene Überprüfung nicht zwischen, daher führt ein späterer Abruf dieser Domäne die Überprüfung erneut aus. Wenn Sitzungen in Ihrem Netzwerk dies oft treffen, können Sie die Überprüfung mitskipWebFetchPreflight: truein Einstellungen überspringen.Kann nicht überprüfen: Die Überprüfungsanfrage schlug fehl, zeitüberschritten oder erhielt einen anderen Fehlerstatus. Wenn Ihr Netzwerkapi.anthropic.comblockiert, erlauben Sie diese Domäne, oder überspringen Sie die Überprüfung mitskipWebFetchPreflight: truein Einstellungen.
Vor v2.1.286 lautete die ratenbegrenzte Nachricht Die Sicherheitsprüfung für Domäne example.com ist vorübergehend ratenbegrenzt (zu viele Domänenprüfungen aus diesem Netzwerk). Versuchen Sie es nach etwa einer Minute erneut; ein früherer Versuch schlägt auf die gleiche Weise fehl..
Vor v2.1.285 wurde eine ratenbegrenzte Überprüfung mit der Kann nicht überprüfen-Nachricht stattdessen gemeldet.
Fehler in Hintergrund-Sitzungen
Hintergrund-Sitzungen laufen ohne eigenes interaktives Terminal, daher verhalten sich Befehle, die eines benötigen, dort anders. Diese Meldungen erscheinen im Transkript einer Hintergrund-Sitzung, im Terminal, das sich an eine anhängt, in der Sitzung oder Shell, von der Sie sie entsenden, oder für die Worktree-Guard-Einträge unten in jeder Sitzung, die in einem Worktree isoliert ist oder einen Worktree-isolierten Subagenten ausführt; wenn eine Meldung spezifisch für eine Oberfläche ist, gibt ihr Eintrag das an.
Befehle, die in einer Hintergrund-Sitzung abgelehnt werden
Befehle, die einen interaktiven Dialog öffnen, können dies nicht tun, während kein Terminal an eine Hintergrund-Sitzung angehängt ist. /install-github-app, die /mcp-Einstellungsliste und die Authentifizierungsaktionen im MCP-Server-Menü antworten mit einer Meldung. Für /install-github-app und die /mcp-Einstellungsliste wird die Sitzung auch unter Needs input in der Agent-Ansicht angezeigt, damit Sie sie finden, anhängen und den Befehl erneut ausführen können. Während ein Terminal angehängt ist, funktionieren diese Befehle normal.
Vor v2.1.216 wurde die Sitzung nach /install-github-app oder der /mcp-Einstellungsliste nicht unter Needs input angezeigt. In v2.1.213 bis v2.1.215 funktionierten die Befehle weiterhin, während ein Terminal angehängt war, und die Ablehnungsmeldung sagte Ihnen, dass Sie anhängen und den Befehl erneut ausführen sollen. Von v2.1.208 bis v2.1.212 lehnte Claude Code sie sogar ab, während ein Terminal angehängt war, mit einer Meldung wie Can't open MCP settings in a background session; auf diesen Versionen führen Sie den Befehl stattdessen aus einer regulären claude-Sitzung aus oder aktualisieren. Vor v2.1.208 öffneten sie ihren Dialog innerhalb der Hintergrund-Sitzung. Nur in v2.1.208 lehnte Claude Code auch die /model-Auswahl in einer Hintergrund-Sitzung ab, und /upgrade gab die Upgrade-URL aus, anstatt einen Browser zu öffnen.
Die Formulierung nennt den Befehl. Die /mcp-Einstellungsliste meldet:
Can't open MCP settings while no terminal is attached to this background session. This session now shows "needs input" in agent view — open it and run /mcp to manage servers, or use `/mcp enable|disable|reconnect <server>` to steer without the panel.
Was zu tun ist:
- Hängen Sie sich von der Agent-Ansicht an die Sitzung an und führen Sie den Befehl erneut aus
- Oder verwenden Sie die Form, die die Meldung nennt, wie
/mcp reconnect <server>,/mcp enableoder/mcp disable, die ohne Anhängen funktionieren
Schreib- oder Befehlsoperation blockiert, da der Pfad nicht sicher aufgelöst werden kann
Claude hat auf eine Datei oder ein Arbeitsverzeichnis durch eine Schreibweise zugegriffen, die der Worktree-Isolations-Guard nicht zu einem verifizierbaren Ort auflösen kann. Der Guard überprüft Schreibvorgänge und Befehlsarbeitsverzeichnisse in jeder Sitzung, die in einem Worktree isoliert ist, interaktiv oder im Hintergrund, und in Worktree-isolierten Subagenten. Er löst Symlinks auf, bevor er überprüft, dass die Operation den gemeinsamen Checkout nicht erreicht, und wenn die Auflösung fehlschlägt, blockiert er die Operation, anstatt sie dort landen zu lassen. Die Meldung nennt die Pfadformen, die er ablehnt, und wie Sie es erneut versuchen:
This write was blocked because the path is spelled in a form that cannot be safely resolved (for example through a symlink storing a raw dot segment, a network-share or device-namespace shape, or an unreadable ancestor directory). If the file is inside the worktree /path/to/worktree, address it by its direct symlink-free path instead.
Ein blockierter Befehl meldet die gleiche Ursache für sein Arbeitsverzeichnis und endet mit re-run the command from its direct symlink-free path. Vor v2.1.217 verglich der Guard Pfadschreibweisen, ohne Symlinks aufzulösen, daher wurden diese Schreibweisen nicht blockiert und ein Schreibvorgang, der durch einen Symlink geleitet wurde, konnte im gemeinsamen Checkout landen.
Was zu tun ist:
- Normalerweise nichts: Die vollständige Meldung geht an Claude als Tool-Fehler, und Claude versucht es erneut mit dem direkten Pfad, den sie nennt. Für einen blockierten Datei-Edit zeigt die Konversationsansicht nur eine kurze
Error editing file-Zeile; die vollständige Meldung erscheint in der Transkript-Ansicht, die Sie mitCtrl+Oöffnen. Ein blockierter Befehl gibt sie in seiner Befehlsausgabe aus. - Wenn die Blockierung bei derselben Datei wiederholt wird, läuft der Pfad wahrscheinlich durch einen committeten Symlink, dessen Ziel
..enthält, wiedocs/current -> ../README.md; bitten Sie Claude, die Zieldatei stattdessen über ihren echten Pfad zu bearbeiten, anstatt über den Link
Schreib- oder Befehlsoperation blockiert, da der Pfad einen Netzwerkort benennt
Claude hat auf eine Datei oder ein Arbeitsverzeichnis durch einen Pfad zugegriffen, der ein Laufwerk benennt, das sich nicht auf Ihrem Computer befindet, eine UNC-Freigabe wie \\server\share\file oder einen /net-Automount-Pfad, während der Checkout der Sitzung auf einer lokalen Festplatte ist. Der gleiche Worktree-Isolations-Guard kann nicht überprüfen, dass ein solcher Pfad aus dem gemeinsamen Checkout herausbleibt, daher blockiert er die Operation. Das Isolieren der Sitzung in einem Worktree hebt die Blockierung nicht auf. Die Meldung nennt die Pfadform, die stattdessen verwendet werden soll:
This write was blocked because the path is network-shaped (a UNC share or /net automount spelling) while this session's checkout is local. Isolating cannot unblock it. If the file is genuinely inside the worktree /path/to/worktree, address it by its local, plainly-spelled path instead.
Ein blockierter Befehl meldet die gleiche Ursache für sein Arbeitsverzeichnis und endet mit re-run the command from its local, plainly-spelled path. Vor v2.1.217 verglich der Guard nur Pfadtext, daher wurde das Adressieren einer Datei innerhalb des Checkouts über einen UNC- oder /net-Pfad nicht blockiert.
Was zu tun ist:
- Normalerweise nichts: Claude versucht es erneut mit der lokalen Schreibweise, die die Meldung verlangt
Befehl blockiert durch die Worktree-Isolationsprüfungen
Claude hat einen Bash- oder Monitor-Befehl in einer Sitzung ausgeführt, die in einem Worktree isoliert ist, und Claude Code hat ihn aus einem von zwei Gründen abgelehnt:
- Der Befehl zeigt git auf den Haupt-Checkout.
- Claude Code kann aus dem Befehlstext nicht überprüfen, dass jedes git, das der Befehl ausführt, innerhalb des Worktree bleibt. Ein Befehl, der git nie benennt, kann trotzdem aus diesem Grund abgelehnt werden, da das Erweitern einer Variablenumleitung wie
${!name}oder das Ausführen einer Bash-Funktionssubstitution wie${ command; }einen Wert zur Laufzeit erzeugt, der selbst ein Befehl sein kann.
Die Mitte der Meldung nennt, was nicht überprüft werden konnte:
This session is isolated in the worktree /path/to/worktree, but this command evaluates ${!x@P} arithmetically inside a construct too complex to verify, which can run a command hidden in a variable's value. Refusing to run it — a worktree-isolated session's git operations must target its own worktree. Split it into plain, separate commands and run them from /path/to/worktree.
Was zu tun ist:
- Normalerweise nichts: Claude liest die Meldung und schreibt den Befehl so um, wie ihr letzter Satz verlangt
- Wenn ein Befehl, den Sie angefordert haben, weiterhin abgelehnt wird, schreiben Sie den gekennzeichneten Wert wörtlich: Ersetzen Sie die Umleitung oder Substitution durch ihren Wert, und führen Sie git als eigenen einfachen Befehl von innerhalb des Worktree aus
- Um absichtlich auf den Haupt-Checkout einzuwirken, führen Sie den Befehl selbst in einem Terminal außerhalb der Sitzung aus
Diese Sitzung hat kein gespeichertes Transkript
Sie haben sich an eine gestoppte Hintergrund-Sitzung angehängt, die mit ← oder /background aus einer anderen Konversation in den Hintergrund verschoben wurde und gestoppt wurde, bevor ihre erste Antwort fertig war. Bis diese erste Antwort fertig ist, existiert die Konversation noch nur in der Sitzung, aus der sie in den Hintergrund verschoben wurde, daher lehnt claude attach ab, die gestoppte Sitzung zu starten, anstatt eine leere Konversation unter derselben Sitzungs-ID zu beginnen. Die Meldung endet mit dem claude respawn-Befehl für diese Sitzung:
This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.
Das Öffnen der Zeile derselben Sitzung in der Agent-Ansicht zeigt stattdessen Press enter again to restart this session fresh unter der Liste an, und ein zweites Enter auf der Zeile startet die Sitzung mit einer leeren Konversation neu. Vor v2.1.212 zeigte das Öffnen der Zeile die Ablehnungsmeldung ohne Möglichkeit, die Sitzung von der Agent-Ansicht aus neu zu starten. Vor v2.1.211 startete das Öffnen der gestoppten Sitzung stillschweigend diese leere Konversation und konnte den ursprünglichen Prompt der Sitzung erneut ausführen.
Was zu tun ist:
- Die Konversation, aus der Sie in den Hintergrund verschoben haben, ist intakt: Setzen Sie sie mit
claude --resumefort oder arbeiten Sie weiterhin darin - Um die gestoppte Sitzung trotzdem neu zu starten, führen Sie
claude respawn <id>mit der ID aus der Meldung aus, oder drücken SieEnterzweimal auf ihrer Zeile in der Agent-Ansicht - Wenn die Sitzung eine Antwort fertiggestellt hat und Sie diese Ablehnung immer noch auf einer Version vor v2.1.214 sehen, könnte ein unlesbarer Ordner in
~/.claude/projectsdazu führen, dass der Transkript-Scan die gespeicherte Konversation verpasst; aktualisieren Sie auf v2.1.214 oder später, das unlesbare Ordner während des Scans toleriert
Diese Sitzung läuft in einem anderen Terminal
Sie haben die Zeile einer gestoppten Sitzung in der Agent-Ansicht geöffnet, und ihre gespeicherte Konversation ist bereits in einem anderen aktiven Claude Code-Prozess auf diesem Computer offen, daher lehnt Claude Code ab, einen zweiten Prozess zu starten, der in das gleiche Transkript schreiben würde. Welche Meldung Sie sehen, hängt davon ab, was die Konversation hält:
Can't open — this session is running in another terminal
This conversation is already open in another running Claude session — use that one, or close it and try again
running in another terminal: Ein Terminal hält die Konversation, zum Beispiel eines, in dem Sie sie mitclaude --resumeoder/resumefortgesetzt haben. Die Zeile zeigt auchOpen in a terminal.already open in another running Claude session: Ein anderer nicht interaktiver Claude Code-Prozess hält sie, zum Beispiel ein Hintergrund-Sitzungs-Prozess für dieselbe Konversation, der noch nicht beendet ist.
Claude Code speichert eine Antwort, die Sie beim Öffnen der Zeile eingegeben haben, und sendet sie als nächsten Prompt der Sitzung, wenn die Sitzung das nächste Mal startet.
Was zu tun ist:
- Setzen Sie die Konversation in dem Prozess fort, der sie offen hat, oder beenden Sie diesen Prozess und öffnen Sie die Zeile erneut
Vor v2.1.248 existierte nur die already open in another running Claude session-Ablehnung: Eine Konversation, die in einem Terminal fortgesetzt wurde, zählte nicht als offen, und das Öffnen der Zeile startete einen zweiten Claude Code-Prozess, der in dieselbe Konversation schrieb.
Die gespeicherte Konversation dieser Sitzung ist nicht mehr auf der Festplatte
Sie haben eine Hintergrund-Sitzung geöffnet, die endete, während der Hintergrund-Service aus war, und die Transkript-Bereinigung hat seitdem ihre gespeicherte Konversation entfernt, zum Beispiel nachdem der Computer für Wochen aus war. Das Öffnen einer solchen Zeile setzt normalerweise ihre gespeicherte Konversation fort. Da nichts zum Fortsetzen übrig ist, lehnt Claude Code ab, anstatt den ursprünglichen Prompt der Sitzung ohne Nachfrage erneut auszuführen:
This session's saved conversation is no longer on disk (it ended while the background service was off, and old transcripts are cleaned up), so there is nothing to resume. `claude rm 7c5dcf5d` deletes the row; `claude respawn 7c5dcf5d` runs its original prompt again instead.
claude attach <id> gibt diesen Text aus. In der Agent-Ansicht ist die Fußzeile kürzer und endet mit ctrl+x deletes the row.
Was zu tun ist:
- Führen Sie
claude rm <id>aus, um die Zeile zu löschen. Wenn einer der beibehaltenen Fälle zutrifft, behältclaude rmdie Zeile und den Worktree stattdessen bei und nennt den Grund - Um den ursprünglichen Prompt der Sitzung erneut als frische Konversation auszuführen, führen Sie
claude respawn <id>aus
Vor v2.1.248 führte das Öffnen einer solchen Zeile den ursprünglichen Prompt der Sitzung erneut aus, anstatt abzulehnen, und zog eine Wochen alte Aufgabe zurück in den Vordergrund.
Worktree hat Commits, die nirgendwo gepusht werden
Sie haben versucht, eine Hintergrund-Sitzung zu löschen, deren Worktree Commits enthält, bei denen Claude Code nicht bestätigen kann, dass sie anderswo gespeichert sind. Claude Code behält den Worktree und die Sitzungszeile bei, anstatt die Commits ungesehen zu zerstören. claude rm nennt den Branch und die nicht gepushten Commits und sagt, wie Sie vorgehen:
kept 7c5dcf5d — its worktree is still at “/home/you/project/.claude/worktrees/fix-login”
2 unpushed commits on “claude/fix-login”: a1b2c3d “Fix login flow” and 1 more. They exist on no remote, so deleting the worktree would lose them.
push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef
Wenn Claude Code die Commits nicht zusammenfassen kann, lautet die Detailzeile stattdessen The worktree has unpushed commits. In der Agent-Ansicht zeigt die Sitzungszeile not deleted mit dem gleichen Grund.
Commits auf einem Remote blockieren die Löschung nicht. Auch nicht Commits auf der lokalen Kopie des Standard-Branches Ihres origin-Remote, solange dieser Branch in Ihrem Haupt-Checkout ausgecheckt ist, dem Repository-Verzeichnis selbst, nicht einem Worktree.
Was zu tun ist:
- Um die Commits zu behalten, pushen Sie den Branch des Worktree, oder mergen Sie ihn in den Standard-Branch, der in Ihrem Haupt-Checkout ausgecheckt ist, dann löschen Sie die Sitzung erneut
- Um die Commits zu verwerfen, führen Sie den
claude rm <id> --discard-unpushed-Befehl aus, den die Meldung ausgegeben hat, oder drücken SieCtrl+Xzweimal auf der Sitzungszeile in der Agent-Ansicht erneut. Dies entfernt die Sitzung und den Worktree zusammen mit seinem Branch, den nicht gepushten Commits und allen nicht committeten Änderungen. Wenn der Worktree seit der Ablehnung einen Commit hinzubekommen hat, behält Claude Code ihn erneut und zeigt den aktualisierten Status - Wenn die Meldung sagt, dass der Worktree auch von einer anderen beendeten Sitzung aufgezeichnet wird, verwirft erneutes Löschen ihn nicht: Pushen Sie die Commits, dann löschen Sie die Sitzung erneut
Vor v2.1.268 setzte claude rm die Commit-Zusammenfassung auf die kept-Zeile selbst. Wenn claude rm die Commits nicht zusammenfassen konnte, lautete die kept-Zeile worktree has commits that are not pushed anywhere anstelle der Zusammenfassung.
Vor v2.1.260 nannte die Meldung nicht den Branch oder die Commits, und erneutes Löschen wurde auf die gleiche Weise abgelehnt: Das Löschen der Sitzung ohne Pushen bedeutete, den Worktree selbst mit git worktree remove --force <path> zu entfernen und dann claude rm <id> erneut auszuführen.
Vor v2.1.248 zählte der Standard-Branch, der in Ihrem Haupt-Checkout ausgecheckt ist, nicht: Ein Branch, den Sie bereits dort gemergt hatten, löste diese Ablehnung immer noch aus, bis seine Commits einen Remote erreichten.
Terminal-Host-Prozess ist gestorben
Das Terminal jeder Hintergrund-Sitzung läuft in einem Host-Prozess unter dem Hintergrund-Service, und dieser Prozess ist gestorben, während der Service seine Verbindung noch hielt, daher konnte die Sitzung nicht erreicht werden.
Unter Linux und WSL überprüft der Hintergrund-Service jeden Host-Prozess alle paar Sekunden, markiert die Sitzung als fehlgeschlagen, wenn der Prozess beendet wurde, aber seine Verbindung zum Service nie geschlossen wurde, und zeigt den Grund auf ihrer Zeile in der Agent-Ansicht:
terminal host process died — press Enter to restart
Aus der Shell startet claude attach <id> eine Sitzung, die bereits wegen eines toten Hosts als fehlgeschlagen markiert ist, neu, und gibt ansonsten die Ursache aus und beendet sich:
Couldn't attach to <id> — This session's terminal host process died (the conversation is saved) — run `claude attach <id>` again to restart it on a fresh host.
Die Konversation ist in jedem Fall gespeichert.
Eine Zeile, die einen Shell-Befehl ausführt, zeigt stattdessen terminal host process died — its output is gone; the command was not run again, und claude attach gibt This command's terminal host process died — its output is gone and the command was not run again aus. Claude Code führt den Befehl niemals für Sie erneut aus.
Was zu tun ist:
- Drücken Sie in der Agent-Ansicht
Enterauf der fehlgeschlagenen Zeile; die Sitzung startet auf einem frischen Host-Prozess neu und die Konversation wird fortgesetzt - Führen Sie aus der Shell
claude attach <id>erneut aus. Claude Code gibtSession <id>'s terminal host died — restarting it on a fresh one…aus und öffnet die Sitzung erneut - Sie können eine Shell-Befehl-Zeile auf diese Weise nicht neu starten; entsenden Sie den Befehl erneut, um ihn erneut auszuführen
Vor v2.1.247 konnte ein toter Host-Prozess jede Liveness-Überprüfung bestehen, die der Hintergrund-Service ausführte, daher zeigte das Öffnen der Sitzung opening… · esc to cancel unbegrenzt und claude attach <id> wartete ohne Fehlermeldung.
Sitzung antwortet nicht
Sie haben eine Hintergrund-Sitzung geöffnet und der Hintergrund-Service hat das Öffnen akzeptiert, aber etwa zehn Sekunden lang kam keine Ausgabe an, daher schließt Claude Code, dass der Prozess, der das Terminal der Sitzung weiterleitet, keine Ausgabe liefern kann, und beendet den Versuch, anstatt zu warten.
In der Agent-Ansicht bietet Claude Code einen Neustart in der Fußzeile an:
Press enter again to restart this session — it isn't responding (its conversation is saved and resumes).
Aus der Shell gibt claude attach <id> die Ursache aus und beendet sich:
Couldn't attach to <id> — Session isn't responding — `claude stop <id>`, then `claude attach <id>` restarts it (the conversation is saved).
Claude Code startet eine Zeile, die einen Shell-Befehl ausführt, niemals für Sie neu, da ein Neustart den Befehl erneut ausführen würde.
Was zu tun ist:
- Drücken Sie in der Agent-Ansicht
Enterauf derselben Zeile erneut. Claude Code stoppt den nicht reagierenden Prozess und startet die Sitzung neu, und die Konversation wird fortgesetzt. Nichts wird ohne diesen zweiten Tastendruck gestoppt - Führen Sie aus der Shell
claude stop <id>aus, dannclaude attach <id> - Drücken Sie für eine Shell-Befehl-Zeile
Ctrl+Xin der Agent-Ansicht oder führen Sieclaude stop <id>aus, um sie zu stoppen; entsenden Sie den Befehl erneut, um ihn erneut auszuführen
Sitzung wurde gestoppt, während der Respawn im Gange war
Sie haben eine Hintergrund-Sitzung geöffnet, deren Prozess nicht lief, und während Claude Code sie neu startete, stoppte ein anderer Claude Code-Prozess sie, zum Beispiel claude stop in einem anderen Terminal. Claude Code hält die Sitzung gestoppt:
Session <id> was stopped while the respawn was in flight
Das Öffnen einer Sitzung, die Sie gerade entsandt haben, während ihr Prozess noch startet, wartet stattdessen auf den Prozess. Vor v2.1.246 konnte das Öffnen zu diesem Zeitpunkt sie stoppen und diese Meldung anzeigen.
Was zu tun ist:
- Wenn Sie die Sitzung nicht gestoppt haben, öffnen Sie ihre Zeile erneut in der Agent-Ansicht oder führen Sie
claude respawn <id>aus, um sie neu zu starten - Wenn Sie sie selbst gestoppt haben, bleibt nichts zu tun: Die Sitzung bleibt gestoppt
Sitzungs-Agent nicht mehr verfügbar
Sie haben eine Sitzung fortgesetzt, die einen benutzerdefinierten Agenten ausführte, gestartet mit --agent oder der agent-Einstellung, und Claude Code hat keinen Agenten mit diesem Namen gefunden. Es durchsucht zuerst das ursprüngliche Verzeichnis der Sitzung, wenn Sie diesem Workspace vertraut haben, dann das Verzeichnis, von dem aus Sie fortsetzen. Die Sitzung wird trotzdem fortgesetzt, aber mit den Standard-Tools, sodass die Tool-Einschränkungen des Agenten nicht mehr gelten:
This session was running agent 'code-reviewer', which is no longer available (no agent by that name in /home/you/project). Continuing with the default tools and system prompt — the agent's tool restrictions no longer apply. To restore it, re-create the agent, or resume with an explicit --agent <name>.
Die Warnung nennt nur die Verzeichnisse, die Claude Code durchsucht hat, und sie erscheint in der fortgesetzten Konversation, ob Sie eine Hintergrund-Sitzung aufwecken, /resume oder claude --resume ausführen oder im nicht interaktiven Modus fortsetzen, wo sie auch an stderr geht. Sitzungen, die --input-format stream-json verwenden, zeigen sie nicht, da das Agent SDK Agenten nach dem Start bereitstellt.
Claude Code speichert den Fallback nicht in der Sitzung, daher wiederholt sich die Warnung bei jedem Fortsetzen, bis Sie handeln. Der eingebaute claude-Agent löst die Warnung nicht aus, da das Zurückfallen auf das Standard-Toolset für ihn nichts ändert. Vor v2.1.216 setzte Claude Code stillschweigend als Standard-Agent fort, und die Suche deckte nur das Verzeichnis ab, von dem aus Sie fortgesetzt haben, daher ging ein projektbezogener Agent bei jedem Fortsetzen aus einem anderen Verzeichnis verloren.
Was zu tun ist:
- Erstellen Sie die Agent-Datei unter
.claude/agents/<name>.mdim Projekt der Sitzung oder unter~/.claude/agents/<name>.mdfür einen persönlichen Agenten neu, dann setzen Sie erneut fort - Oder setzen Sie mit
--agent <name>fort, das einen Agenten benennt, der existiert, um die Sitzung stattdessen als dieser Agent auszuführen - Wenn der Agent projektbezogen ist und Sie dem ursprünglichen Verzeichnis der Sitzung nicht vertraut haben, führen Sie Claude Code dort einmal aus, akzeptieren Sie den Vertrauensdialog, dann setzen Sie erneut fort
CLAUDE\_CODE\_PROCESS\_WRAPPER Launcher-Fehler
CLAUDE_CODE_PROCESS_WRAPPER ist gesetzt, und sein Wert kann nicht verwendet werden, daher lehnt Claude Code ab, den betroffenen Prozess zu starten, anstatt ihn ohne den Launcher auszuführen. Konfigurationsprobleme werden mit einer Meldung gemeldet, die mit dem Variablennamen beginnt und den Grund angibt, zum Beispiel:
CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file
Ein Launcher, der startet, aber beendet wird, ohne sich selbst durch Claude Code zu ersetzen, lässt die Sitzung fehlschlagen, die er startete, und die Sitzungszeile in der Agent-Ansicht meldet, dass der Launcher must exec, not daemonize, gefolgt von allem, was der Launcher ausgegeben hat. Eine Sitzung, die wegen des Launchers nicht starten oder den Hintergrund-Service nicht erreichen kann, meldet das Launcher-Problem als Grund innerhalb von Couldn't reach the background service (...).
Was zu tun ist:
- Setzen Sie die Variable auf den absoluten Pfad einer ausführbaren Datei, die mit dem Aufruf
exec "$@"endet. Siehe den Launcher-Vertrag für den vollständigen Vertrag - Überprüfen Sie
/status, das den aufgelösten Start-Befehl in seinem Self-exec-Eintrag anzeigt und warnt, wenn der laufende Hintergrund-Service nicht damit übereinstimmt, oder führen Sieclaude daemon statusaus einer Shell aus - Nach dem Beheben des Wertes im
env-Block der Einstellungen starten Sie den Hintergrund-Service mitclaude daemon stop --anyneu, damit der nächste Dispatch einen umschlossenen startet
EUNKNOWN beim Starten einer Hintergrund-Sitzung
Windows lehnte ab, ein Programm zu starten, mit einem Fehlercode, der keinen Standardnamen hat, daher wird der Fehler als EUNKNOWN angezeigt. Der übliche Auslöser ist eine Softwarebeschränkungsrichtlinie, wie Gruppenrichtlinie oder AppLocker, die das gestartete Programm blockiert. Der Fehler erscheint, wenn Sie eine Hintergrund-Sitzung mit /background oder claude --bg starten:
Couldn't reach the background service (spawn background service: EUNKNOWN: unknown error, uv_spawn) — run 'claude daemon status'
Bei einigen Konten sagt die Meldung daemon anstelle von background service.
Bei einer npm-Installation hat ein EUNKNOWN, das erscheint, während npm install -g @anthropic-ai/claude-code die Binärdatei ersetzt, die gleiche Ursache wie EACCES während einer Neuinstallation und verschwindet, wenn Sie es nach Abschluss der Installation erneut versuchen.
Claude Code startet den Hintergrund-Service über PowerShell, damit der Service das Schließen des Terminals überlebt, wobei PowerShell 7 verwendet wird, wenn es installiert ist, und ansonsten Windows PowerShell 5.1. Wenn keine der beiden PowerShell-Versionen laufen kann, startet Claude Code den Service stattdessen direkt, daher verursacht eine Richtlinie, die nur PowerShell blockiert, diesen Fehler nicht.
Vor v2.1.212 verwendete Claude Code nur Windows PowerShell 5.1, um den Service zu starten, daher schlug jede Maschine, auf der Gruppenrichtlinie PowerShell 5.1 blockierte, mit Couldn't start the session — EUNKNOWN: unknown error, uv_spawn fehl, selbst wenn PowerShell 7 installiert war.
Was zu tun ist:
- Wenn die Meldung
Couldn't start the sessionlautet, aktualisieren Sie auf v2.1.212 oder später. Auf früheren Versionen können Sie auch zuerstclaude daemon runin einem separaten Terminal ausführen und dann die Hintergrund-Sitzung erneut starten. Dieser Befehl führt den Hintergrund-Service im Vordergrund des Terminals aus, daher läuft der Service nur so lange, wie dieses Terminal offen bleibt. - Wenn eine npm-Installation die Binärdatei ersetzt hat, warten Sie, bis sie fertig ist, dann starten Sie die Hintergrund-Sitzung erneut
- Wenn der Fehler auf v2.1.212 oder später erscheint, während keine npm-Installation läuft, klären Sie mit Ihrem Windows-Administrator, ob eine Beschränkungsrichtlinie die Claude Code-Ausführungsdatei blockiert
- Wenn der Hintergrund-Service stoppt, wenn Sie das Terminal schließen, hat Claude Code ihn ohne PowerShell gestartet. Installieren Sie PowerShell 7, oder bitten Sie Ihren Administrator, PowerShell freizugeben, damit der Service das Terminal überleben kann.
EACCES beim Starten einer Hintergrund-Sitzung
Claude Code konnte seine eigene Binärdatei nicht ausführen, um den Hintergrund-Service zu starten, der Hintergrund-Sitzungen hostet. Bei einer npm-Installation bedeutet dies normalerweise, dass npm install -g @anthropic-ai/claude-code die Binärdatei zu diesem Zeitpunkt ersetzte, ob Sie es ausgeführt haben oder der Auto-Updater. Der Fehler erscheint, wenn Sie eine Sitzung aus der Agent-Ansicht öffnen:
Couldn't start the background service — spawn background service: EACCES: permission denied, posix_spawn '/usr/local/lib/node_modules/@anthropic-ai/claude-code/bin/claude'
Wenn Sie eine Sitzung mit /background oder claude --bg starten, erscheint der gleiche Grund innerhalb von Couldn't reach the background service (...). Während desselben Neuinstallationsfensters kann der Fehler stattdessen einen anderen Code benennen, wie ENOENT oder ENOEXEC, oder EUNKNOWN oder EPERM unter Windows; ein EUNKNOWN, das über Wiederholungsversuche hinweg anhält, hat eine andere Ursache.
Bei einer npm-Installation wartet Claude Code, bis die Neuinstallation abgeschlossen ist, und versucht es automatisch erneut: bis zu zehn Sekunden, und bis zu zwei Minuten, während eine npm-Installation von Claude Code auf der Maschine sichtbar noch läuft, was einen anderen Claude Code-Prozess abdeckt, der ein Update herunterlädt. Wenn die Installation länger als diese Wartezeit dauert, benennt der Fehler das Update anstelle des bloßen Fehlercodes:
Claude Code is being updated by npm on this machine (still not runnable after 2 min, EACCES) — try again when the update finishes
Vor v2.1.257 endete die Wartezeit in jedem Fall nach zehn Sekunden, daher erschien dieser Fehler, während ein anderer Claude Code-Prozess noch ein Update herunterlud. Vor v2.1.246 schlug Claude Code sofort fehl, ohne zu warten.
Was zu tun ist:
- Warten Sie ein paar Sekunden, dann öffnen Sie die Sitzung oder entsenden Sie erneut. Wenn die Meldung sagt, dass Claude Code aktualisiert wird, versuchen Sie es erneut, nachdem das Update fertig ist.
- Wenn der Fehler anhält, während keine npm-Installation läuft, kann Ihr Benutzer die installierte Binärdatei nicht ausführen. Überprüfen Sie ihre Berechtigungen und die ihres Verzeichnisses, oder installieren Sie Claude Code neu.
Hintergrund-Service beendet, bevor er erreichbar wurde
Der Prozess, den Claude Code als Hintergrund-Service startete, hat sich beendet, bevor er Verbindungen akzeptierte, daher konnte Claude Code Ihre Sitzung nicht öffnen. Wenn der Service vor dem Beenden einen Fehler ausgegeben hat, gibt der Grund in Klammern den Exit-Code oder das Signal und die erste Zeile an, die der Service ausgegeben hat, die benennt, was ihn gestoppt hat:
Couldn't reach the background service (background service exited before it became reachable (exit code N): <the service's first error line>) — run 'claude daemon status'
Wenn Sie eine Sitzung aus der Agent-Ansicht öffnen, folgt der gleiche Grund auf Couldn't start the background service —. Wenn der Service vor dem Beenden nichts ausgegeben hat, sagt die Meldung stattdessen nothing on stderr.
Claude Code meldet den Fehler mit der Fehlerzeile des Service. Vor v2.1.246 wurde der Fehler erst nach einer Wartezeit von 45 Sekunden angezeigt, als background service did not become reachable within 45s, ohne die Fehlerzeile des Service.
Zwei zitierte Gründe haben bekannte Ursachen:
Error: claude native binary not installed.: Eine npm-Installation ersetzte die Claude Code-Binärdatei zu diesem Zeitpunkt, daher führte der Service stattdessen den Platzhalter von npm aus. Versuchen Sie es erneut, nachdem die Installation fertig ist; wenn die Zeile anhält, ohne dass eine Installation läuft, schließen Sie die npm-Installation ab. Vor v2.1.257 verursachte eine npm-Selbstaktualisierung unter macOS diesen Fehler bei jedem Start während des Installationsfensters.nothing on stderrmit Exit-Code 1, bei jedem Start, unter Windows:daemon.lockbenennt einen Prozess, den Claude Code weder signalisieren noch als beendet nachweisen kann, daher schließt jeder neue Service, dass ein anderer die Sperre hält, und beendet sich. Eine Sperre, deren Schreiber Claude Code als beendet nachweisen kann, wird von selbst ersetzt und verursacht diesen Fehler nicht. Wenn der Fehler bei jedem Start wiederholt auftritt, löschen Sie~/.claude/daemon.lock, dann öffnen Sie die Sitzung oder entsenden Sie erneut. Vor v2.1.257 blockierte eine solche Sperre jeden Start, bis Sie die Datei löschten.
Was zu tun ist:
- Wenn die Meldung eine Zeile zitiert, beheben Sie, was sie benennt, dann öffnen Sie die Sitzung oder entsenden Sie erneut. Der nächste Versuch startet den Service erneut
- Führen Sie
claude daemon statusaus, um zu überprüfen, ob jetzt ein Service läuft
Arbeitsverzeichnis existiert nicht mehr beim Starten einer Hintergrund-Sitzung
Das Verzeichnis, in dem Sie eine Hintergrund-Sitzung gestartet haben, wurde entfernt, während die Sitzung startete. Claude Code startet die Sitzung nicht, und die Meldung nennt das fehlende Verzeichnis:
Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)
Vor v2.1.257 schien die Sitzung zu starten und erschien dann in der Agent-Ansicht als fehlgeschlagene Zeile mit dem gleichen Grund.
Vor v2.1.281 erschien diese Meldung auch, wenn das Verzeichnis bereits weg war, bevor Sie die Sitzung gestartet haben. Dieser Fall meldet could not be resolved on disk.
Was zu tun ist:
- Erstellen Sie das Verzeichnis neu, das die Meldung nennt, oder entsenden Sie aus einem Verzeichnis, das existiert, dann versuchen Sie es erneut
Workspace nicht vertraut beim Entsenden einer Hintergrund-Sitzung
Sie haben eine Hintergrund-Sitzung in einem Verzeichnis gestartet oder neu gestartet, dem Sie nicht vertraut haben, und der Workspace-Vertrauensdialog konnte nicht erscheinen, um Sie zu fragen. Claude Code startet die Sitzung nicht:
Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.
Aus einem Terminal im eigenen Verzeichnis der Sitzung zeigt derselbe Befehl stattdessen den Vertrauensdialog und startet die Sitzung, sobald Sie akzeptieren. Diese Meldung erscheint dort, wo kein Dialog erscheinen kann, etwa in einem Skript, oder wenn Sie eine Sitzung aus einem anderen Verzeichnis als ihrem eigenen neu starten.
Zwei Varianten nennen eine andere Ursache:
The home directory is trusted one session at a time: Das Verzeichnis der Sitzung ist Ihr Home-Verzeichnis. Claude Code speichert niemals Vertrauen für das Home-Verzeichnis, daher zählt das Akzeptieren des Dialogs dort in einer früheren Sitzung nicht.<path> could not be resolved on disk: Claude Code konnte das Verzeichnis der Sitzung auf der Festplatte nicht finden.
Vor v2.1.286 konnte diese Meldung unter Windows auch in einem Verzeichnis erscheinen, dem Sie bereits vertraut hatten, wenn dessen Vertrauenseintrag mit dem Pfad in anderer Groß-/Kleinschreibung gespeichert war. Aktualisieren Sie auf v2.1.286 oder später.
Was zu tun ist:
- Führen Sie
claudeim Verzeichnis aus, das die Meldung nennt, und akzeptieren Sie den Vertrauensdialog, dann führen Sie den Befehl erneut aus - Für die Home-Verzeichnis-Meldung führen Sie den Befehl aus einem Terminal in Ihrem Home-Verzeichnis aus, damit der Dialog erscheinen kann, oder starten Sie die Sitzung stattdessen aus einem Projektverzeichnis
- Für die
could not be resolved on disk-Meldung erstellen Sie das Verzeichnis neu, oder starten Sie eine neue Sitzung aus einem Verzeichnis, das existiert
Fehler bei Wrapper und IDE
Diese Fehler stammen von dem Programm, das Claude Code für Sie gestartet hat, z. B. eine IDE-Erweiterung oder eine Agent SDK-Anwendung, und nicht von Claude Code selbst.
Claude Code-Prozess mit Code N beendet
Der zugrunde liegende claude-Prozess wurde mit einem Nicht-Null-Code beendet. Der Exit-Code allein sagt nicht, was fehlgeschlagen ist: Der eigentliche Fehler befindet sich in der eigenen Ausgabe des Prozesses, die der Wrapper anfügt, wenn er etwas erfasst hat, und ansonsten in seinen Protokollen behält.
Error: Claude Code process exited with code 1
Unter Windows kann der native Build mit Code 4294967295 direkt nach Abschluss eines Durchlaufs beendet werden. Wenn dieser Exit an einer Durchlauf-Grenze landet, ohne dass eine Nachricht wartet und keine Hintergrundaufgabe ausgeführt wird, schließt die VS Code-Erweiterung die Sitzung stillschweigend, anstatt diesen Fehler anzuzeigen. Ihre nächste Nachricht setzt das Gespräch fort.
Vor v2.1.273 zeigte die Erweiterung den Fehler für diesen Exit bei jeder Durchlauf-Grenze an, obwohl nichts verloren ging.
Was zu tun ist:
- In VS Code folgen Sie dem Link Ausgabeprotokolle anzeigen, der mit dem Fehler angezeigt wird, um den zugrunde liegenden Fehler zu sehen
- In einer Agent SDK-Anwendung fangen Sie den Fehler um Ihre Nachrichtenschleife ab. Die Einträge unter CLI-Prozess-Exit behandeln, was Ihr Code in jeder SDK-Sprache erhält.
- Führen Sie
claudein einem Terminal im selben Projekt aus. Der Fehler wird dort normalerweise mit seiner echten Fehlermeldung reproduziert, die Sie dann auf dieser Seite nachschlagen können. - Führen Sie
claude doctorin einem Terminal aus, um die Installation und Konfiguration zu überprüfen
Claude CLI auf PATH nicht gefunden
Die VS Code-Erweiterung zeigt diesen Fehler unter Windows an, wenn Sie Claude Code im integrierten Terminal öffnen, die Shell des Terminals PowerShell ist und die Erweiterung die installierte claude-Ausführungsdatei auf PATH nicht finden kann. Die Erweiterung weigert sich, Claude Code zu starten, bis sie die installierte claude auf PATH findet.
Failed to run Claude Code: Error: Could not locate the Claude CLI on PATH. Launching by name in a PowerShell terminal would run a 'claude' from the open folder instead of the installed CLI, so the launch was blocked. Make sure the Claude CLI's install directory is on your system PATH (not only your PowerShell profile), then restart VS Code and try again. VS Code reads PATH when it starts, so PATH changes take effect only after a restart.
Was zu tun ist:
- Öffnen Sie ein neues PowerShell-Fenster außerhalb von VS Code und führen Sie
where.exe claudeaus. Wenn es keinen Pfad ausgibt, befindet sich die CLI nicht auf Ihrem PATH: Fügen Sie sein Installationsverzeichnis hinzu, indem Sie Überprüfen Sie Ihren PATH befolgen. Wenn es einen Pfad ausgibt, stammt der Eintrag aus Ihrem PowerShell-Profil oder aus einer PATH-Änderung, die VS Code noch nicht aufgegriffen hat; die nächsten zwei Schritte behandeln diese Fälle. - Legen Sie den PATH-Eintrag als Benutzer- oder Systemumgebungsvariable fest, nicht in Ihrem PowerShell-Profil. Die Erweiterung führt Ihr Profil nicht aus, daher erreicht eine PATH-Bearbeitung, die nur dort vorhanden ist, sie nie.
- Starten Sie VS Code nach dem Ändern von PATH neu. Die Erweiterung überprüft den PATH, den VS Code beim Start erfasst hat, daher wird eine PATH-Änderung erst nach einem Neustart wirksam.
Die Verbindung zu Claude Code wurde beendet, bevor diese Nachricht abgeschlossen wurde
Die VS Code-Erweiterung hat Ihre Nachricht an den claude-Prozess gesendet, und die Verbindung wurde ohne Fehler beendet, bevor der Prozess sie bestätigt oder abgeschlossen hat. Die Erweiterung kann nicht feststellen, ob die Nachricht verarbeitet wurde, daher fordert sie Sie auf, sie erneut zu senden:
The connection to Claude Code ended before this message completed — it may not have been processed, so please send it again.
Was zu tun ist:
- Senden Sie die Nachricht erneut. Die nächste Nachricht startet einen neuen
claude-Prozess, der das Gespräch fortsetzt. - Wenn es sich wiederholt, führen Sie
claudein einem Terminal im selben Projekt aus. Ein Fehler, der den Prozess immer wieder beendet, wird dort normalerweise mit seiner echten Fehlermeldung reproduziert.
Rewind-Warnungen und Fehler
Diese Meldungen stammen von einer /rewind Code-Wiederherstellung. Restored the code, but skipped N files ist eine Warnung, dass Claude Code einige Pfade übersprungen hat. No files were restored ist ein Fehler, der bedeutet, dass nichts wiederhergestellt wurde.
Restored the code, but skipped files
Eine /rewind Code-Wiederherstellung hat einen oder mehrere überwachte Pfade übersprungen, anstatt sie zu schreiben oder zu löschen. Claude Code überspringt einen Pfad, wenn:
- er ist oder wurde ein Symlink, Hard Link oder eine andere nicht-reguläre Datei
- sein Verzeichnis sich seit dem Checkpoint geändert hat
- seine Sicherung nicht sicher gelesen werden kann
Übersprungene Pfade behalten ihren aktuellen Inhalt. Vor v2.1.216 schrieb und löschte /rewind durch Links bei überwachten Pfaden und meldete keine teilweise Wiederherstellung.
Restored the code, but skipped 2 files: the tracked path is (or became) a link or other non-regular file, its directory changed since the checkpoint, or its backup could not be safely read. Skipped files were left untouched — run with --debug for the paths.
Was zu tun ist:
- Identifizieren Sie, welche Dateien übersprungen wurden, damit Sie jede mit den folgenden Schritten behandeln können. Die Meldung gibt nur eine Anzahl an; das Debug-Protokoll unter
~/.claude/debug/<session-id>.txtnennt jeden übersprungenen Pfad während der Wiederherstellung, also aktivieren Sie Debug-Protokollierung mit/debugvor Ihrer nächsten Wiederherstellung. Unter macOS oder Linux können Sie die Links stattdessen direkt finden:find . -type lfür Symlinks undfind . -type f -links +1für Hard-linked-Dateien. - Wenn eine übersprungene Datei ein Link ist, den Sie absichtlich erstellt haben, z. B. eine Konfigurationsdatei, die von einem Dotfile-Manager verwaltet wird, oder eine Datei, die von Tools wie pnpm Hard-linked ist, hat der Rewind ihren Inhalt allein gelassen. Um die Änderungen der Sitzung rückgängig zu machen, bitten Sie Claude, die Bearbeitung rückgängig zu machen oder bearbeiten Sie die Datei selbst
- Wenn Sie den Link nicht erstellt haben, überprüfen Sie den Pfad, bevor Sie seinem Inhalt vertrauen
No files were restored
Claude Code zeigt diese Meldung an, wenn Sie Code mit /rewind wiederherstellen und keine der Dateien in diesem Checkpoint wiederherstellen kann. Für jede Datei fehlt entweder die Sicherung, die Claude Code vor der Bearbeitung gespeichert hat, oder Claude Code konnte die Datei nicht schreiben oder löschen.
Failed to restore the code:
No files were restored: 1 file failed (backup missing, or the file could not be updated)
Claude Code löscht die Sicherungen einer Sitzung beim Aufräumen, standardmäßig etwa 30 Tage, nachdem die Sitzung eine zuletzt gespeichert hat. Wenn Sie eine Sitzung danach fortsetzen, listet /rewind ihre Checkpoints immer noch auf, aber das Zurückspulen zu einem von ihnen kann mit diesem Fehler fehlschlagen. Wenn die Meldung auch N paths were skipped for link safety sagt, siehe Restored the code, but skipped files für diese Pfade.
Wenn Sie eine Sitzung verzweigen, z. B. mit --fork-session oder /branch, kopiert Claude Code die Sicherungen der ursprünglichen Sitzung in die Verzweigung. Wenn Claude Code eine Sicherung nicht kopieren kann, z. B. weil der Speicherplatz voll ist, fehlt diese Sicherung in der Verzweigung. Das Zurückspulen zu einem Checkpoint, der sie benötigt, kann mit diesem Fehler fehlschlagen.
Was zu tun ist:
- Machen Sie die Änderungen auf andere Weise rückgängig: Bitten Sie Claude, seine Bearbeitungen rückgängig zu machen, oder stellen Sie die Dateien aus der Versionskontrolle wieder her. Wenn die Sicherungen weg sind, schlägt das erneute Ausführen von
/rewindauf die gleiche Weise fehl. - Wenn Claude Code eine Datei nicht schreiben oder löschen konnte, beheben Sie das, was den Schreibvorgang blockiert, z. B. Dateiberechtigungen, und führen Sie dann
/rewinderneut aus. - Um Sicherungen in zukünftigen Sitzungen länger zu behalten, erhöhen Sie
cleanupPeriodDays.
Vor v2.1.260 übersprangen Claude Code stillschweigend Dateien, deren Sicherungen fehlten, und die Wiederherstellung schien erfolgreich zu sein.
Warnungen zum Speichern von Sitzungen
Claude Code zeigt diese Warnungen auf einer persistenten Zeile unter dem Eingabefeld an, wenn die Sitzungstranskription nicht gespeichert wird. Die Sitzung funktioniert in beiden Fällen weiter; die Warnungen teilen Ihnen mit, dass die Sitzung möglicherweise später bei --resume fehlt.
Transkriptschreibvorgänge schlagen fehl
Claude Code speichert das Transkript während der Arbeit auf der Festplatte, und die Schreibvorgänge in die Transkriptdatei schlagen fehl. Die Meldung benennt die Ursache mit dem zugrunde liegenden Fehlercode, beispielsweise eine volle Festplatte:
Transcript writes are failing (disk full — ENOSPC) · recent messages may not be saved for resume
Die Warnung wird je nach Fehler an verschiedenen Stellen angezeigt:
- Beim ersten Fehler für Bedingungen, die sich nicht von selbst beheben: eine volle Festplatte, ein überschrittenes Festplattenkontingent, ein schreibgeschütztes Dateisystem, ein Pfad, der die Längenbeschränkung des Dateisystems überschreitet, oder auf macOS und Linux ein Berechtigungsfehler
- Nach wiederholten Fehlern, die sich über mindestens eine Minute erstrecken, für alles andere, einschließlich Berechtigungsfehlern unter Windows, bei denen ein Antivirenscan einen einzelnen Schreibvorgang fehlschlagen lassen kann, der dann beim erneuten Versuch erfolgreich ist
Vor v2.1.217 verwarf Claude Code die fehlgeschlagenen Schreibvorgänge ohne Warnung, und ein späteres --resume mit fehlenden aktuellen Meldungen war das erste Zeichen.
Was zu tun ist:
- Beheben Sie die Bedingung, die der Fehlercode benennt: Geben Sie Festplattenspeicher für
ENOSPCfrei; erhöhen oder löschen Sie das Kontingent fürEDQUOT; stellen Sie Schreibzugriff auf den Transkriptspeicherort fürEACCES,EPERModerEROFSwieder her - Die Warnung wird beim nächsten erfolgreichen Schreibvorgang automatisch gelöscht; kein Neustart ist erforderlich
- Meldungen, die während der Anzeige der Warnung gesendet wurden, können später beim Fortsetzen der Sitzung immer noch fehlen
Transkriptspeicherung ist deaktiviert, da CLAUDE\_CODE\_SKIP\_PROMPT\_HISTORY gesetzt ist
Diese Sitzung wurde mit CLAUDE_CODE_SKIP_PROMPT_HISTORY gestartet, daher schreibt Claude Code keine Transkription oder Eingabeaufforderungsverlauf dafür:
Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set · --resume will not find this session; if unintended, unset it and restart
Die Variable ist ein absichtliches Opt-out für kurzlebige Skriptsitzungen, kann aber auch eine Sitzung durch ein Shell-Profil, ein Wrapper-Skript oder einen übergeordneten Prozess erreichen, der sie exportiert hat.
Was zu tun ist:
- Wenn Sie die Variable absichtlich gesetzt haben, ist keine Aktion erforderlich; die Benachrichtigung bestätigt, dass die Sitzung nicht in
--resume,--continueoder im Aufwärts-Pfeil-Verlauf angezeigt wird - Wenn nicht, entfernen Sie die Variable aus der Shell oder dem Skript, das
claudestartet, und starten Sie dann eine neue Sitzung. Meldungen aus der aktuellen Sitzung werden nicht rückwirkend gespeichert.
Transkriptspeicherung ist deaktiviert, da ein vererbter CLAUDE\_CODE\_CHILD\_SESSION-Marker vorhanden ist
Claude Code setzt CLAUDE_CODE_CHILD_SESSION in den Unterprozessen, die es startet, und behandelt eine interaktive Sitzung, die ihn erbt, als verschachtelt: Claude Code speichert keine Transkription dafür, daher füllen Sitzungen, die Claude selbst startet, nicht Ihre --resume-Liste. Diese Benachrichtigung bedeutet, dass Ihre aktuelle Sitzung den Marker geerbt hat:
Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker · restart with CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1 to keep future transcripts
Die Benachrichtigung ist zu erwarten, wenn Sie claude von innen aus einer anderen Claude Code-Sitzung ausgeführt haben; sie signalisiert eine Fehlklassifizierung, wenn der Marker durch einen langlebigen Vermittler durchgesickert ist, beispielsweise ein Terminal, eine screen-Sitzung oder ein Launcher, den eine Claude Code-Sitzung ursprünglich gestartet hat.
Innerhalb von tmux erkennt Claude Code einen Marker, der durch die globale Umgebung des tmux-Servers angekommen ist, und setzt das Speichern fort, daher wird diese Benachrichtigung für diesen Fall nicht angezeigt.
Was zu tun ist:
- Wenn Sie diese Sitzung absichtlich von innen aus einer anderen Claude Code-Sitzung gestartet haben, ist keine Aktion erforderlich
- Wenn dies eine Sitzung auf oberster Ebene ist, beenden Sie sie und starten Sie sie mit
CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1neu. Das Speichern wird ab dem Neustart angewendet, daher werden Meldungen, die davor gesendet wurden, nicht gespeichert. - Um zukünftige Starts vom selben Terminal oder Launcher zu beheben, entfernen Sie
CLAUDE_CODE_CHILD_SESSIONaus seiner Umgebung
Konfigurationswarnungen
Claude Code schreibt die meisten dieser Meldungen auf stderr, nicht in die Konversation, und schreibt die meisten beim Start. Ein Eintrag gibt an, wenn seine Meldung an anderer Stelle erscheint, z. B. im Debug-Protokoll oder als Startnachricht in der Konversationsansicht, oder zu einem anderen Zeitpunkt, z. B. die Zeile zur Diagnose nicht erkannter Modelle zur Anfragezeitpunkt.
Claude Code wurde nach einem nicht behebbaren Schnittstellenfehler beendet
Claude Code gibt diese Meldung aus, wenn es beendet wird, weil seine Terminalschnittstelle auf einen Fehler stößt, von dem sie sich nicht erholen kann, in beiden Renderern. Der zweite Satz erscheint nur, wenn der Fehler aufgetreten ist, während der Fullscreen-Renderer gestartet wurde:
Claude Code exited after an unrecoverable interface error (<error>). It happened while the fullscreen renderer was starting, so the next launch will use the classic renderer (CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 forces that any time).
Was zu tun ist:
- Starten Sie Claude Code erneut. Um die Konversation fortzusetzen, führen Sie
claude --resumeim selben Verzeichnis aus. - Wenn die Meldung den Fullscreen-Renderer benennt, sagt Fullscreen-Rendering, was der nächste Start tut, was davon abhängt, wie Sie Fullscreen aktiviert haben, und wie Sie Fullscreen erneut versuchen oder den klassischen Renderer beibehalten können.
Vor v2.1.236 wurde Claude Code nach dieser Art von Fehler ohne Meldung beendet.
Agent-Beschreibungen überschreiten das Limit von 15.000 Token
Claude Code zeigt diese Warnung als Startnachricht in der Konversationsansicht statt auf stderr an. Die kombinierten Beschreibungen Ihrer Subagenten, außer den integrierten, überschreiten 15.000 Token, wie Claude Code sie schätzt. Jeder Agent zählt seinen Namen plus sein description-Frontmatter. Claude Code lädt jeden Agent, unabhängig davon, ob die Gesamtzahl das Limit überschreitet, daher ändert die Warnung nicht, was geladen wird.
Agent descriptions are over the 15.0k-token limit (~16.2k tokens) · ask Claude to trim agent descriptions in .claude/agents/
Was zu tun ist:
- Kürzen Sie das
description-Frontmatter Ihrer Agent-Dateien, oder bitten Sie Claude, diese für Sie zu kürzen. - Entfernen Sie Agent-Dateien, die Sie nicht mehr verwenden.
Eine Fähigkeit, ein Befehl oder ein Workflow wurde nicht geladen, weil sein Name reserviert ist
Ein Fähigkeitsordner, ein Frontmatter name, eine Datei oder ein Unterordner in .claude/commands/ oder ein gespeicherter Workflow verwendet den Namen anthropic-skills oder einen Namen, der mit anthropic-skills: beginnt. Claude Code reserviert diesen Namen für Fähigkeiten, die von claude.ai synchronisiert werden und lädt diesen Artikel nicht.
Claude Code zeigt diese Warnung als Startnachricht in der Konversationsansicht statt auf stderr an:
Not loaded: rename .claude/skills/anthropic-skills, then restart — its name uses "anthropic-skills", a name reserved for the skills synced from your claude.ai account
Die Meldung benennt, was für den ersten Artikel geändert werden soll, den sie abgelehnt hat: einen Ordner oder eine Datei zum Umbenennen, eine name:-Zeile zum Bearbeiten oder einen Workflow zum Umbenennen. Wenn mehr als ein Artikel abgelehnt wurde, endet die Meldung mit einer Anzahl wie · 2 more, und das Debug-Protokoll benennt jeden.
Was zu tun ist:
- Benennen Sie den Artikel um, den die Meldung benennt, oder bearbeiten Sie die
name:-Zeile, auf die sie verweist, und starten Sie die Sitzung neu.
Vor v2.1.282 lud Claude Code Fähigkeiten und Befehle mit diesen Namen.
Arbeitsbereich wurde nicht vertraut
Claude Code fand permissions.allow-Regeln oder permissions.additionalDirectories-Einträge in der .claude/settings.json oder .claude/settings.local.json des Projekts und wendete sie nicht an, weil Allow-Regeln aus Projekteinstellungen Arbeitsbereichsvertrauen erfordern. Die Anzahl, der Einstellungsname und die in der Meldung benannte Datei variieren je nach Ihrer Konfiguration. deny- und ask-Regeln sind nicht betroffen.
Ignoring 2 permissions.allow entries from .claude/settings.local.json: this workspace has not been trusted. Run Claude Code interactively here once and accept the trust dialog, or set projects["/Users/you/project"].hasTrustDialogAccepted: true in /Users/you/.claude.json.
Was zu tun ist:
- Führen Sie
claudeim Verzeichnis aus und akzeptieren Sie den Vertrauensdialog. Projekterlaubnisregeln und Arbeitsbereichsvertrauen sagt, welcher Ordner diese Akzeptanz abdeckt. - Im nicht-interaktiven Modus mit
-pwird kein Dialog angezeigt. Legen Sie denhasTrustDialogAccepted-Eintrag in~/.claude.jsonmit dem genauenprojects-Schlüssel fest, den die Meldung ausgibt. - Wenn die Meldung
.claude/settings.local.jsonbenennt und Sie Claude Code außerhalb eines Git-Repositorys oder in Ihrem Home-Verzeichnis gestartet haben, aktualisieren Sie auf v2.1.200 oder später. Die Versionen 2.1.196 bis 2.1.199 behandelten Ihre eigene.claude/settings.local.jsonals vom Repository bereitgestellt in diesen Arbeitsbereichen. Auf v2.1.207 und später reicht eine Aktualisierung außerhalb eines Git-Repositorys nicht aus, wenn Sie den Ordner nicht vertraut haben: Die Feststellung, dass sich ein Ordner nicht in einem Repository befindet, führt Git aus, und Claude Code führt diese Überprüfung nur durch, nachdem Sie den Vertrauensdialog akzeptieren, daher verwenden Sie den ersten Schritt. Ihr Home-Verzeichnis und alle anderen Konfigurationshome sind ausgenommen und warten nicht auf den Dialog. Siehe Projekterlaubnisregeln und Arbeitsbereichsvertrauen.
Arbeitsverzeichnis ist ein Netzwerkpfad
Claude Code fügt Netzwerkpfade nicht als Arbeitsverzeichnisse hinzu. Das Nachschlagen eines Netzwerkpfads kann den Host kontaktieren, den er benennt, und unter Windows kann dieser Kontakt dem Host Ihre Anmeldedaten senden, daher lehnt Claude Code den Pfad ab, ohne ihn nachzuschlagen. Sie sehen diese Meldung, wenn Sie /add-dir mit einem solchen Pfad ausführen, oder als Warnung beim Start. Wenn es beim Start erscheint, startet Claude Code ohne dieses Verzeichnis.
\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).
Pfade, die Claude Code auf diese Weise ablehnt, umfassen:
- UNC-Freigaben wie
\\server\share - Automount-Pfade wie
/net/<host>, es sei denn, Sie haben Claude Code aus einem Verzeichnis unter dem Automount dieses Hosts gestartet - Lokale Pfade, die einen Netzwerkort über einen symbolischen Link oder eine Verknüpfung erreichen
Zugeordnete Laufwerksbuchstaben und \\wsl$-Pfade zählen nicht als Netzwerkpfade.
Was zu tun ist:
- Unter Windows ordnen Sie die Freigabe einem Laufwerksbuchstaben zu, z. B. mit
net use Z: \\server\share, und übergeben Sie das Laufwerk beim Start mitclaude --add-dir Z:\. - Unter macOS oder Linux mounten Sie die Freigabe unter einem lokalen Pfad und fügen Sie stattdessen diesen Pfad hinzu.
- Wenn sich der Pfad in
permissions.additionalDirectoriesbefindet, entfernen Sie ihn aus der Einstellungsdatei, die ihn auflistet.
Vor v2.1.257 akzeptierte Claude Code einen erreichbaren Netzwerkpfad als Arbeitsverzeichnis.
Remote verwaltete Einstellungen konnten nicht geladen werden
Ihre Sitzung ist berechtigt für servergesteuerte Einstellungen, aber Claude Code konnte sie nicht abrufen oder konnte nicht anwenden, was der Server zurückgegeben hat, daher zeigt es diese Warnung in interaktiven Sitzungen an.
Die eingeklammerte Ursache benennt, was fehlgeschlagen ist, z. B. network error, request timed out oder authentication rejected (401). Die Ursache no setting in the server response could be applied as written bedeutet, dass der Server geantwortet hat, aber keine der Einstellungen, die er zurückgegeben hat, die Validierung bestanden hat. Vor v2.1.282 lautete diese Ursache server returned invalid settings.
Der Rest der Zeile sagt, welche Richtlinie die Sitzung ausführt:
- Einstellungen aus einem früheren erfolgreichen Abruf zwischengespeichert: Claude Code führt die Sitzung auf dieser zwischengespeicherten Richtlinie aus, außer den zurückhaltenen Umgebungsvariablen, und die Zeile liest
using cached policy. - Kein Cache: Claude Code führt die Sitzung ohne servergesteuerte Einstellungen aus, und die Zeile liest
no remote policy applied.
Was zu tun ist:
- Handeln Sie nach der Ursache, die die Meldung benennt: Überprüfen Sie für eine Netzwerkursache, dass dieser Computer
api.anthropic.comerreichen kann; für eine Authentifizierungsursache überprüfen Sie Ihre Anmeldung mit/status - Für
no setting in the server response could be applied as writtenbitten Sie Ihren Administrator, die Einstellungen auf dem Server zu korrigieren - Führen Sie
/statusoderclaude doctoraus, um die vollständige Diagnose zu erhalten
Vor v2.1.248 meldete Claude Code einen fehlgeschlagenen Einstellungsabruf nur im Debug-Protokoll.
Verwaltete Einstellungen wurden nicht genehmigt
Die servergesteuerten Einstellungen Ihrer Organisation enthalten Einstellungen, die Ihre Genehmigung benötigen, und Sie haben den Sicherheitsgenehmigungsdialog abgelehnt, daher wird Claude Code beendet, ohne sie anzuwenden:
Managed settings were not approved; exiting without applying them.
Was zu tun ist:
- Starten Sie Claude Code erneut und genehmigen Sie den Dialog, um unter den Einstellungen Ihrer Organisation fortzufahren. Ein abgelehnter Dialog wird nicht gespeichert, daher erscheint er beim nächsten Start erneut.
- Wenn Sie sich über eine Einstellung unsicher sind, die der Dialog auflistet, fragen Sie denjenigen, der die verwalteten Einstellungen Ihrer Organisation verwaltet, bevor Sie genehmigen
Verwaltete Einstellungen blockieren das Standardmodell
Die verwalteten Einstellungen Ihrer Organisation blockieren das Modell, zu dem die Standardoption aufgelöst wird, und jedes Modell, zu dem es herabgestuft werden könnte. Eine Sitzung, die auf der Standardoption starten würde, wird stattdessen beim Start beendet, anstatt ein blockiertes Modell auszuführen. Welche Meldung Sie sehen, hängt von der Einstellung ab, die es blockiert. Wenn eine deniedModels-Liste es blockiert, lautet die Meldung:
Claude Code can't start: your organization's managed settings block the default model (claude-opus-5-5) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".
Wenn eine availableModels-Liste mit availableModelsMatch auf "exact" gesetzt es auslässt, lautet die Meldung:
Claude Code can't start: your organization allows only the models listed in "availableModels", and none of them can be used as the default model (claude-opus-5-5 isn't listed). Ask your administrator to update "availableModels".
Was zu tun ist:
- Wenn Sie die Einstellungen verwalten, fügen Sie ein Modell, das Ihre Benutzer ausführen können, zu
availableModelshinzu, oder grenzen Sie diedeniedModels-Einträge ein, die jeden Fallback blockieren. Blockieren Sie bestimmte Modelle oder Versionen beschreibt, wie die Standardoption herabgestuft wird - Wenn Sie sie nicht verwalten, senden Sie die Meldung an Ihren Administrator. Ihre eigenen Einstellungsdateien können eine verwaltete
availableModels- oderdeniedModels-Liste nicht verbreitern
Verwaltete Einstellungen erlauben diesen API-Anbieter nicht
Die verwalteten Einstellungen Ihrer Organisation setzen eine allowedProviders-Liste, und der API-Anbieter der Sitzung ist nicht darauf oder die Sitzung verwendet einen Endpunkt, der nicht auf die Weise angeheftet ist, die dieser Eintrag erfordert. Claude Code weigert sich beim Start, vor einer Anmeldung oder wenn die Sitzung das nächste Mal die API kontaktiert. Die Meldung beginnt mit den zulässigen Anbietern:
Your organization's managed settings allow Claude Code to use: Anthropic API, Amazon Bedrock.
Wenn die Liste leer ist, lautet die Meldung stattdessen:
Your organization's managed settings allow Claude Code to use no API provider at all (allowedProviders is an empty list), so it cannot start on this machine.
Wenn jeder Eintrag nicht erkannt wird, lautet die Klammer stattdessen (allowedProviders lists only unrecognized entries).
Was zu tun ist:
- Folgen Sie den
To continue:-Schritten der Meldung - Wenn Sie die Einstellungen verwalten, benennen die Zeilen der Meldung, die mit
Admins:beginnen, den Eintrag zum Hinzufügen oder den Wert zum Anheften, und derallowedProviders-Eintrag sagt, welcher Blockenvdes Quellcodes es anheften kann
MCP-Server wird durch Unternehmensrichtlinie blockiert
Sie haben Reconnect auf einem Server in /mcp ausgewählt oder einen deaktivierten Server dort wieder aktiviert, und eine Einstellung, die MCP-Server einschränkt, blockiert diesen Server. Claude Code weigert sich, ihn zu verbinden, und zeigt:
MCP server <name> is blocked by enterprise managed policy
Jede dieser Einstellungen kann die Meldung erzeugen:
- Ein
deniedMcpServers-Eintrag, der dem Server entspricht, einschließlich eines in Ihrer eigenen~/.claude/settings.jsonoder der.claude/settings.jsondes Projekts - Eine
allowedMcpServers-Liste, der der Server nicht entspricht strictPluginOnlyCustomizationmitmcpgesperrt, das Server blockiert, die in~/.claude.jsonund.mcp.jsonkonfiguriert sinddisableClaudeAiConnectors, wenn der Server ein claude.ai-Connector ist
Was zu tun ist:
- Überprüfen Sie Ihre eigenen Benutzer- und Projekteinstellungsdateien auf eine dieser Einstellungen und ändern oder entfernen Sie sie
- Wenn keine Ihrer eigenen Einstellungen die Blockade erklärt, fragen Sie Ihren Administrator, welche verwaltete Einstellung den Server blockiert
Vor v2.1.257 konnten Reconnect und Reaktivierung in /mcp einen Server verbinden, den eine Richtlinienaktualisierung während der Sitzung blockierte.
Verwaltetes Einstellungsdokument konnte nicht analysiert werden
Ihre Organisation stellt verwaltete Einstellungen bereit, und eines der bereitgestellten Dokumente ist vorhanden, kann aber nicht als JSON-Objekt analysiert werden, daher wird Claude Code beim Start mit Code 1 beendet, anstatt ohne die Richtlinie ausgeführt zu werden, die das Dokument trägt. Die Zeile benennt die fehlgeschlagene Quelle vor der Meldung:
/Library/Application Support/ClaudeCode/managed-settings.json: Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.
Die Quelle ist eine der folgenden:
- Der Pfad der
managed-settings.json-Datei oder eine Drop-in-Datei untermanaged-settings.d - Das macOS-Verwaltungseinstellungsprofil,
per-user managed preferencesoderdevice-level managed preferences - Der Windows-Registrierungswert,
Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings
Einträge suchen, die Claude Code gelöscht hat listet auf, was jede Quelle nicht analysierbar macht.
Claude Code weigert sich zu starten, auch wenn eine andere Admin-Quelle eine gültige Richtlinie liefert. Sie sehen diesen Fehler in interaktiven Sitzungen, claude -p, Agent SDK-Sitzungen, Hintergrundsitzungen und den meisten Unterbefehlen, einschließlich claude doctor. Die Weigerung schließt absichtlich: Einstellungen in einem Dokument, das Claude Code nicht analysieren kann, können nicht erzwungen werden, und das Starten würde Sitzungen ohne die Kontrollen der Organisation ausführen.
Ein Schemaproblem in einem analysierbaren Dokument erzeugt diesen Fehler nicht. Einträge suchen, die Claude Code gelöscht hat behandelt, was Claude Code damit tut.
Wenn ein managed-settings.d/-Verzeichnis vorhanden ist, aber nicht aufgelistet werden kann, meldet Claude Code Managed settings drop-in directory could not be read: gefolgt vom zugrunde liegenden Fehler statt. Einträge suchen, die Claude Code gelöscht hat behandelt, wann ein Lesefehler beim Start beendet wird.
Was zu tun ist:
- Wenn Sie den Computer verwalten, beheben Sie das benannte Dokument, damit es als JSON-Objekt analysiert wird, oder entfernen Sie die Datei, das Profil oder den Registrierungswert. Ein leeres
managed-settings.jsonzählt als{}und blockiert den Start nicht. - Wenn nicht, bitten Sie Ihren Administrator, das bereitgestellte Dokument zu beheben. Nichts in Ihren eigenen Einstellungsdateien verursacht oder löscht diesen Fehler.
Verwaltete Einstellungen konnten nicht gelesen werden
Ihre Organisation stellt verwaltete Einstellungen bereit, und eine der bereitgestellten Quellen existiert, konnte aber nicht gelesen werden, aus einem Grund wie einem E/A-Fehler statt der Verweigerung durch das Betriebssystem. Ohne eine andere Admin-Quelle, die eine Richtlinie liefert, wird Claude Code beim Start beendet, anstatt ohne die Richtlinie ausgeführt zu werden, die die Quelle möglicherweise trägt:
Unable to read managed policy settings.
This machine may require organization login enforcement, but the policy file failed to load.
Contact your administrator.
Detail: <source>: <reason>
Im gleichen Zustand werden Anmeldungsflüsse, API-Anfragen aus einer bereits laufenden Sitzung und der claude gateway-Server mit einer Variante der ersten Zeile abgelehnt, die allowedProviders benennt.
Ein Lesezugriff, den das Betriebssystem verweigert hat, z. B. auf eine Datei, die nur root gehört, erzeugt diesen Exit nicht: die Sitzung startet ohne die Richtlinien dieser Quelle. Für eine Quelle, die nicht analysiert werden kann, wird Claude Code mit einer anderen Meldung beendet, die die Quelle benennt.
Was zu tun ist:
- Wenn Sie den Computer verwalten, beheben Sie das Problem, das die
Detail:-Zeile benennt, damit die bereitgestellte Quelle gelesen werden kann, oder entfernen Sie die Quelle - Wenn nicht, senden Sie die Meldung an Ihren Administrator. Nichts in Ihren eigenen Einstellungsdateien verursacht oder löscht diesen Fehler
Vor v2.1.285 wurden nur Sitzungen, die mit claude.ai- oder Claude Console-Anmeldedaten angemeldet waren, mit dieser Meldung beendet, und ein Lesezugriff, den das Betriebssystem verweigert hatte, erzeugte ihn auch.
otelHeadersHelper fehlgeschlagen
Claude Code zeigt diese Warnung als Benachrichtigung in der Terminalschnittstelle an, einmal pro interaktiver Sitzung, wenn das otelHeadersHelper-Skript fehlschlägt oder eine Ausgabe druckt, die nicht den Skriptanforderungen entspricht.
Während das Skript weiterhin fehlschlägt, schlagen Exporte fehl und Ihr Telemetrie-Backend empfängt nichts aus der Sitzung.
Der Text nach See /status: sagt, was fehlgeschlagen ist, z. B. der Exit-Code des Skripts gefolgt von seiner Fehlerausgabe:
otelHeadersHelper failed; telemetry is not being exported. See /status: exited 1: token service unreachable
Was zu tun ist:
- Führen Sie
/statusaus, um das Fehlerdetail zu lesen. - Beheben Sie das Skript, damit es mit 0 beendet wird, innerhalb von 30 Sekunden, und drucken Sie ein JSON-Objekt von String-Header-Werten auf stdout. Siehe Skriptanforderungen.
- Wenn Ihre Organisation das Skript durch verwaltete Einstellungen bereitstellt, bitten Sie denjenigen, der sie verwaltet, es zu beheben.
Im nicht-interaktiven Modus mit -p erscheint der gleiche Fehler auf stderr statt als otelHeadersHelper failed (OpenTelemetry export headers unavailable): <error>.
headersHelper nicht ausgeführt
Claude Code verbundene einen MCP-Server nur mit seinen statischen headers und übersprung den headersHelper des Servers, weil der Helper ein Shell-Befehl ist und der Ordner kein gespeichertes Vertrauen hat. Ein Ordner erhält gespeichertes Vertrauen, wenn Sie seinen Eintrag in ~/.claude.json von Hand setzen oder, außerhalb Ihres Home-Verzeichnisses, wenn Sie den Vertrauensdialog dafür in einer interaktiven Sitzung akzeptieren. Siehe Vertrauen Sie einem Ordner, bevor sein headersHelper ausgeführt wird, für welche Server diese Überprüfung gilt.
Claude Code schreibt diese Zeile nur im nicht-interaktiven Modus, einmal pro Server. In einer interaktiven Sitzung schreibt es stattdessen die gleiche Weigerung in das Debug-Protokoll.
MCP server 'internal-api': headersHelper not run — this workspace has no persisted trust; accept the trust dialog here once interactively, or set projects["/Users/you/project"].hasTrustDialogAccepted in /Users/you/.claude.json.
Der projects-Schlüssel, den die Meldung ausgibt, ist der Ordner, auf den Projekterlaubnisregeln und Arbeitsbereichsvertrauen sagt, dass Claude Code das Vertrauen basiert. Das Akzeptieren des Vertrauensdialogs für einen übergeordneten Ordner erfüllt die Überprüfung nicht, und eine -p- oder SDK-Sitzung erfüllt sie auch nicht.
Was zu tun ist:
- Führen Sie
claudeim Ordner aus, den die Meldung benennt, akzeptieren Sie den Vertrauensdialog, führen Sie dann Ihren-p- oder SDK-Befehl erneut aus - Legen Sie den
hasTrustDialogAccepted-Eintrag in~/.claude.jsonselbst fest, mit dem genauenprojects-Schlüssel, den die Meldung ausgibt - Wenn Sie die Sitzung in Ihrem Home-Verzeichnis gestartet haben, arbeiten Sie aus einem Projektverzeichnis, dem Sie vertraut haben. Wenn Sie den Vertrauensdialog in Ihrem Home-Verzeichnis akzeptieren, behält Claude Code dieses Vertrauen nur für die aktuelle Sitzung.
Malformed Tool(content) rule
Eine Berechtigungsregel in einer Ihrer Einstellungsdateien hat nicht die Form Tool oder Tool(content), z. B. weil Text nach der schließenden Klammer folgt oder eine der Klammern fehlt. Claude Code überspringt die Regel und listet sie im Dialog für ungültige Einstellungen auf, wenn eine interaktive Sitzung startet, und in der Ausgabe von claude doctor:
Invalid permission rule "Bash(ls) x" was skipped: Malformed Tool(content) rule. Rules take the form Tool or Tool(content) and must end at the closing ")"; parentheses inside the content are literal
Was zu tun ist:
- Schreiben Sie in der mit der Meldung aufgelisteten Einstellungsdatei die Regel so um, dass sie bei ihrer schließenden Klammer endet, z. B.
Bash(ls *)stattBash(ls) x - Lassen Sie Klammern im Inhalt wie sie sind. Sie sind literal, daher ist eine Regel wie
Edit(./Finance (2024)/**)gültig ohne Escaping
Vor v2.1.260 meldete Claude Code eine Regel mit nicht übereinstimmenden Klammern als Mismatched parentheses.
Wird nicht durch Dateiberechtigungsprüfungen abgeglichen
Claude Code fand eine Write-, NotebookEdit-, MultiEdit- oder Glob-Berechtigungsregel mit einem Pfad in einer Ihrer Einstellungsdateien, in verwalteten Einstellungen oder in einem --allowedTools-, --disallowedTools- oder --settings-Flagwert. Es überprüft Dateiberechtigungen nur gegen Edit- und Read-Regeln, daher konsultiert es niemals eine Pfadregel, die einen der anderen Dateiwerkzeuge benennt. Es behält die Regel und ändert nichts anderes; die Warnung benennt die Regel, ihre Quelle in Klammern und den Ersatz zum Schreiben:
Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).
Was zu tun ist:
- Ersetzen Sie
Write(path)-,NotebookEdit(path)- und Legacy-MultiEdit(path)-Regeln durchEdit(path).Edit-Regeln decken alle Dateieditierungswerkzeuge ab. - Außer in
--allowedTools, wo Claude Code eineGlob-Regel ohne Warnung akzeptiert, ersetzen SieGlob(path)-Regeln durchRead(path). - Beheben Sie die Regel an der Quelle, die die Warnung in Klammern benennt: ein Einstellungsdateipfad oder das Flag selbst für
--allowed-toolsund--disallowed-tools. Einclaude-settings-<hash>.json-Pfad, der nicht auf der Festplatte vorhanden ist, steht für einen Inline---settings-Wert. Beheben Sie das JSON, das Sie an dieses Flag übergeben. - Lassen Sie bloße Werkzeugnamen-Regeln wie
WriteoderGloballein. Claude Code gleicht sie auf der Werkzeugebene ab und warnt nicht davor. - Wenn die Quelle
managed policy settingsliest, leiten Sie die Warnung an denjenigen weiter, der Ihre verwalteten Einstellungen verwaltet, da Sie sie nicht selbst löschen können.
In einer Hintergrundsitzung oder mit --output-format json oder stream-json schreibt Claude Code die Warnung statt auf stderr in das Debug-Protokoll, damit die maschinenlesbare Ausgabe sauber bleibt. Führen Sie mit --debug aus, um sie unter ~/.claude/debug/<session-id>.txt zu erfassen. Vor v2.1.210 akzeptierte Claude Code diese Regeln ohne Warnung.
Hat einen Platzhalter vor dem Rest des Befehls
Claude Code fand eine Bash-Allow-Regel, deren * vor einem späteren Wort kommt, das bestimmt, welcher Befehl es ist, z. B. Bash(git * main) oder Bash(git -C * status *), in einer Ihrer Einstellungsdateien, in verwalteten Einstellungen oder in einem --allowedTools- oder --settings-Flagwert. Der * gleicht jeden Text ab, einschließlich Optionen, die an dieser Position eingefügt werden: Bash(git * main) genehmigt auch git -c core.fsmonitor=<script> diff main, wobei -c git veranlasst, ein Programm auszuführen, das der Befehl benennt. Wildcard-Muster zeigt die Abgleichsregeln.
Die Warnung existiert, damit Sie eine Regel eingrenzen können, deren Platzhalter breiter ist als beabsichtigt. Claude Code behält die Regel und ändert nichts daran, wie sie abgleicht; die Warnung benennt die Regel und ihre Quelle in Klammern:
Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).
Was zu tun ist:
- Ersetzen Sie den
*vor dem Unterbefehl durch den genauen Wert, den Sie meinen:Bash(git checkout main)stattBash(git * main). - Verschieben Sie jeden
*nach dem Unterbefehl:Bash(git status *)stattBash(git -C * status *). Schreiben Sie eine Regel pro Unterbefehl, den Sie zulassen möchten. - Beheben Sie die Regel an der Quelle, die die Warnung in Klammern benennt: ein Einstellungsdateipfad oder das
--allowed-tools-Flag selbst. Einclaude-settings-<hash>.json-Pfad, der nicht auf der Festplatte vorhanden ist, steht für einen Inline---settings-Wert. Beheben Sie das JSON, das Sie an dieses Flag übergeben. - Wenn die Quelle
managed policy settingsliest, leiten Sie die Warnung an denjenigen weiter, der Ihre verwalteten Einstellungen verwaltet, da Sie sie nicht selbst löschen können.
In einer Hintergrundsitzung oder mit --output-format json oder stream-json schreibt Claude Code die Warnung statt auf stderr in das Debug-Protokoll, damit die maschinenlesbare Ausgabe sauber bleibt. Führen Sie mit --debug aus, um sie unter ~/.claude/debug/<session-id>.txt zu erfassen. Vor v2.1.246 akzeptierte Claude Code diese Regeln ohne Warnung.
crossSessionInbound muss eines von accept, hold, refuse sein
Eine Einstellungsdatei setzt crossSessionInbound auf einen Wert, den Claude Code nicht erkennt, z. B. den Tippfehler "reject". Der zweite Satz der Warnung hängt davon ab, welche Datei den Wert hält; in einer Benutzer-, Projekt-, lokalen oder --settings-Datei liest er:
"crossSessionInbound" must be one of "accept", "hold", "refuse"; received "reject". This value was ignored; while it is present, cross-session messages are held for your approval instead of being delivered. Set it to one of the values above.
In verwalteten Einstellungen behandelt Claude Code den nicht erkannten Wert als refuse, den restriktivsten Wert, und die Warnung sagt, dass Sitzungsübergreifende Meldungen abgelehnt werden, bis ein Administrator es behebt. Wie die Hold mit Werten in Ihren anderen Einstellungsdateien kombiniert wird, siehe crossSessionInbound.
Was zu tun ist:
- Setzen Sie den Schlüssel auf
"accept","hold"oder"refuse", oder entfernen Sie ihn - Wenn die Warnung verwaltete Einstellungen benennt, bitten Sie den Administrator, den Wert zu beheben
Vor v2.1.248 ignorierte Claude Code einen nicht erkannten Wert ohne Warnung.
Das 200K-Limit wird nicht erzwungen
Sie setzen CLAUDE_CODE_DISABLE_1M_CONTEXT=1, das normalerweise Auto-Komprimierung dazu bringt, Sitzungen auf 1M-Kontext-Modellen auf ein 200K-Fenster zu halten, aber kein Komprimierungsschwellenwert begrenzt diese Sitzung auf oder unter 200K, daher kann die Konversation über sie hinauswachsen.
CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced for <model>, so this session can grow past it. To enforce it, set CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000 (or the autoCompactWindow setting).
Claude Code erzwingt das 200K-Limit auf eigene Faust für jedes Modell, das es als ein Modell mit nativem 1M-Fenster erkennt, und für Modell-IDs, die es nicht erkennt, komprimiert es im Fenster, das es annimmt. Die Warnung erscheint, wenn andere Konfiguration diese Erzwingung besiegt:
- Die Modell-ID ist nicht eine, die Claude Code erkennt, z. B. ein LLM-Gateway-Alias, und Sie setzen
CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1oder erhöhten das angenommene Fenster über 200K mitCLAUDE_CODE_MAX_CONTEXT_TOKENS. In diesem Fall bietet die Meldung auchor update to a Claude Code version that recognizes <model>als Abhilfe an. - Ein
context-1m-Beta, das durchANTHROPIC_BETASoder das--betas-Flag angefordert wird, fragt die API immer noch nach dem 1M-Fenster auf einem Modell an, das dieses Beta akzeptiert, während nichts die Sitzung bei 200K komprimiert
Was zu tun ist:
- Setzen Sie
CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000, oder dieautoCompactWindow-Einstellung auf200000, damit Auto-Komprimierung bei der 200K-Grenze komprimiert - Wenn die Meldung eine Modell-ID benennt, die diese Version nicht erkennt, führen Sie
claude updateaus. Eine Version, die die ID als 1M-Kontext-Modell erkennt, erzwingt das Limit ohne weitere Konfiguration. - Wenn Sie möchten, dass die Sitzung das vollständige Fenster des Modells verwendet, heben Sie
CLAUDE_CODE_DISABLE_1M_CONTEXTauf; die Warnung meldet nur, dass das 200K-Limit nicht erzwungen wird
In einer Hintergrundsitzung oder mit --output-format json oder stream-json schreibt Claude Code die Warnung statt auf stderr in das Debug-Protokoll.
Nicht erkannte Modell-ID bei einer Anfrage
Claude Code sendete eine Anfrage für eine Modell-ID, die Ihre Claude Code-Version nicht erkennt, und fand keinen modelOverrides-Eintrag, der diese ID einem Modell zuordnet, das es erkennt. Claude Code sendet die Anfrage immer noch mit der ID, wie Sie sie konfiguriert haben, und beendet sich nicht oder wechselt Modelle.
[claude-code:unrecognized_model] {"model":"my-proxy-model","query_source":"sdk"}
In einem Skript oder einer Harness, die stderr liest, gleichen Sie das Präfix [claude-code:unrecognized_model] ab. Nach dem Präfix und einem Leerzeichen schreibt Claude Code ein einzeiliges JSON-Objekt. Claude Code kann in einer späteren Version Felder hinzufügen, daher ignorieren Sie alle Felder, die Sie nicht erwarten. Es schreibt mindestens diese zwei:
model: die Modellzeichenkette, wie Sie sie konfiguriert habenquery_source: der Anfragepfad, der das Modell verwendet. Claude Code meldetsdkfür einen-p-Lauf und einen Wert, der mitagent:beginnt, für einen Subagenten.
Claude Code schreibt die Zeile an einen von zwei Orten, je nachdem, wie Sie es ausführen:
- Im nicht-interaktiven Modus mit
-pschreibt Claude Code es unter jedem--output-formatauf stderr, daher können Sie stdout analysieren, ohne die Zeile herauszufiltern - In einer interaktiven Sitzung oder einer Hintergrundsitzung schreibt Claude Code es statt in das Debug-Protokoll; führen Sie mit
--debugaus, um es unter~/.claude/debug/<session-id>.txtzu erfassen
Claude Code schreibt die Zeile einmal pro Modellzeichenkette pro Prozess. Es schreibt eine separate Zeile für jede weitere nicht erkannte ID, z. B. eine, die ein Subagent oder Hintergrundfunktionalität verwendet.
Claude Code schreibt die Zeile nicht für Provider-IDs, die es zu einem Modell auflöst, das es erkennt, z. B. Amazon Bedrock us.anthropic.claude-...-IDs, Google Cloud's Agent Platform-IDs mit einem @-Versionssuffix und Microsoft Foundry-Bereitstellungsnamen, die eine Claude-Modell-ID enthalten. Claude Code überprüft das Modell hinter einem Amazon Bedrock-Anwendungs-Inferenzprofil-ARN statt des ARN selbst. Es schreibt keine Zeile für einen ARN, den es nicht auflösen kann, z. B. einen falsch geschriebenen.
Was zu tun ist:
-
Wenn Sie die ID absichtlich setzen, z. B. einen LLM-Gateway-Alias, fügen Sie einen
modelOverrides-Eintrag zu Ihrer Einstellungsdatei mit der ID als Wert hinzu. Verwenden Sie eine Anthropic-Modell-ID als Schlüssel, nicht einen Familien-Alias wieopus. Fürmy-proxy-modelaus der Beispielzeile fügen Sie diesen Eintrag hinzu:{ "modelOverrides": { "claude-opus-4-6": "my-proxy-model" } }Claude Code behandelt dann
my-proxy-modelalsclaude-opus-4-6und stoppt das Schreiben der Zeile. -
Wenn die ID ein Modell benennt, das neuer als Ihre Claude Code-Version ist, führen Sie
claude updateaus -
Wenn die ID ein Tippfehler ist, beheben Sie sie in welchem der Orte, an denen Sie ein Modell setzen können oder Alias-Variablen es hält. Wenn
query_sourcemitagent:beginnt, beheben Sie es statt dort, wo Sie das Modell des Subagenten setzen.
Vor v2.1.233 schrieb Claude Code keine Zeile, wenn es eine Anfrage für eine Modell-ID sendete, die es nicht erkannte.
Veraltete Sandbox-Maskierungsdateien, die von einer beendeten Sitzung hinterlassen wurden
claude doctor gibt diese Warnung in seinen Diagnosen aus, und /status listet die gleiche Zeile auf. Sie erscheint unter Linux und WSL2, wenn Sandboxing mit Dateisystem-Isolation aktiviert ist.
Während ein sandboxierter Befehl ausgeführt wird, hält die Sandbox eine Schreibverweigerung auf einer Datei, die noch nicht existiert, indem sie dort einen 0-Byte-Platzhalter mit Lesezugriff erstellt, und entfernt ihn danach. Eine Sitzung, die vor dieser Bereinigung beendet wird, z. B. durch SIGKILL, hinterlässt die Platzhalter. Spätere Sitzungen binden sie bei jedem Start erneut schreibgeschützt, daher schlägt ein Einstellungsschreiben wie das Speichern von „Ja, und nicht mehr fragen" fehl, wo einer sitzt.
- Stale sandbox mask files left by a killed session: /home/you/project/.claude/settings.local.json
Fix: Remove each with `rm <path>` while no other Claude Code session is running in that project — a 0-byte read-only file where a settings file belongs makes "Yes, and don't ask again" fail to save, and the sandbox binds it read-only again on every start
Was zu tun ist:
- Beenden Sie alle anderen Claude Code-Sitzungen, die in diesem Projekt ausgeführt werden, löschen Sie dann jede aufgelistete Datei mit
rm. Die Warnung listet bis zu drei Dateien auf und zählt den Rest, daher führen Sieclaude doctorerneut aus, nachdem Sie gelöscht haben, bis die Warnung nicht mehr erscheint. Ein Platzhalter, den die Sandbox einer anderen Sitzung noch verwendet, ist ein aktiver Teil des Schreibschutzes dieser Sitzung - Wenn eine Berechtigungswahl, die Sie mit „Ja, und nicht mehr fragen" gespeichert haben, nicht haften blieb, speichern Sie sie erneut, nachdem Sie den Platzhalter gelöscht haben
Vor v2.1.257 kennzeichnete claude doctor diese Dateien nicht; frühere Versionen hinterlassen die gleichen Platzhalter, wenn eine Sitzung beendet wird.
Antworten scheinen von geringerer Qualität als üblich
Wenn Claudes Antworten weniger leistungsfähig erscheinen als erwartet, aber kein Fehler angezeigt wird, liegt die Ursache normalerweise im Gesprächszustand und nicht im Modell selbst. Claude Code ändert nicht stillschweigend Modellversionen. Es kann in diesen Fällen zu einem Fallback-Modell wechseln:
- Ein konfiguriertes
--fallback-modelübernimmt nach einem Verfügbarkeitsfehler für diesen Zug nur mit einer Notiz im Transkript - Eine Verfügbarkeitsprüfung von Amazon Bedrock oder Google Cloud's Agent Platform stellt fest, dass Ihr Standardmodell nicht verfügbar ist, oder Ihr Konto verliert während einer Sitzung den Zugriff darauf
- Automatisches Modell-Fallback auf Fable 5.1, Fable 5, Opus 5.5, Sonnet 5.5 und Opus 5 verschiebt die Sitzung zum Fallback-Modell der gekennzeichneten Kategorie, wenn diese Kategorie über einen verfügt, und zeigt eine Notiz im Transkript an
Die Modellauswahlprüfung unten erfasst den zweiten und dritten Fall; der erste erscheint als Transkriptnotiz statt als /model-Änderung. Modellkonfiguration erklärt, wann jedes Fallback angewendet wird.
Überprüfen Sie diese zuerst:
- Modellauswahl: Führen Sie
/modelaus, um zu bestätigen, dass Sie das erwartete Modell verwenden. Eine vorherige/model-Auswahl oder eineANTHROPIC_MODEL-Umgebungsvariable kann Sie auf einem kleineren Modell als beabsichtigt platzieren. - Aufwandsstufe: Führen Sie
/effortaus, um die aktuelle Reasoning-Stufe zu überprüfen und sie für schwieriges Debugging oder Design-Arbeit zu erhöhen. Die Standardwerte variieren je nach Modell, daher überprüfen Sie, bevor Sie davon ausgehen, dass Sie unter dem Maximum liegen. Siehe Aufwandsstufe anpassen für modellspezifische Standardwerte und dieultrathink-Verknüpfung. - Kontextdruck: Führen Sie
/contextaus, um zu sehen, wie voll das Fenster ist. Wenn es sich der Kapazität nähert, führen Sie/compactan einem natürlichen Haltepunkt oder/clearaus, um neu zu beginnen. Siehe Erkunden Sie das Kontextfenster, um zu erfahren, wie Auto-Compact frühere Züge beeinflusst. - Veraltete Anweisungen: Große oder veraltete
CLAUDE.md-Dateien und MCP-Tool-Definitionen verbrauchen Kontext und können Antworten lenken. Die/doctor-Überprüfung kennzeichnet übergroße Speicherdateien und ungenutzte Erweiterungen, und/contextzeigt die MCP-Tool-Token-Nutzung an. Vor v2.1.205 öffnete/doctoreinen Diagnose-Bildschirm, der übergroße Speicherdateien und Subagent-Definitionen kennzeichnete.
Wenn eine Antwort schiefgeht, funktioniert das Zurückspulen normalerweise besser als das Antworten mit Korrektionen. Drücken Sie Esc zweimal oder führen Sie /rewind aus, um vor den fehlerhaften Zug zurückzugehen, und formulieren Sie dann die Eingabeaufforderung mit mehr Spezifika neu. Korrigieren im Thread behält den falschen Versuch im Kontext, was spätere Antworten daran verankern kann. Siehe Checkpointing.
Wenn die Qualität nach Überprüfung der obigen Punkte immer noch schlecht erscheint, führen Sie /feedback aus und beschreiben Sie, was Sie erwartet haben im Vergleich zu dem, was Sie erhalten haben. Auf diese Weise eingereichte Rückmeldungen enthalten das Gesprächstranskript, das die schnellste Möglichkeit für Anthropic ist, eine echte Regression zu diagnostizieren. Siehe Fehler melden, wenn /feedback in Ihrer Umgebung nicht verfügbar ist.
Wenn Claude vor einer vermuteten Prompt-Injection warnt oder eine Anfrage wegen einer vermuteten Injection ablehnt, und der Text, den die Warnung benennt, Kontext ist, den Claude Code automatisch zum Gespräch hinzufügt, anstatt Datei- oder Webinhalte, führen Sie claude update aus und versuchen Sie es erneut. Wenn die Warnung nach dem Update wiederholt wird, melden Sie es, anstatt den gekennzeichneten Inhalt zurück in die Eingabeaufforderung einzufügen. Vor v2.1.201 lehnten Sonnet 5 einige Anfragen auf die gleiche Weise ab.
Fehler melden
Für Fehler von Komponenten, die auf dieser Seite nicht behandelt werden, siehe die relevanten Anleitungen:
- MCP-Server konnte sich nicht verbinden oder authentifizieren: MCP
- Hook-Skript ist fehlgeschlagen oder hat ein Tool blockiert: Debug-Hooks
- Berechtigung verweigert oder Dateisystemfehler während der Installation: Troubleshoot-Installation und -Anmeldung
Wenn ein Fehler hier nicht aufgeführt ist oder die vorgeschlagene Lösung nicht hilft:
- Führen Sie
/feedbackin Claude Code aus, um das Transkript und eine Beschreibung an Anthropic zu senden. Der Befehl bietet auch an, ein vorausgefülltes GitHub-Issue zu öffnen. Das Senden an Anthropic erfordert Authentifizierung. Bei Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry und anderen Drittanbieter-Plattformen oder wenn keine Anthropic-Anmeldedaten konfiguriert sind, speichert/feedbackein lokales Archiv, das Sie stattdessen an Ihren Anthropic-Kontorepräsentanten senden können. - Führen Sie
claude doctoraus Ihrer Shell aus, um eine schreibgeschützte Diagnose Ihrer Installation zu erhalten, oder führen Sie die/doctor-Überprüfung in Claude Code aus, um Setup-Probleme zu finden und zu beheben - Überprüfen Sie status.claude.com auf aktive Vorfälle
- Suchen Sie nach bestehenden Issues auf GitHub