SpyBara
Go Premium

errors.md 2026-10-01 23:59 UTC to 2026-10-02 03:59 UTC

This page contains 757 additions and 732 deletions.

2026
Thu 1 23:59 Fri 2 04:57

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.

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
Remote Control is disabled by your organization's policy Fehlerbehebung für Remote Control
Remote Control was turned off by your organization's policy 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
Marketplace "<name>" is added but ignored Plugin-Fehlerbehebung
Marketplace "<name>" is registered but was refused (see the debug log) Plugin-Fehlerbehebung
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 Nachricht Your 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 du CLAUDE_CODE_RETRY_WATCHDOG setzt, gilt die Einfach-Wiederholung-Obergrenze nicht.
  • Temporäre 429-Drosselungen, aber nicht die Ausgabenlimit-429 eines 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_tokens das Kontext-Limit überschreitet. Das Erneut-Senden unverändert würde auf die gleiche Weise fehlschlagen, daher wiederholt Claude Code mit reduziertem max_tokens und 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_tokens nicht 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 401 oder 403 von der Anthropic API, direkt oder über ein LLM gateway, während ein apiKeyHelper-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 again eingeben können, anstatt alles erneut einzufügen.
  • Wenn der Fehler ohne einen veröffentlichten Vorfall weiterhin auftritt, führen Sie /feedback aus, damit Anthropic Ihre Anfrageinformationen untersuchen kann. Siehe Fehler melden, wenn /feedback in 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 /model aus 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_MS wie 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 again eingeben 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 auch CLAUDE_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 mit API 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 mit API Error: JSON Parse error beginnt, 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 über ANTHROPIC_BASE_URL oder ANTHROPIC_AWS_BASE_URL erreicht 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 wie ANTHROPIC_BEDROCK_BASE_URL erreicht 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. oder The 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_FALLBACK deaktiviert haben, endet der Turn mit API Error: Content block not found für ein verlorenes Ereignis oder API Error: Content block already closed für ein dupliziertes. Für ein beschädigtes Ereignis mit deaktiviertem Fallback endet der Turn mit API Error: Stream event unreadable oder 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 selbst continue senden, 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 json oder stream-json meldet Claude Code diese Nachricht im result-Feld.
    • Um den Turn fortzusetzen, sobald die Verbindung stabil ist, setzen Sie die Sitzung fort und senden Sie continue wie in Konversationen fortsetzen beschrieben.

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 --debug aus 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-json gibt Claude Code ein Fehlerergebnis zurück, das Agent aborted: auto mode classifier request refused by the safety safeguard in headless mode enthä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-json gibt Claude Code ein Fehlerergebnis zurück, das Agent aborted: auto mode classifier transcript exceeded context window in headless mode enthält, und der Lauf wird fortgesetzt
  • Anderswo in einem -p-Lauf ohne --permission-prompt-tool gibt 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 /compact aus, 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 /config sind unabhängig, daher schalten Sie jede einzeln aus.
  • Für das Opus- oder Sonnet-Limit führen Sie /model aus 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 /usage aus, um Ihre Plan-Limits und deren Zurücksetzzeitpunkte anzuzeigen
  • Führen Sie /usage-credits aus, 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 /model aus und wählen Sie die Variante ohne das [1m]-Suffix, um auf das Standard-Kontextfenster zurückzufallen
  • Wo die Meldung /usage-credits nennt, 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 /model weiterhin 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 /model aus, um zu einem Modell zu wechseln, das keine Nutzungsguthaben abrechnet
  • Um sich mehr Zeit zu geben, setzen Sie dialogExpiry auf 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 /status aus und bestätigen Sie, dass die aktive Anmeldedaten die sind, die Sie erwarten. Ein verwaister ANTHROPIC_API_KEY in 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 /model zu 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-credits aus
  • Auf Team und Enterprise erhöhen Sie das Limit in Admin settings > Usage, wenn Sie die Abrechnung verwalten, oder bitten Sie einen Administrator. /usage-credits sendet 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 /usage aus, 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 /status aus und überprüfen Sie die Zeile API key. Ein genehmigter ANTHROPIC_API_KEY in 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 dann claude neu. Führen Sie /login aus, 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 /login aus, 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_KEY in der Shell, in der Sie claude gestartet 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_TOKEN oder 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 /status in 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 ANTHROPIC aus, in PowerShell Get-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_KEY auf und führen Sie /login aus, 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 /status aus, 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 key und 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 apiKeyHelper konfigurierten 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 /status aus, um den Fehler zu sehen und zu prüfen, ob apiKeyHelper die aktive Quelle für Anmeldedaten ist. Die Zeile apiKeyHelper zeigt Failing mit 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 /status nur 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 Panel Cloud 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 aus ANTHROPIC_AUTH_TOKEN oder CLAUDE_CODE_OAUTH_TOKEN
  • Invalid ANTHROPIC_CUSTOM_HEADERS: ein Header-Name oder -Wert, den Sie in ANTHROPIC_CUSTOM_HEADERS gesetzt haben. Die Beschreibung gibt an, welches Name: Value-Paar fehlerhaft ist, etwa distinct 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, etwa CLAUDE_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_HEADERS verwenden Sie ein Name: Value-Paar pro Zeile und schreiben das Paar neu, das die Meldung angibt
  • Führen Sie /status aus, 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_KEY in der aktuellen Shell auf, entfernen Sie ihn aus Ihrem Shell-Profil und starten Sie claude dann neu
  • Wenn die Meldung Update or unset lautet, haben Sie keine gespeicherte Anmeldung, auf die zurückgegriffen werden kann. Heben Sie den Schlüssel auf und führen Sie /login aus, oder ersetzen Sie den Schlüssel durch einen aus einer aktiven Console-Organisation.
  • Führen Sie anschließend /status aus, 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_KEY nennt, heben Sie die Variable in der aktuellen Shell auf, entfernen Sie sie aus Ihrem Shell-Profil oder Ihrer .env-Datei und starten Sie claude dann neu
  • Wenn die Meldung apiKeyHelper nennt, entfernen Sie die Einstellung apiKeyHelper aus Ihrer settings.json
  • Führen Sie /login aus, um sich mit Ihrem claude.ai-Konto anzumelden
  • Führen Sie anschließend /status aus, 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:

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, etwa CLAUDE_CODE_USE_BEDROCK für Amazon Bedrock oder CLAUDE_CODE_USE_VERTEX für Google Cloud's Agent Platform
  • ANTHROPIC_BASE_URL, das auf einen anderen Host als api.anthropic.com verweist, 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 blockiert
  • ANTHROPIC_UNIX_SOCKET ist gesetzt, sodass die Sitzung ihre Anfragen über einen lokalen Socket statt an api.anthropic.com sendet
  • 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_BEDROCK oder ANTHROPIC_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 env in 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 expired und Claude.ai login was rejected: claude.ai akzeptiert Ihr gespeichertes Anmelde-Token nicht mehr, weil es abgelaufen ist oder widerrufen wurde
  • OAuth token unavailable: Claude Code hatte kein gespeichertes Anmelde-Token, als die Anmeldedaten der Verbindung erneuert werden mussten
  • OAuth 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 geliefert
  • JWT refresh failed: no OAuth token: Claude Code hat kein gespeichertes Anmelde-Token zum Erneuern gefunden
  • Signed out of Claude: Sie haben sich auf diesem Rechner abgemeldet, zum Beispiel durch Ausführen von /logout in 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 /login aus, um sich erneut anzumelden
  • Führen Sie /remote-control aus, um die Sitzung wieder zu verbinden. Meldungen, die mit run /login to restore Remote Control enden, 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-control aus, um eine neue Remote-Control-Sitzung unter dem aktuellen Konto oder der aktuellen Organisation zu starten
  • Um zurückzuwechseln, führen Sie /login aus und melden Sie sich erneut beim vorherigen Konto oder der vorherigen Organisation an. Führen Sie dann /remote-control aus.

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 /login aus, um sich erneut anzumelden
  • Wenn Sie sich mit der Umgebungsvariable CLAUDE_CODE_OAUTH_TOKEN authentifizieren, sendet Claude Code nach einer mit 401 fehlgeschlagenen Anfrage weiterhin den von Ihnen gesetzten Wert, statt zum Token einer gespeicherten Anmeldung zu wechseln. /status zeigt diese Anmeldedaten als Zeile Auth token mit dem Wert CLAUDE_CODE_OAUTH_TOKEN. Erzeugen Sie mit claude setup-token ein neues Token und starten Sie damit neu, oder heben Sie die Variable auf und führen Sie /login aus. 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 Forbidden und 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 /status eine Zeile API key anzeigt, die nicht als nicht verwendet markiert ist, ist ein genehmigter ANTHROPIC_API_KEY die aktive Anmeldedatenquelle und hat Vorrang vor Ihrer Anmeldung, sodass /login ihn nicht ersetzt. Rotieren Sie den Schlüssel in der Claude Console oder greifen Sie auf Ihr Abonnement zurück, indem Sie unset ANTHROPIC_API_KEY ausführen, in PowerShell Remove-Item Env:ANTHROPIC_API_KEY.
  • Wenn /status nur Ihre Anmeldung anzeigt, führen Sie einmal /login aus. 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 /status meldet, und bitten Sie den Admin Ihrer Organisation, den Zugriff wiederherzustellen.
  • Wenn ANTHROPIC_BASE_URL auf ein LLM-Gateway verweist, ist der Text nach 401 die 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 /login aus, 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 claude in derselben Umgebung aus, schließen Sie /login ab und führen Sie dann Ihren Befehl erneut aus. Für Automatisierung, die sich nicht interaktiv anmelden kann, authentifizieren Sie sich mit ANTHROPIC_API_KEY oder erzeugen Sie ein langlebiges Token mit claude 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 /login aus. 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 /login erneut aus
  • Führen Sie auf anderen Plattformen /login erneut 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-token auf einem Rechner aus, auf dem die Anmeldung funktioniert, und setzen Sie das ausgegebene Token auf diesem Rechner als CLAUDE_CODE_OAUTH_TOKEN. Andernfalls setzen Sie ANTHROPIC_API_KEY auf 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.1 lauschen 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 /login erneut aus. Wenn es lauschen können sollte und trotzdem fehlschlägt, führen Sie /feedback aus, 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 /login aus, 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 /login aus 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, eine apiKeyHelper-Einstellung oder einen durch ein früheres /login gespeicherten Console-Schlüssel, entfernen Sie diese wie in der Meldung beschrieben und führen Sie dann /login aus
  • 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 /login aus 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_TOKEN oder apiKeyHelper. Um einen gespeicherten Console-API-Schlüssel zu entfernen, führen Sie claude auth logout aus, wodurch auch eine gespeicherte claude.ai-Anmeldung entfernt wird. Wenn Sie mit CLAUDE_CODE_USE_* einen Cloud-Anbieter auswählen, startet die Sitzung dann ohne Anmeldung. Andernfalls starten Sie claude und führen /login aus
  • Wenn Sie der Meinung sind, dass der Rechner das Gateway nicht erfordern sollte, bitten Sie den Administrator, der ihn verwaltet, forceLoginMethod und forceLoginGatewayUrl aus 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 /login mit diesem Konto aus oder setzen Sie den Schlüssel mit ANTHROPIC_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_PROFILE explizit setzen, endet die Meldung mit Re-authenticate your Anthropic profile.
  • Wenn Claude Code das Profil aus Ihrem Konfigurationsverzeichnis erkannt hat, bietet die Meldung /login an, da Claude Code einem funktionierenden /login Vorrang 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 Form Re-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 /login aus und wählen das Anthropic Console-Konto für ein Profil, das die schlüssellose Console-Anmeldung oder ant auth login der 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 /status aus, um die aktive Quelle für Anmeldedaten und den Profilnamen zu prüfen
  • Um das Profil nicht mehr zu verwenden, heben Sie ANTHROPIC_PROFILE auf, falls Sie es gesetzt haben, und authentifizieren Sie sich dann auf andere Weise, etwa mit /login oder ANTHROPIC_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 /login aus, 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 /login aus, um sich erneut anzumelden
  • Verbinden Sie den Konnektor über /mcp erneut 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 meldet your 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 url des 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 /mcp erneut
  • 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 awsAuthRefresh gesetzt ist, führen Sie den in der Meldung genannten Befehl, etwa aws 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 awsAuthRefresh in einer interaktiven Sitzung gesetzt ist, können Sie stattdessen /login ausfü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-identity in 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-identity aus, 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 oder gcloud auth application-default login aus, schließen Sie die Anmeldung ab und versuchen Sie es dann erneut
  • Wenn Sie über ein LLM-Gateway mit gesetztem CLAUDE_CODE_SKIP_VERTEX_AUTH routen, erneuern Sie das Gateway-Token in ANTHROPIC_AUTH_TOKEN oder ANTHROPIC_CUSTOM_HEADERS und versuchen Sie es dann erneut
  • Wenn Sie sich mit einer Schlüsseldatei eines Dienstkontos authentifizieren, prüfen Sie, ob GOOGLE_APPLICATION_CREDENTIALS auf 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-token in 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 neues ANTHROPIC_FOUNDRY_AUTH_TOKEN, oder führen Sie az login aus, 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:

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-identity in derselben Shell mit demselben AWS_PROFILE aus. Wenn der Befehl ebenfalls hängt, korrigieren Sie das Profil; ein credential_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 mit CLAUDE_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-identity in 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 /login in der Sitzung aus und schließen Sie die Anmeldung im Browser ab
  • Bei einem nicht interaktiven Start starten Sie claude in derselben Umgebung, führen /login aus 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 /login erneut 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.com ausführen. Verwenden Sie unter Windows PowerShell curl.exe -I https://api.anthropic.com, damit der integrierte Invoke-WebRequest-Alias nicht verwendet wird.
  • Wenn Sie sich hinter einem Unternehmens-Proxy befinden, setzen Sie HTTPS_PROXY vor dem Starten von Claude Code und siehe Netzwerkkonfiguration
  • Wenn Sie über ein LLM-Gateway oder Relay weiterleiten, setzen Sie ANTHROPIC_BASE_URL auf 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_URL gesetzt ist, indem Sie echo $ANTHROPIC_BASE_URL ausführen, oder echo $env:ANTHROPIC_BASE_URL in PowerShell, und suchen Sie danach im env-Block Ihrer Einstellungsdateien. Wenn es gesetzt ist, sendet Claude Code Modellanfragen an diese Adresse statt an api.anthropic.com, daher erzeugt ein veralteter Wert, der auf einen lokalen Proxy oder ein Gateway verweist, das nicht mehr läuft, Connection refused, obwohl curl die 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.conf auf 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 ifconfig auf veraltete utun-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 update auf 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 page oder empty 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. nginx oder cloudflare, oder Zwischenkopfzeilen trägt, wie z. B. cf-ray oder via, 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 wie nginx oder cloudflare bedeutet, 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 selbst 404 zurü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:

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 sein Content-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=1 verbirgt 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.pem darauf
  • 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.com zu 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 reply anstelle 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.com aus der Shell aus, in der Sie Claude Code starten, mit Ihrer eigenen Proxy-URL. Unter Windows PowerShell führen Sie curl.exe aus. 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.com zu NO_PROXY hinzu. Halten Sie den Eintrag eng: Ein breiterer .claudeusercontent.com-Eintrag umgeht auch den Proxy für bridge.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-control aus, 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-control aus, 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 /feedback aus, um das Transkript mit einer Beschreibung dessen zu senden, was passiert ist. Siehe Fehler melden, wenn /feedback in 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 /login aus 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 /compact aus, um frühere Runden zusammenzufassen und Platz freizugeben, oder /clear, um neu zu beginnen. Wenn /compact mit Not 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 /clear aus 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 /context aus, 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 /config oder mit DISABLE_AUTO_COMPACT ausgeschaltet haben, schalten Sie sie wieder ein. Wenn Sie sie ausgeschaltet lassen, führen Sie /compact selbst 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 /compact aus, um frühere Runden zusammenzufassen und Platz freizugeben. Um stattdessen neu zu beginnen, führen Sie /clear aus
  • 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 Nachricht compacting cannot make it fit und 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 /clear aus, um neu zu beginnen
  • Führen Sie andernfalls /compact aus, 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 pdftotext und 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:

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 update aus.
  • 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_schema des 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 update aus, 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 /model aus, um aus Modellen auszuwählen, die für Ihr Konto verfügbar sind.
  • Nicht-interaktiver Modus (-p): Übergeben Sie --model mit einem gültigen Alias oder einer ID, oder setzen Sie ANTHROPIC_MODEL. Der Fehlertext zeigt Run --model auf dieser Oberfläche.
  • Agent SDK: Der Fehlertext lässt den Hinweis weg, da das Modell programmgesteuert gesetzt wird. Setzen Sie model auf Options in TypeScript oder ClaudeAgentOptions(model=...) in Python, und behandeln Sie den strukturierten model_not_found-Fehler, um Ihre eigene Wiederholung oder Modellauswahl anzuzeigen.
  • Verwenden Sie einen Alias wie sonnet oder opus statt 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 /login aus, 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 /model ohne 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 update aus, 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_URL erhä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 /model ohne Argument aus und wählen Sie aus den Modellen, die für Ihr Konto verfügbar sind, oder verwenden Sie einen Modell-Alias wie sonnet, 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 Sie supportedModels() auf, um die Modelle aufzulisten, zu denen Sie wechseln können.
  • Vor v2.1.265 lehnte /model auch die opusplan[1m]-Alias-Schreibweise mit diesem Fehler ab. Aktualisieren Sie auf diesen Versionen Claude Code, oder setzen Sie das Modell in Einstellungen oder mit --model statt.

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:

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 /model aus 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 /logout dann /login aus. 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 /model in der CLI aus, rufen Sie setModel() auf dem TypeScript SDK's Query-Objekt im Streaming-Eingabemodus auf, oder rufen Sie set_model() auf dem Python SDK's ClaudeSDKClient auf
  • 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 /model aus, 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, dem model-Feld einer Einstellungsdatei oder dem model-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 wird
  • your organization allows only the models listed in "availableModels": eine verwaltete availableModels-Zulassungsliste mit availableModelsMatch auf "exact" gesetzt lässt das Modell weg, zu dem die Standardoption aufgelöst wird
  • Claude 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 deniedModels und availableModels-Formulierungen führen Sie /model aus 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 das timeout dieses Hooks, dann wechseln Sie erneut.
  • confirmation required, and this session cannot ask: Ein Hook antwortete ask ohne 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 Sie claude --debug aus 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 answering oder PreModelSwitch 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 Sie claude --debug aus, 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, wie EROFS, 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 den model-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 update aus 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 /model aus 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:

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:

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 update aus. Versionen vor v2.1.156 können diesen Fehler während normaler Tool-Verwendung auslösen, und /rewind löscht ihn nicht.
  • Führen Sie /rewind aus, 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 update aus und setzen Sie die Sitzung fort
  • Wenn der Fehler anhält, führen Sie /clear aus, 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 update aus 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_URL konfiguriert 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 /clear aus, 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 update aus und setzen Sie die Sitzung fort
  • Wenn der Fehler anhält, oder die Nachricht benennt encrypted_stdout, führen Sie /rewind aus, um zu einem Checkpoint vor der Runde zurückzugehen, die den Inhalt hinzugefügt hat, oder führen Sie /clear aus, 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 /rewind aus, 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 /clear aus, um ein frisches Gespräch im gleichen Projekt zu starten. Ihr vorheriges Gespräch wird auf der Festplatte gespeichert und bleibt in /resume verfü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 --model die 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 /feedback aus, um das falsch positive zu melden
  • Um in der gleichen Sitzung weiterzuarbeiten, drücken Sie zweimal Esc oder führen Sie /rewind aus, 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:

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 update erneut 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_PROXY vor dem Ausführen des Installationsprogramms oder claude 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.ai zuzulassen. Siehe Netzwerkzugriffsanforderungen.
  • Führen Sie claude doctor aus 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 -p oder --print. --bg nimmt den Prompt als Positionsargument entgegen, sodass claude --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 --bg und führen Sie claude -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:

  1. 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 eine invalid JSON:-Zeile mit der eigenen Meldung des JSON-Parsers aus
  2. 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
  3. 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 -p hinzu, 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:

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 --restricted und 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 --settings auf 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 claude erneut 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 dann claude erneut aus
  • Bei EPERM unter macOS beenden Sie Ihre Terminal-App mit Cmd+Q, öffnen Sie sie erneut, kehren Sie zu diesem Ordner zurück und führen Sie claude aus. Wenn ls in 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 ENOSPC geben Sie Speicherplatz auf dem Volume frei, das das temporäre Verzeichnis enthält
  • Bei den Formen mit Refusing to use it entfernen Sie den genannten Eintrag selbst, nicht das Ziel eines Links, und starten Sie Claude Code erneut; bei der Form owned by uid kann nur ein Administrator oder der betreffende Benutzer ihn entfernen
  • Bei is not readable führen Sie chmod 0700 für das genannte Verzeichnis aus oder entfernen Sie es und starten Sie erneut
  • In all diesen Fällen können Sie CLAUDE_CODE_TMPDIR auf 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-dir dann 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 rc aus und antworten Sie mit y, oder führen Sie dort claude aus 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 --help listet sie auf
  • Wenn das abgelehnte Flag --permission-mode ist, führen Sie claude 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 import kann 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 import nicht verfügbar.
  • Sie haben DISABLE_TELEMETRY, DO_NOT_TRACK, DISABLE_GROWTHBOOK oder CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC gesetzt, die das Abrufen von Feature-Flags ausschalten, daher bleibt claude import nicht 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 Sie claude import erneut aus
  • Wo das Abrufen von Feature-Flags ausgeschaltet bleibt, richten Sie die Konfiguration selbst ein: Fügen Sie MCP-Server mit claude mcp add hinzu und erstellen Sie die CLAUDE.md-Dateien, Skills und Befehle sowie Subagenten, die Sie übernehmen möchten. Die Meldung nennt auch ~/.claude/settings.json. Von der Konfiguration, die claude 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 claude ohne Argumente aus. Claude Code erkennt die ungültige Datei und bietet an, sie zurückzusetzen. Führen Sie dann claude import erneut aus.
  • Um manuelle Änderungen beizubehalten, die Sie vorgenommen haben, beheben Sie stattdessen die JSON-Syntax in ~/.claude.json in einem Editor und führen Sie claude import dann 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.json so um, dass er nur Buchstaben, Ziffern, Bindestriche und Unterstriche verwendet, und führen Sie dann claude mcp add-from-claude-desktop erneut aus
  • Fügen Sie diesen Server direkt mit claude mcp add oder claude mcp add-json unter 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, user oder project. Ohne --scope verwendet der Befehl local. Siehe MCP-Installationsgeltungsbereiche
  • Um den Server allen Benutzern Ihrer Organisation bereitzustellen, fügen Sie ihn zu managedMcpServers in 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.json in 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 Geltungsbereich local fü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:

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 list im 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_PORT oder --callback-port, je nachdem, was Sie verwenden
  • Starten Sie die Anmeldung dann erneut, zum Beispiel indem Sie den Server in /mcp auswä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.1 zu lauschen, und erlauben Sie Claude Code, einen lokalen Port zu binden
  • Starten Sie die Anmeldung dann erneut, zum Beispiel indem Sie den Server in /mcp auswä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 mit allowed-tools vorab genehmigen
  • Skill <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 in shell: 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-Ref origin/<default-branch> existiert. Falls nicht, wie bei Single-Branch-Klonen, rufen Sie den Branch zuerst ab: Führen Sie git remote set-branches --add origin <branch> aus, dann git fetch origin, und führen Sie dann den set-head-Befehl erneut aus. Führen Sie /security-review erneut aus.
  • Wenn Sie den Branch lieber nicht angeben möchten, führen Sie git fetch origin und dann git remote set-head origin --auto aus, das den Remote fragt, welcher Branch sein Standard ist. Es schlägt mit error: Cannot determine remote HEAD fehl, 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 mit error: Not a valid ref fehl, 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 mit git push -u origin HEAD und geben Sie diesen Branch im set-head-Befehl an; origin/HEAD verweist dann auf den Branch, den Sie gerade gepusht haben, sodass /security-review einen 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 claude in 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 mit echo "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: claude beendet sich mit Error: 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-json muss jede Nachricht eine einzelne, mit Zeilenumbruch abgeschlossene JSON-Zeile sein
  • Um stattdessen einfachen Text zu senden, entfernen Sie --input-format stream-json; claude -p liest 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 /hepl statt /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-setup und /schedule erläutern zwei häufige Fälle. Einige Befehle antworten mit einer eigenen Meldung, wenn die Richtlinie Ihrer Organisation sie deaktiviert, etwa Cloud 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:

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 stattdessen git fetch --unshallow origin vor. Vor v2.1.221 schlug der Hinweis für jeden abgerufenen Basis-Branch git fetch --unshallow origin vor, und bei einem vollständigen Klon schlägt dieser Befehl mit fatal: --unshallow on a complete repository does not make sense fehl.

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 origin aus 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-setup aus, 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-setup aus, 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-setup aus, 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 repo und workflow erneut, indem Sie gh auth refresh -h github.com -s repo,workflow ausführen, und autorisieren Sie die Organisation, wenn GitHub zur Single-Sign-On-Anmeldung auffordert
  • Wenn Sie sich mit einem Personal Access Token in GH_TOKEN authentifizieren, öffnen Sie github.com/settings/tokens, wählen Sie beim Token Configure SSO aus und autorisieren Sie die Organisation
  • Führen Sie /install-github-app erneut 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 update aus 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 claude aus, 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_id der --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/projects kopiert 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 --resume und drücken Sie Ctrl+A, um sie auf jedes Projekt auf diesem Rechner zu erweitern, und wählen Sie dann die Sitzung aus
  • Sitzungen, die mit claude -p oder dem Agent SDK erstellt wurden, erscheinen nicht in der Auswahl, gleichen Sie die ID daher erneut mit der session_id ab, 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\projects oder unter dem Verzeichnis, das CLAUDE_CONFIG_DIR angibt
  • 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 fullscreen oder /tui default aus
  • Cannot 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-sources und --permission-prompt-tool
  • permission rules set for this session only: Ein Berechtigungs-Update von einem Hook oder SDK-Aufrufer hat deny- oder ask-Regeln mit dem Ziel session hinzugefügt. Sitzungsbezogene allow-Regeln lösen die Ablehnung nicht aus. Ein Neustart verwirft sie, und Claude Code fragt stattdessen erneut nach
  • ask-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-tools und --disallowed-tools zurückgibt. Für ask-Regeln gibt es kein Flag
  • permission rules a command line cannot carry intact und added 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 fullscreen aus bzw. /tui default, um zurückzuwechseln. Claude Code speichert dort die tui-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 /desktop oder claude --desktop aus
  • Um die vollständige Fehlerausgabe des fehlgeschlagenen Befehls zu lesen, aktivieren Sie das Debug-Logging mit /debug und führen Sie /desktop erneut aus, oder führen Sie claude --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 Dateiberechtigungen
  • Your 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 werden
  • Couldn'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ändert
  • Couldn'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.json unter dem Pfad, den die Meldung nennt
  • Bei isn't a readable list of keybindings beheben Sie den Syntaxfehler oder machen Sie den obersten Wert der Datei zu einem Array, und führen Sie dann erneut /terminal-setup aus

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-doctor im Terminal auf dem Rechner aus, auf dem die Sitzung läuft, oder führen Sie dort claude -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 outputStyle in der Datei .claude/settings.local.json des 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 local zu den Einstellungsquellen der Sitzung hinzu und wechseln Sie erneut
  • Setzen Sie den Schlüssel outputStyle in einer Einstellungsdatei, die die Sitzung lädt, etwa .claude/settings.json im Projekt oder ~/.claude/settings.json. Im TypeScript SDK setzen Sie outputStyle stattdessen im Inline-Objekt settings; 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 --version aus, dann claude 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 offiziellen github.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.json um; 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 headersHelper verschieben Sie ${user_config.KEY} in das headers-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.zip oder Get-FileHash -Algorithm SHA256 my-plugin.zip in PowerShell, und aktualisieren Sie den sha256 im 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:

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 Schleife
  • EIO oder ESTALE: Der Pfad befindet sich auf einer unterbrochenen oder veralteten Netzwerkbereitstellung
  • EACCES: 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 EACCES ist, stellen Sie Ihre Ausführungsberechtigung für die Verzeichnisse über dem Pfad wieder her
  • Führen Sie /reload-plugins aus, 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.json hinzugefü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 source des 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.json und 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 mit claude plugin marketplace add <source> erneut hinzu. Claude Code registriert die Marketplaces, die Ihre Benutzer- oder verwalteten Einstellungen in extraKnownMarketplaces deklarieren, 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 wird
  • it 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 enabledPlugins in 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 Grpe für Grep.
  • 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 Agent auflisten, 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 oder Agent fü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 nur Agent enthält, erhöhen Sie das Tiefenlimit oder geben Sie dem Agenten mindestens ein anderes Tool: Claude Code behält Agent bei 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 /permissions oder 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:

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-purpose zur tools: Agent(...)-Zulassungsliste hinzu, oder heben Sie CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS auf

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.md umschreiben, 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 ist
  • Die Berechtigungsanfrage konnte nicht an den Team-Lead zugestellt werden (Postfach-Schreibfehler): Die Berechtigungsanfrage des Teamkollegen erreichte den Lead nie, daher genehmigte niemand den Tool-Aufruf
  • Die 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/teams und 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 claude in 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 auf true in ~/.claude.json, wobei Sie den genauen projects["<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ässt
  • Sie sendeten schneller als diese Sitzung akzeptiert: Die Nachrichten der sendenden Sitzung kamen schneller an, als der Empfänger von einem Absender akzeptiert
  • es wiederholte Ihre vorherige Nachricht: Die Nachricht war identisch mit einer, die die sendende Sitzung diesem Empfänger kurz zuvor sendete
  • eine 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 Symlink für eine Sitzung wiederholt wird, überprüfen Sie, was einen Link am Socket-Pfad dieser Sitzung erstellt hat, angezeigt in ihrem /status unter Peer address

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öst
  • Wo 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 bilden
  • Es ist ein symbolischer Link. Schreiben Sie stattdessen zum Ziel-Pfad des Links: Ein Symlink sitzt am genehmigten Schreibort selbst, zum Beispiel eine CLAUDE.md, die ein Symlink zu AGENTS.md ist; die Nachricht leitet Claude zum Ziel des Links
  • Weigerung, 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.json
  • Weigerung, 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 ist
  • Ein Pfad, durch den eine seiner Read-Ablehnungsregeln geschrieben wird, änderte sich, während die Suche vorbereitet wurde. Versuchen Sie es erneut.: Eine Read-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 vorbereitete
  • Es 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 Betriebssystemfehler
  • Seine 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 durch
  • ripgrep 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 die rg-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 rg zu einem absoluten Pfad auf PATH aufgelö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_TMPDIR neu, 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-project in 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_TMPDIR auf 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 zeigt
  • Das Dateisystem mit Claudes Temp-Verzeichnis ..., oder Ihre Festplattenquota darauf, ist voll (ENOSPC): Das Dateisystem, oder Ihre Quote darauf, hat keinen Speicherplatz mehr
  • Befehlsausgabe ging verloren: Das Temp-Dateisystem bei ... ist voll oder ... 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ür keine 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_TMPDIR neu, 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 &#xFFFD;), 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+FFFD durch das Zeichen, das eine frühere Bearbeitung, ein Einfügen oder eine Konvertierung verlor
  • Um ein beabsichtigtes U+FFFD auf der Seite anzuzeigen, schreiben Sie es als &#xFFFD; 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 curl durch 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 HTTP 429. 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 mit skipWebFetchPreflight: true in Einstellungen überspringen.
  • Kann nicht überprüfen: Die Überprüfungsanfrage schlug fehl, zeitüberschritten oder erhielt einen anderen Fehlerstatus. Wenn Ihr Netzwerk api.anthropic.com blockiert, erlauben Sie diese Domäne, oder überspringen Sie die Überprüfung mit skipWebFetchPreflight: true in 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 enable oder /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 mit Ctrl+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, wie docs/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 --resume fort 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 Sie Enter zweimal 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/projects dazu 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 mit claude --resume oder /resume fortgesetzt haben. Die Zeile zeigt auch Open 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ält claude rm die 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 Sie Ctrl+X zweimal 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 Enter auf 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 gibt Session <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 Enter auf 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, dann claude attach <id>
  • Drücken Sie für eine Shell-Befehl-Zeile Ctrl+X in der Agent-Ansicht oder führen Sie claude 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>.md im Projekt der Sitzung oder unter ~/.claude/agents/<name>.md fü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 Sie claude daemon status aus einer Shell aus
  • Nach dem Beheben des Wertes im env-Block der Einstellungen starten Sie den Hintergrund-Service mit claude daemon stop --any neu, 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 session lautet, aktualisieren Sie auf v2.1.212 oder später. Auf früheren Versionen können Sie auch zuerst claude daemon run in 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 stderr mit Exit-Code 1, bei jedem Start, unter Windows: daemon.lock benennt 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 status aus, 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 claude im 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 claude in 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 doctor in 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 claude aus. 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 claude in 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>.txt nennt jeden übersprungenen Pfad während der Wiederherstellung, also aktivieren Sie Debug-Protokollierung mit /debug vor Ihrer nächsten Wiederherstellung. Unter macOS oder Linux können Sie die Links stattdessen direkt finden: find . -type l für Symlinks und find . -type f -links +1 fü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 /rewind auf 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 /rewind erneut 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 ENOSPC frei; erhöhen oder löschen Sie das Kontingent für EDQUOT; stellen Sie Schreibzugriff auf den Transkriptspeicherort für EACCES, EPERM oder EROFS wieder 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, --continue oder im Aufwärts-Pfeil-Verlauf angezeigt wird
  • Wenn nicht, entfernen Sie die Variable aus der Shell oder dem Skript, das claude startet, 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=1 neu. 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_SESSION aus 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 --resume im 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 claude im Verzeichnis aus und akzeptieren Sie den Vertrauensdialog. Projekterlaubnisregeln und Arbeitsbereichsvertrauen sagt, welcher Ordner diese Akzeptanz abdeckt.
  • Im nicht-interaktiven Modus mit -p wird kein Dialog angezeigt. Legen Sie den hasTrustDialogAccepted-Eintrag in ~/.claude.json mit dem genauen projects-Schlüssel fest, den die Meldung ausgibt.
  • Wenn die Meldung .claude/settings.local.json benennt 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.json als 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 mit claude --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.additionalDirectories befindet, 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.com erreichen kann; für eine Authentifizierungsursache überprüfen Sie Ihre Anmeldung mit /status
  • Für no setting in the server response could be applied as written bitten Sie Ihren Administrator, die Einstellungen auf dem Server zu korrigieren
  • Führen Sie /status oder claude doctor aus, 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 availableModels hinzu, oder grenzen Sie die deniedModels-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- oder deniedModels-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 der allowedProviders-Eintrag sagt, welcher Block env des 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:

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 unter managed-settings.d
  • Das macOS-Verwaltungseinstellungsprofil, per-user managed preferences oder device-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.json zä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 /status aus, 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 claude im 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.json selbst fest, mit dem genauen projects-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 *) statt Bash(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 durch Edit(path). Edit-Regeln decken alle Dateieditierungswerkzeuge ab.
  • Außer in --allowedTools, wo Claude Code eine Glob-Regel ohne Warnung akzeptiert, ersetzen Sie Glob(path)-Regeln durch Read(path).
  • Beheben Sie die Regel an der Quelle, die die Warnung in Klammern benennt: ein Einstellungsdateipfad oder das Flag selbst für --allowed-tools und --disallowed-tools. Ein claude-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 Write oder Glob allein. Claude Code gleicht sie auf der Werkzeugebene ab und warnt nicht davor.
  • Wenn die Quelle managed policy settings liest, 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) statt Bash(git * main).
  • Verschieben Sie jeden * nach dem Unterbefehl: Bash(git status *) statt Bash(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. Ein claude-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 settings liest, 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=1 oder erhöhten das angenommene Fenster über 200K mit CLAUDE_CODE_MAX_CONTEXT_TOKENS. In diesem Fall bietet die Meldung auch or update to a Claude Code version that recognizes <model> als Abhilfe an.
  • Ein context-1m-Beta, das durch ANTHROPIC_BETAS oder 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 die autoCompactWindow-Einstellung auf 200000, damit Auto-Komprimierung bei der 200K-Grenze komprimiert
  • Wenn die Meldung eine Modell-ID benennt, die diese Version nicht erkennt, führen Sie claude update aus. 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_CONTEXT auf; 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 haben
  • query_source: der Anfragepfad, der das Modell verwendet. Claude Code meldet sdk für einen -p-Lauf und einen Wert, der mit agent: 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 -p schreibt Claude Code es unter jedem --output-format auf 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 --debug aus, um es unter ~/.claude/debug/<session-id>.txt zu 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 wie opus. Für my-proxy-model aus der Beispielzeile fügen Sie diesen Eintrag hinzu:

    {
      "modelOverrides": {
        "claude-opus-4-6": "my-proxy-model"
      }
    }
    

    Claude Code behandelt dann my-proxy-model als claude-opus-4-6 und stoppt das Schreiben der Zeile.

  • Wenn die ID ein Modell benennt, das neuer als Ihre Claude Code-Version ist, führen Sie claude update aus

  • 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_source mit agent: 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 Sie claude doctor erneut 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 /model aus, um zu bestätigen, dass Sie das erwartete Modell verwenden. Eine vorherige /model-Auswahl oder eine ANTHROPIC_MODEL-Umgebungsvariable kann Sie auf einem kleineren Modell als beabsichtigt platzieren.
  • Aufwandsstufe: Führen Sie /effort aus, 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 die ultrathink-Verknüpfung.
  • Kontextdruck: Führen Sie /context aus, um zu sehen, wie voll das Fenster ist. Wenn es sich der Kapazität nähert, führen Sie /compact an einem natürlichen Haltepunkt oder /clear aus, 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 /context zeigt die MCP-Tool-Token-Nutzung an. Vor v2.1.205 öffnete /doctor einen 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:

Wenn ein Fehler hier nicht aufgeführt ist oder die vorgeschlagene Lösung nicht hilft:

  • Führen Sie /feedback in 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 /feedback ein lokales Archiv, das Sie stattdessen an Ihren Anthropic-Kontorepräsentanten senden können.
  • Führen Sie claude doctor aus 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