Справочник по ошибкам
Найдите сообщения об ошибках Claude Code с объяснением их значения и способов исправления.
На этой странице перечислены ошибки времени выполнения, которые отображает Claude Code, и способы восстановления после каждой из них, а также что проверить, когда ответы кажутся неправильными без ошибки. Для ошибок установки, таких как command not found или сбои TLS во время установки, см. Устранение неполадок при установке и входе.
За исключением ошибок Wrapper и IDE, которые выводит запускающая программа, а не сам Claude Code, эти ошибки и команды восстановления применяются во всех интерфейсах: CLI, приложении Desktop и Claude Code в веб-версии, поскольку все три используют один и тот же Claude Code CLI. Для других проблем, специфичных для конкретного интерфейса, см. раздел устранения неполадок на странице этого интерфейса.
Claude Code вызывает Claude API для получения ответов модели, поэтому большинство ошибок времени выполнения соответствуют базовому коду ошибки API. На этой странице описано, что означает каждая ошибка в Claude Code и как восстановиться. Для определений кодов состояния HTTP в исходном виде см. справочник по ошибкам платформы Claude.
Найдите вашу ошибку
Сопоставьте сообщение, которое вы видите, с разделом ниже.
| Сообщение | Раздел |
|---|---|
API Error: 500 Internal server error |
Server errors |
API Error: Repeated 529 Overloaded errors |
Server errors |
Request timed out |
Server errors, или Network если сообщение упоминает вашу интернет-соединение |
API Error: No response from API |
Server errors |
Server error mid-response. The response above may be incomplete. |
Server errors |
Connection lost mid-response / Your computer went to sleep mid-response / The response stopped arriving |
Server errors |
Connection closed mid-response / Response stalled mid-stream |
Server errors |
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 |
Automatic retries |
Connection closed while thinking / Response stalled while thinking |
Automatic retries |
Connection lost while your computer was asleep |
Automatic retries |
<model> is temporarily unavailable, so auto mode cannot determine the safety of... |
Server errors |
Auto mode could not evaluate this action and is blocking it for safety |
Server errors |
Auto mode classifier transcript exceeded context window |
Server errors |
Agent aborted: auto mode classifier request refused by the safety safeguard |
Server errors |
Agent terminated early due to an API error |
Server errors |
You've hit your session limit / You've hit your weekly limit / You've hit your Opus limit / You've hit your Sonnet limit |
Usage limits |
Usage credits required for 1M context |
Usage limits |
the prompt to confirm went unanswered — nothing was sent |
Usage limits |
Server is temporarily limiting requests |
Usage limits |
Request rejected (429) |
Usage limits |
Credit balance is too low |
Usage limits |
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 |
Usage limits |
Could not update your spend limit |
Usage limits |
spend limit reached / spend limit unavailable |
Usage limits |
Not logged in · Please run /login |
Authentication |
Could not resolve authentication method |
Authentication |
Invalid API key |
Authentication |
Your apiKeyHelper script is failing |
Authentication |
Invalid auth token · Fix external auth token |
Authentication |
Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable |
Authentication |
Invalid request header from the environment · Fix the environment variable |
Authentication |
This organization has been disabled |
Authentication |
Your organization has disabled API key authentication |
Authentication |
Your organization has disabled Claude subscription access |
Authentication |
Routines are disabled by your organization's policy |
Authentication |
Remote Control is only available when using Claude via api.anthropic.com |
Authentication |
OAuth token refresh failed — run /login to re-authenticate |
Authentication |
JWT refresh failed: no OAuth token — run /login |
Authentication |
Claude.ai login expired |
Authentication |
Claude.ai login was rejected — run /login, then /remote-control |
Authentication |
OAuth token unavailable — run /login to restore Remote Control |
Authentication |
Signed out of Claude — run /login, then /remote-control |
Authentication |
signed-in claude.ai account or organization changed on this machine |
Authentication |
Remote Control stopped — the app running this session is now signed in to a different Claude account |
Authentication |
Remote Control stopped — the app running this session is signed out of Claude |
Authentication |
OAuth token revoked / OAuth token has expired |
Authentication |
API Error: 401 Invalid authentication credentials |
Authentication |
Login expired · Please run /login |
Authentication |
Claude login not accepted · Run /login, then try again |
Authentication |
Not signed in to the Cloud gateway — run /login. |
Authentication |
Administrator policy requires a Cloud gateway sign-in on this machine |
Authentication |
Failed to authenticate: OAuth session expired and could not be refreshed |
Authentication |
Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted |
Authentication |
Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted |
Authentication |
Anthropic profile login expired · Re-authenticate your Anthropic profile |
Authentication |
Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile |
Authentication |
does not meet scope requirement user:profile |
Authentication |
claude.ai rejected the session token / session token rejected |
Authentication |
MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate) |
Authentication |
rejected the credential from its headersHelper / rejected the Authorization header in its config |
Authentication |
MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate |
Authentication |
MCP server "<name>" requires re-authorization (token expired) |
Authentication |
Issuer mismatch in authorization response (RFC 9207) |
Authentication |
Cloud gateway session expired — run /login to reconnect. |
Authentication |
Cloud gateway <url> no longer accepts this session |
Authentication |
AWS credentials expired or invalid |
Authentication |
AWS authentication failed |
Authentication |
Google Cloud credentials expired or invalid |
Authentication |
Google Cloud authentication failed |
Authentication |
Microsoft Foundry authentication failed |
Authentication |
Gateway refused the request |
Authentication |
Could not load AWS credentials / Could not load Google Cloud credentials |
Authentication |
AWS default-chain credential resolve timed out |
Authentication |
Timed out after 60s waiting for AWS |
Authentication |
A request to AWS timed out. Check your network and proxy settings, then try again. |
Authentication |
Could not load the default credentials on Google Cloud's Agent Platform |
Authentication |
Unable to connect to API |
Network |
Connection refused — / Can't reach the API server — / No internet route — / Couldn't connect through your proxy / Connection dropped, каждое с кодом ошибки в скобках |
Network |
Unable to connect to Anthropic services during setup |
Network |
Socket is closed |
Network |
Waiting for API response · will retry in |
Automatic retries, или Network если это продолжается |
API returned an empty or malformed response |
Network |
Streaming response ended before any complete data was received |
Network |
Bedrock streaming response has content-type "..."; expected "application/vnd.amazon.eventstream" |
Network |
SSL certificate verification failed |
Network |
SSL certificate error (...) during login or startup |
Network |
unable to get local issuer certificate |
Network |
403 with x-deny-reason: host_not_allowed in a cloud or routine session |
Network |
proxy refused the connection |
Network |
403 with This GraphQL query is not enabled for this session in a cloud session |
GitHub proxy |
The cloud environments service returned an empty response / The cloud environments service returned a response in an unexpected format |
Network |
Couldn't reconnect to your Remote Control session |
Network |
N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed. |
Network |
Couldn't share the transcript. |
Network |
Prompt is too long / Input is too long for requested model |
Request errors |
Prompt is too long · automatic compaction failed: |
Request errors |
Prompt is too long · this conversation is a single exchange / A single-exchange conversation cannot be compacted |
Request errors |
Context limit reached · /compact or /clear to continue |
Request errors |
Context limit reached · /clear to continue |
Request errors |
capability_rejected: prompt_too_long on a Claude apps gateway session |
Request errors |
upstream rejected the request / request too large for this upstream on a Claude apps gateway session |
Upstream error messages |
upstream rate limit exceeded on a Claude apps gateway session |
Upstream error messages |
all upstreams failed (N attempted) on a Claude apps gateway session |
Upstream error messages |
Claude Code may not be enabled for your organization after a Claude apps gateway sign-in |
Claude apps gateway troubleshooting |
Context exceeds the ...-token limit by ... tokens in /context output |
Request errors |
Error during compaction: Conversation too long |
Request errors |
Request too large |
Request errors |
Request too large for the API's 32MB request limit |
Request errors |
Image was too large |
Request errors |
Unable to resize image |
Request errors |
PDF too large / PDF is password protected |
Request errors |
Extra inputs are not permitted |
Request errors |
API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid / Property keys should match pattern |
Request errors |
There's an issue with the selected model |
Request errors |
Model ... is not a recognized model id |
Request errors |
Model ... not found |
Request errors |
Claude Opus is not available with the Claude Pro plan |
Request errors |
Claude Code ... does not support this model; version ... or newer is required |
Request errors |
Claude Code ... is older than the minimum version required by your organization's policy |
Request errors |
Model ... is restricted by your organization's settings |
Request errors |
Model switch ... blocked by a PreModelSwitch hook |
Request errors |
couldn't save it as your default / couldn't confirm it was saved as your default |
Request errors |
thinking.type.enabled is not supported for this model |
Request errors |
Effort '<level>' isn't available with thinking turned off on this model |
Request errors |
effort '<level>' is not supported when thinking is disabled |
Request errors |
max_tokens must be greater than thinking.budget_tokens |
Request errors |
API Error: 400 due to tool use concurrency issues |
Request errors |
[Unsupported tool content removed] |
Request errors |
server_tool_use.name: Input should be on every turn of a resumed session |
Request errors |
<model> can't help with this. Start a new session to continue |
Request errors |
Claude Code is unable to respond to this request, which appears to violate our Usage Policy |
Request errors |
<model>'s safeguards flagged this message |
Request errors |
<model> has safety measures that flagged this message for a cybersecurity topic |
Request errors |
Installation was killed before it could finish (exit code 137) |
Installation errors |
The connection dropped while downloading the update |
Installation errors |
Download timed out: exceeded the total deadline |
Installation errors |
--bg and --print conflict |
Command-line errors |
Cloud sessions cannot be created from a --restricted session |
Command-line errors |
Cloud sessions are disabled by your organization's policy |
Command-line errors |
Couldn't verify your organization's policy for cloud sessions |
Command-line errors |
Error: --json-schema is not a valid JSON Schema |
Command-line errors |
Error: Invalid --agents configuration: |
Command-line errors |
Error: Settings file exceeds the 2MiB limit |
Command-line errors |
The current directory no longer exists (it was deleted or moved) / Can't read the current directory |
Command-line errors |
couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded |
Command-line errors |
Error: Workspace not trusted when starting Remote Control |
Command-line errors |
`<flag>` before `remote-control` is not carried over to the sessions Remote Control starts |
Command-line errors |
`claude import` is not yet available in this build |
Command-line errors |
Could not read Claude Code config |
Command-line errors |
Could not import <server>: <reason> |
Command-line errors |
Cannot add MCP server to scope: managed |
Command-line errors |
is Anthropic-hosted and doesn't support local OAuth |
Command-line errors |
Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes |
Command-line errors |
Server rejected the Authorization header minted by the configured headersHelper |
Command-line errors |
Error: MCP tool <name> (passed via --permission-prompt-tool) not found |
Command-line errors |
OAuth callback port <port> is already in use — another process may be holding it |
Command-line errors |
No available ports for OAuth redirect |
Command-line errors |
Shell command failed for pattern "...", from /security-review or any skill that injects dynamic context |
Command-line errors |
Shell command permission check failed for pattern "...", from a skill that injects dynamic context |
Command-line errors |
Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found |
Command-line errors |
Input must be provided either through stdin or as a prompt argument when using --print |
Command-line errors |
Error: Input contained only whitespace |
Command-line errors |
Blank prompt — the message was only whitespace, so nothing was sent to the model. |
Command-line errors |
Error: stream-json input carried over 256M characters with no newline |
Command-line errors |
Unknown command: /<name>, with or without a Did you mean suggestion |
Command-line errors |
Diff is too large for ultrareview / PR #<N> is too large for ultrareview |
Command-line errors |
Could not find merge-base with <branch> |
Command-line errors |
Your checkout has no branches (detached HEAD only) |
Command-line errors |
Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected |
Command-line errors |
Your connected GitHub account can't see <owner>/<repo> |
Command-line errors |
The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead |
Command-line errors |
GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud |
Command-line errors |
Single sign-on authorization needed |
Command-line errors |
Failed to resume the conversation |
Command-line errors |
No conversation found with session ID: <session-id> |
Command-line errors |
Cannot switch renderers in this session |
Command-line errors |
Cannot switch renderers while work is running in the background |
Command-line errors |
Couldn't read your Zed keymap / Couldn't back up your Zed keymap / Couldn't update your Zed keymap |
Command-line errors |
Your Zed keymap isn't a readable list of keybindings |
Command-line errors |
Skill usage reports are not available on this connection. |
Command-line errors |
Custom output styles can't be selected over Remote Control or from a relayed message |
Command-line errors |
Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load |
Command-line errors |
`plugin eval` is currently in early access / `plugin eval` is currently unavailable |
Plugin errors |
Marketplace "<name>" is registered from an untrusted source |
Plugin errors |
references ${user_config.*} in a shell-form command |
Plugin errors |
Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command |
Plugin errors |
headersHelper for MCP server '<name>' references ${user_config.*} |
Plugin errors |
Plugin archive integrity check failed |
Plugin errors |
path escapes plugin directory |
Plugin errors |
path could not be checked |
Plugin errors |
its marketplace entry path does not stay inside the marketplace directory |
Plugin errors |
Plugin source path refused |
Plugin errors |
Failed to load marketplace configuration |
Plugin errors |
Marketplace configuration file is corrupted |
Plugin errors |
would be spawned with zero tools — refusing |
Tool errors |
File is covered by a Read deny rule in your permission settings |
Tool errors |
subagent_type is required: the general-purpose agent is not available in this session |
Tool errors |
Error: this write left the memory index at MEMORY.md at ..., over its ... read limit |
Tool errors |
pkill: refusing to run |
Tool errors |
Failed to write to <name>'s inbox — nothing was sent |
Tool errors |
Failed to write the plan approval request to the lead's inbox — plan not submitted |
Tool errors |
Its agent definition was not restored: the folder its definition file came from is not trusted |
Tool errors |
Message too large for cross-session delivery |
Tool errors |
Too many messages to this session just now |
Tool errors |
Refusing to send: reply target is a symlink / Refusing to send: cannot vet reply target |
Tool errors |
Refusing to send: connected endpoint is not the expected process / Refusing to send: connected endpoint identity could not be read |
Tool errors |
Refusing to send: connected endpoint is not owned by this user / Refusing to send: connected endpoint owner could not be read |
Tool errors |
Refusing to send: connected endpoint is a different process with the expected pid |
Tool errors |
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 |
Tool errors |
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 |
Tool errors |
Refusing to write through symlink: <path> / Refusing to write into symlinked directory: <path> |
Tool errors |
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 |
Tool errors |
its permission check expired before it ran (too many concurrent file operations) / ripgrep was found only by name on PATH |
Tool errors |
task output swap refused (tasks dir moved or linked) |
Tool errors |
Command killed: its output file was replaced or could no longer be verified |
Tool errors |
the source file is not valid UTF-8 text / the source file is not valid UTF-16 text |
Tool errors |
the source file has the replacement character U+FFFD |
Tool errors |
Reading a local file from outside this session's connected folders, or through a link, needs the approval card |
Tool errors |
cannot read file_path (...) — the file could not be examined, and no one can answer the approval card |
Tool errors |
WebFetch cannot fetch localhost or other hostnames without a dot |
Tool errors |
Can't open MCP settings while no terminal is attached to this background session |
Background session errors |
Can't open MCP settings in a background session |
Background session errors |
blocked because the path is spelled in a form that cannot be safely resolved |
Background session errors |
blocked because the path is network-shaped |
Background session errors |
This session has no saved transcript |
Background session errors |
Can't open — this session is running in another terminal |
Background session errors |
This conversation is already open in another running Claude session |
Background session errors |
This session's saved conversation is no longer on disk |
Background session errors |
kept <id> — its worktree is still at <path> |
Background session errors |
kept <id> — <n> unpushed commits on <branch> |
Background session errors |
kept <id> — worktree has commits that are not pushed anywhere |
Background session errors |
terminal host process died — press Enter to restart / This session's terminal host process died |
Background session errors |
Session isn't responding / Press enter again to restart this session — it isn't responding |
Background session errors |
Session <id> was stopped while the respawn was in flight |
Background session errors |
This session was running agent '<name>', which is no longer available |
Background session errors |
CLAUDE_CODE_PROCESS_WRAPPER: launcher ... |
Background session errors |
EUNKNOWN: unknown error, uv_spawn |
Background session errors |
EACCES: permission denied, posix_spawn |
Background session errors |
exited before it became reachable |
Background session errors |
Couldn't start a background session (working directory no longer exists or is not accessible: ...) |
Background session errors |
Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...) |
Background session errors |
Claude Code process exited with code N |
Wrapper and IDE errors |
The connection to Claude Code ended before this message completed |
Wrapper and IDE errors |
Could not locate the Claude CLI on PATH |
Wrapper and IDE errors |
Restored the code, but skipped N files |
Rewind warnings and errors |
No files were restored: N files failed (backup missing, or the file could not be updated) |
Rewind warnings and errors |
Transcript writes are failing (...) |
Session saving warnings |
Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set |
Session saving warnings |
Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker |
Session saving warnings |
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 |
Configuration warnings |
Claude Code exited after an unrecoverable interface error (...) |
Configuration warnings |
Agent descriptions are over the 15.0k-token limit |
Configuration warnings |
Ignoring N permissions.allow entries from ... this workspace has not been trusted |
Configuration warnings |
is a network path, which cannot be added as a working directory |
Configuration warnings |
Remote managed settings failed to load (<cause>) |
Configuration warnings |
Managed settings were not approved; exiting without applying them. |
Configuration warnings |
MCP server <name> is blocked by enterprise managed policy |
Configuration warnings |
Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it. |
Configuration warnings |
Managed settings drop-in directory could not be read |
Configuration warnings |
"crossSessionInbound" must be one of "accept", "hold", "refuse" |
Configuration warnings |
headersHelper not run — this workspace has no persisted trust |
Configuration warnings |
Invalid permission rule "..." was skipped: Malformed Tool(content) rule |
Configuration warnings |
... is not matched by file permission checks |
Configuration warnings |
... has a wildcard before the rest of the command |
Configuration warnings |
CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced |
Configuration warnings |
[claude-code:unrecognized_model] |
Configuration warnings |
Stale sandbox mask files left by a killed session |
Configuration warnings |
| Responses seem lower quality than usual | Response quality |
Автоматические повторные попытки
Claude Code повторяет временные сбои до 10 раз с экспоненциальной задержкой перед отображением ошибки. Он не всегда повторяет сбой, который происходит в середине ответа Claude. Когда вы видите одну из ошибок на этой странице, Claude Code уже выполнил все применимые повторные попытки для этого сбоя; списки ниже указывают, какие сбои получают полный бюджет, какие получают меньший, а какие не получают никакого.
Claude Code повторяет эти сбои:
- Ошибки сервера, перегруженные ответы и тайм-ауты запросов, которые приходят до того, как какая-либо часть ответа Claude начнёт передаваться потоком.
- Разорванные соединения. Когда соединение разрывается в середине запроса до того, как Claude завершит какую-либо часть своего ответа, включая его размышление, Claude Code повторно отправляет запрос с той же задержкой и ход продолжается, даже если некоторый текст уже начал передаваться потоком. Когда оно разрывается после того, как Claude завершил размышление, но до того, как он начал какой-либо текст или вызов инструмента, Claude Code вместо этого повторно отправляет запрос до двух раз в быстрой последовательности и завершает ход с
Connection lost before a response was produced, если соединение продолжает разрываться в этот момент. - Соединение, которое Claude Code обнаружил, было разорвано тем, что ваш компьютер перешёл в режим сна в середине запроса. Claude Code считает это разорванным соединением в соответствии с приведёнными выше правилами; как только метка повторной попытки назовёт конкретную причину, она будет читаться как
Connection lost while your computer was asleep, и если ход завершается после того, как Claude завершил размышление, но до любого текста или вызова инструмента, сообщение читается какYour computer went to sleep before a response was produced. - Застопорившийся поток ответа, когда заголовки ответа прибыли, но ни одна часть ответа Claude не прибыла, или когда Claude завершил размышление, но не начал какой-либо текст или вызов инструмента: Claude Code прерывает застопорившееся соединение и повторно отправляет запрос максимум один раз, вне бюджета из 10 попыток выше. Если ответ застопорится во второй раз после того, как Claude завершил размышление, но до любого текста или вызова инструмента, Claude Code завершает ход с
The response stalled before a response was produced. - Потоковый запрос, на который API никогда не отвечает заголовками ответа, на соединении, где первый байт дедлайна работает: Claude Code прерывает его в дедлайне и повторно отправляет его максимум один раз за запрос модели, в пределах бюджета повторных попыток, затем завершает ход с No response from API, если эта попытка также остаётся без ответа. На других соединениях запрос ждёт
API_TIMEOUT_MS. Когда вы устанавливаетеCLAUDE_CODE_RETRY_WATCHDOG, ограничение на одну повторную попытку не применяется. - Временные дроссели 429, но не лимит расходов шлюза
429, который не является дросселем; см. Spend limit reached.- Когда вы вошли с подпиской claude.ai, это включает дроссели 429, которые не содержат заголовков квоты вашего плана. До v2.1.199 Claude Code повторял эти дроссели только для API ключа и входов Enterprise.
- Запрос отклонен, потому что входные данные плюс
max_tokensпревышают лимит контекста. Повторная отправка его без изменений приведёт к тому же результату, поэтому Claude Code повторяет с уменьшеннымmax_tokensи прекращает повторные попытки и вместо этого выполняет компактирование в двух случаях:- Когда никакое сокращение не может поместиться, например когда сам разговор почти заполняет окно контекста.
- Когда повторная попытка не может больше сокращать
max_tokens. До v2.1.218 Claude Code мог повторно отправить уменьшенный запрос, который всё ещё не подходил, например когда бюджет расширенного размышления превышал оставшийся контекст, пока не закончился бюджет повторных попыток.
- Истёкшие или отсутствующие учётные данные Google Cloud на Google Cloud's Agent Platform, или учётные данные AWS, которые не загружаются на вашей машине. Claude Code отбрасывает свои кэшированные учётные данные и повторяет попытку до двух раз, затем сообщает об ошибке, чтобы вы могли повторно пройти аутентификацию сразу же, как описано в разделе Could not load AWS or Google Cloud credentials. До v2.1.228 Claude Code повторял неудачные учётные данные Google Cloud через полный бюджет повторных попыток перед отображением ошибки.
401или403из Anthropic API, напрямую или через LLM gateway, пока скриптapiKeyHelperпредоставляет учётные данные. Claude Code повторно запускает скрипт и повторяет попытку с его свежим выводом, в пределах полного бюджета повторных попыток. Когда сам скрипт не работает при повторном запуске, Claude Code вместо этого показывает Your apiKeyHelper script is failing.
До v2.1.227 Connection lost before a response was produced читалось как Connection closed while thinking, before producing a response и The response stalled before a response was produced читалось как Response stalled while thinking, before producing a response.
Claude Code не повторяет эти сбои:
- Сбой проверки сертификата TLS, такой как TLS-инспектирующий прокси, отсутствующий пакет
NODE_EXTRA_CA_CERTSили истёкший сертификат. Claude Code сообщает об ошибке при первой попытке, чтобы вы могли сразу же исправить настройку сертификата; см. SSL certificate errors. Claude Code по-прежнему повторяет временные условия TLS, такие как тайм-аут рукопожатия. До v2.1.199 Claude Code повторял сбои сертификатов через полный бюджет повторных попыток перед отображением ошибки. - Ошибка сервера, разорванное соединение или застопорившийся поток, который приходит после того, как Claude завершил блок текста или вызов инструмента, или начал один после завершения своего размышления, но до завершения ответа. Claude Code не повторно запускает запрос, потому что это может выполнить одни и те же вызовы инструментов дважды. Он сохраняет то, что Claude завершил, запускает любые вызовы инструментов, которые Claude завершил, и продолжает ход из их результатов. Для того, что вы видите в интерактивном сеансе и в неинтерактивном, прочитайте The response above may be incomplete. До v2.1.199 Claude Code отбрасывал частичный вывод и сообщал об всём ходе как об ошибке, когда ошибка сервера приходила в середине потока.
- Сбой, который приходит после того, как Claude завершил ответ: повторная попытка не требуется, поэтому Claude Code сохраняет полный ответ и завершает ход нормально.
- Amazon Bedrock streaming response with an unexpected content-type, потому что шлюз или прокси, переписывающие ответ, переписали бы повторную попытку таким же образом. Требуется Claude Code v2.1.208 или позже.
- Неполная повторная попытка потокового запроса, который получает статус успеха, но no Claude API message in the body. Claude Code завершает ход с этой ошибкой.
- Запрос, который проверка политики вашей организации отклонила, который отображается как строка
API Error:, содержащая сообщение об отказе. Администраторы вашей организации настроили проверку с помощью Inference hooks, функции Claude Enterprise, и сообщение заканчивается инструкциями, которые они настроили, или по умолчанию говорит вам связаться с ними. Claude Code не повторно отправляет отклонённый запрос на ту же модель или на fallback model, потому что отказ касается содержимого запроса, а не модели. До v2.1.239 Claude Code мог повторно отправить отклонённый запрос без потока или на настроенную резервную модель перед отображением отказа.
Что вы видите, пока Claude Code повторяет или ждёт
Во время повторной попытки спиннер показывает обратный отсчёт Retrying in Ns · attempt x/y после метки ошибки. Метка называет конкретную причину с первой попытки для сбоев, на которые вы можете действовать сразу же: сеть отключена, рукопожатие TLS не удалось, или вы достигли лимита скорости. Для других ошибок сначала читается API error. Начиная с v2.1.198 он переключается на конкретную причину с третьей попытки, или при последней попытке, когда CLAUDE_CODE_MAX_RETRIES позволяет менее трёх; более ранние версии переключаются только при последней попытке.
Начиная с v2.1.198 обычный совет спиннера подавляется во время повторных попыток. После того как причина ошибки раскрыта, если сбой является перегрузкой 529, строка ниже обратного отсчёта также называет, где проверить статус услуги: status.claude.com на Anthropic API, или хост поставщика или шлюза, названный в сообщении на других конфигурациях.
Если никакие данные не поступают в поток ответа в течение 20 секунд, пока запрос всё ещё ожидается, спиннер показывает Waiting for API response · will retry in … · check your network перед началом любой повторной попытки. Запрос ещё не завершился: обратный отсчёт работает до точки, где Claude Code прерывает застопорившееся соединение. После прерывания то, что вы видите, зависит от того, как далеко продвинулся ответ:
- До того, как Claude завершил блок текста или вызов инструмента, или начал один после завершения своего размышления, Claude Code повторяет запрос или завершает ход с ошибкой. Automatic retries говорит, какие застои он повторяет и сколько раз.
- После того, как Claude завершил блок текста или вызов инструмента, или начал один после завершения своего размышления, но до того, как Claude завершил ответ, Claude Code сохраняет то, что Claude завершил, продолжает ход из любых вызовов инструментов, которые Claude завершил, и показывает The response above may be incomplete. В неинтерактивном сеансе и для ответа подагента в любом сеансе Claude Code может сначала предложить Claude продолжить ответ; эта запись говорит, когда это происходит и когда вы всё ещё видите уведомление там.
- После того, как Claude завершил ответ, Claude Code завершает ход нормально.
Баннер очищается сам по себе, как только данные возобновляются или повторная попытка успешна. Если он появляется при каждой попытке, рассматривайте это как network issue. До v2.1.185 баннер появлялся через 10 секунд с другой формулировкой.
Пока Claude консультируется с advisor, баннер появляется через 90 секунд без данных вместо 20, потому что длительный обзор советника может не отправлять ничего более 20 секунд. До v2.1.214 порог в 20 секунд применялся и во время вызовов советника, поэтому баннер появлялся во время обзоров советника даже когда ничего не было неправильно.
Настройка поведения повторных попыток
Вы можете настроить поведение повторных попыток с помощью этих переменных окружения:
| Переменная | По умолчанию | Эффект |
|---|---|---|
CLAUDE_CODE_MAX_RETRIES |
10 | Количество попыток повторной попытки. Ограничено 15 начиная с v2.1.186; начиная с v2.1.199 CLAUDE_CODE_RETRY_WATCHDOG повышает значение по умолчанию и удаляет ограничение. Снизьте его, чтобы быстрее выявлять сбои в скриптах. |
CLAUDE_CODE_RETRY_WATCHDOG |
не установлено | Установите на 1 в автоматических сеансах, таких как задания CI, чтобы повторять ошибки пропускной способности 429 и 529 бесконечно вместо отказа после CLAUDE_CODE_MAX_RETRIES попыток. Claude Code отказывает сразу же при 429, который сообщает о лимите расходов или исчерпанных кредитах использования, даже при одном из gateway spend cap, который сбрасывается по расписанию. До v2.1.239 сторож повторял эти бесконечно. На v2.1.199 или позже он также повышает количество повторных попыток по умолчанию для других временных ошибок, таких как ошибки сервера, тайм-ауты и разорванные соединения, до 300, примерно три часа задержки, и удаляет ограничение 15 на CLAUDE_CODE_MAX_RETRIES, если вы явно установите эту переменную. Для запросов в режиме быстрого выполнения см. Handle rate limits. |
API_TIMEOUT_MS |
600000 | Тайм-аут для каждого запроса в миллисекундах. Повысьте его для медленных сетей или прокси. Он также ограничивает, как долго Claude Code ждёт заголовков ответа, описано в No response from API. |
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS |
не установлено | Дедлайн в миллисекундах для первого байта ответа потокового запроса. Требуется Claude Code v2.1.242 или позже. Для того, как Claude Code выбирает дедлайн, когда это не установлено, см. No response from API. |
Ошибки сервера
Большинство этих ошибок поступают от поставщика вывода: сервиса Anthropic на Anthropic API и сервиса за конечной точкой этого поставщика на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или пользовательском шлюзе. Auto mode cannot determine the safety of an action и Agent terminated early due to an API error также охватывают причины на вашей стороне, такие как учетная запись Amazon Bedrock, которая не может вызвать модель классификатора, или подагент, который достиг лимита использования.
API Error: 500 Internal server error
Claude Code отображает код состояния и сообщение об ошибке API для любого ответа 5xx. Пример ниже показывает ответ 500 на 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.
Завершающее предложение указывает, где проверить здоровье сервиса и варьируется в зависимости от поставщика. Конфигурации Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry указывают на страницу статуса этого поставщика. Пользовательский ANTHROPIC_BASE_URL указывает на хост шлюза.
Это указывает на неожиданный сбой внутри API. Это не вызвано вашим приглашением, настройками или учетной записью.
Что делать:
- Проверьте status.claude.com или страницу статуса поставщика, указанную в сообщении, на предмет активных инцидентов
- Подождите минуту, затем отправьте сообщение еще раз. Ваше исходное сообщение все еще находится в разговоре, поэтому для длинного приглашения вы можете ввести
try againвместо вставки всего текста. - Если ошибка сохраняется без опубликованного инцидента, запустите
/feedback, чтобы Anthropic могла расследовать детали вашего запроса. См. Report an error, если/feedbackнедоступен в вашей среде.
API Error: Repeated 529 Overloaded errors
API временно работает на полную мощность для всех пользователей. Claude Code уже несколько раз повторил попытку перед отображением этого сообщения:
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.
Завершающее предложение варьируется в зависимости от поставщика так же, как ошибка 500 выше.
529 — это не ваш лимит использования и не учитывается в вашей квоте.
Что делать:
- Проверьте status.claude.com или страницу статуса поставщика, указанную в сообщении, на предмет уведомлений о емкости
- Повторите попытку через несколько минут
- Запустите
/modelи переключитесь на другую модель, чтобы продолжить работу, так как емкость отслеживается для каждой модели. Claude Code предлагает вам это сделать, когда одна модель испытывает особенно высокую нагрузку, напримерOpus is experiencing high load, please use /model to switch to Sonnet.
Request timed out
API не ответил до истечения срока подключения.
Request timed out
Это может произойти в периоды высокой нагрузки или когда модель генерирует очень большой ответ. Время ожидания запроса по умолчанию составляет 10 минут.
Что делать:
- Повторите запрос
- Для долгосрочных задач разбейте работу на более мелкие приглашения
- Если причина в медленной сети или прокси, увеличьте
API_TIMEOUT_MS, как описано в Automatic retries - Если тайм-ауты частые и ваша сеть в остальном здорова, см. Network and connection errors ниже
No response from API
Claude Code отправил потоковый запрос, и API не вернул заголовки ответа в срок для первого байта, поэтому Claude Code прервал запрос вместо ожидания полного тайм-аута запроса API_TIMEOUT_MS, 10 минут по умолчанию. Claude Code отправляет запрос снова максимум один раз, если retry budget позволяет. Когда повторная попытка также остается без ответа, ход завершается этим сообщением, которое показывает, как долго ждала каждая попытка. Когда вы устанавливаете CLAUDE_CODE_RETRY_WATCHDOG, ограничение на одну повторную попытку не применяется и Claude Code повторяет попытки в соответствии с бюджетом, описанным в Tune retry behavior.
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 устанавливает ожидание заголовков ответа первой попытки и повторной попытки отдельно:
- Первая попытка:
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MSкогда вы устанавливаете его на 1 или более, ограничено между 10 секундами и 30 минутами. В противном случае Claude Code использует тайм-аут байт-уровня watchdog, указанный в Streaming idle watchdogs, поэтому переменные, которые изменяют этот тайм-аут, изменяют это ожидание тоже. В любом случае Claude Code добавляет одну секунду на каждые 32 КБ тела запроса. - Повторная попытка: на одну секунду меньше
API_TIMEOUT_MS, чуть менее 10 минут по умолчанию, чтобы повторная попытка могла пережить прокси или шлюз, который держит ответ до завершения генерации. На Amazon Bedrock повторная попытка использует тот же срок, что и первая попытка, и сообщение показывает одну длительность вместо двух.
Ни одно ожидание не превышает одну секунду меньше положительного API_TIMEOUT_MS, и положительный API_TIMEOUT_MS менее 11 секунд отключает срок. Байт-уровневый watchdog начинается только после получения заголовков ответа, поэтому ответ, который перестает отправлять байты после этого, следует stalled-stream rules вместо этого срока.
Что делать:
- Отправьте сообщение еще раз. Ваше исходное сообщение все еще находится в разговоре, поэтому для длинного приглашения вы можете ввести
try againвместо вставки всего текста. - Если это повторяется, рассматривайте это как network or proxy problem. Прокси, который принимает соединение и никогда не пересылает запрос, производит эту ошибку при каждой попытке.
- Если прокси или шлюз в вашей сети держит ответы до их завершения, увеличьте
API_TIMEOUT_MS, чтобы повторная попытка ждала дольше. На Amazon Bedrock также увеличьтеCLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS. - Если первая попытка продолжает истекать по времени, а повторная попытка затем успешна, увеличьте
CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS, чтобы первая попытка также ждала достаточно долго.
До v2.1.242 Claude Code ждал полного тайм-аута запроса API_TIMEOUT_MS, 10 минут по умолчанию, перед отказом от потокового запроса без ответа. До v2.1.261 повторная попытка ждала тот же срок, что и первая попытка, и сообщение не показывало длительности.
The response above may be incomplete
Потоковый запрос не удался, пока ответ был еще в процессе, после того как Claude завершил блок текста или вызов инструмента, или начал один после завершения своего мышления. Повторная отправка запроса может запустить одни и те же вызовы инструментов дважды, поэтому Claude Code сохраняет выходные данные, которые Claude завершил, и добавляет это уведомление вместо отказа от хода. Какой вариант вы видите, указывает на причину:
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.
Server error mid-response: ошибка сервера перегрузки или 5xx в середине потока. Этот вариант требует Claude Code v2.1.199 или позже; до этого этот случай отбросил частичный выход и сообщил весь ход как ошибку.Connection lost mid-response: соединение разорвалось.Your computer went to sleep mid-response: Claude Code обнаружил, что ваш компьютер перешел в режим сна во время потоковой передачи ответа. После пробуждения компьютера Claude Code рассматривает соединение как разорванное и прекращает чтение из него.The response stopped arriving: соединение оставалось открытым, но перестало доставлять данные, поэтому потоковый idle watchdog прервал его. До v2.1.222 Claude Code также мог сообщить об этом сбое на gateway соединениях, достигнутых черезANTHROPIC_BASE_URLилиANTHROPIC_AWS_BASE_URL, пока пинги keep-alive сервера все еще поступали, потому что он считал только проанализированные события ответа там; обновление останавливает эти ложные тайм-ауты на этих маршрутах. Шлюзы, достигнутые через URL базы поставщика, такой какANTHROPIC_BEDROCK_BASE_URL, не обернуты байт-уровневым watchdog; см. Streaming idle watchdogs.
До v2.1.227 Connection lost mid-response читалось как Connection closed mid-response и The response stopped arriving читалось как Response stalled mid-stream.
В четырех случаях Claude Code обрабатывает сбой без отображения этого уведомления сразу:
- Ранее в ответе Claude Code либо повторяет попытку сбоя, либо завершает ход с другой ошибкой. См. Automatic retries.
- Когда один из этих сбоев поступает после того, как Claude завершил ответ, Claude Code сохраняет полный ответ и завершает ход нормально, без этого уведомления. До v2.1.222 Claude Code показывал это уведомление, когда соединение разорвалось или застопорилось после завершения ответа, и сообщал ход как ошибку, даже если ответ был полным.
- В non-interactive session, такой как запуск
-p, запуск Agent SDK или cloud session, вам не нужно отправлятьcontinueсамостоятельно, когда обрезанный ответ находится в основном разговоре и содержит текст, но не вызовы инструментов: Claude Code сохраняет частичный выход и предлагает Claude продолжить с того места, где он остановился, до трех раз подряд. Вы видите это уведомление для такого ответа только после того, как Claude Code исчерпал эти продолжения. До v2.1.246 Claude Code завершал неинтерактивный ход с этим уведомлением при первом обрезании. - В subagent, независимо от того, интерактивна ли сессия или нет: когда его обрезанный ответ содержит текст, но не вызовы инструментов, Claude Code предлагает подагенту продолжить. Уведомление становится последним сообщением подагента только после того, как эти продолжения исчерпаны. До v2.1.257 подагент показывал это уведомление при первом обрезании.
Что делать:
- В интерактивной сессии прочитайте ответ, который остается на экране: Claude Code сохраняет каждый блок, который Claude завершил перед ошибкой, но отбрасывает прерванный финальный блок, когда ход заканчивается, поэтому финальные предложения или вызовы инструментов могут отсутствовать. Ответьте с
continue, чтобы Claude продолжил с его последнего завершенного блока. - В non-interactive mode (
-p):- С выходом текста по умолчанию Claude Code печатает последний завершенный блок текста, который он все еще держит с более ранней части хода, за которым следует это сообщение. Когда он не держит ничего, Claude Code печатает только это сообщение, например, потому что Claude Code сжал разговор в середине хода и очистил этот текст. До v2.1.219 Claude Code печатал только это сообщение в выходе текста
-pи отбрасывал ответ, который он уже произвел. - С
--output-format jsonилиstream-jsonClaude Code сообщает об этом сообщении в полеresult. - Чтобы продолжить ход после стабилизации соединения, возобновите сессию и отправьте
continue, как описано в Continue conversations.
- С выходом текста по умолчанию Claude Code печатает последний завершенный блок текста, который он все еще держит с более ранней части хода, за которым следует это сообщение. Когда он не держит ничего, Claude Code печатает только это сообщение, например, потому что Claude Code сжал разговор в середине хода и очистил этот текст. До v2.1.219 Claude Code печатал только это сообщение в выходе текста
Auto mode cannot determine the safety of an action
Модель, которую auto mode использует для классификации действий, не смогла принять решение, поэтому auto mode не одобрил действие автоматически. Сообщение, которое вы видите, зависит от того, как классификатор не удался.
Чтения, поиски и редактирования внутри вашего рабочего каталога пропускают классификатор, поэтому они продолжают работать во всех этих случаях.
Когда модель классификатора недоступна:
<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.
Когда Claude Code может определить категорию сбоя, он называет категорию в скобках после temporarily unavailable, например <model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now. Категории: (rate-limited), (overloaded), (server error), (timed out) и (connection failed). Ограничение скорости, перегрузка и ошибки сервера являются временными, и повторная попытка работает. Если (timed out) или (connection failed) повторяется, проверьте ваше соединение; см. Unable to connect to API. До v2.1.229 сообщение никогда не называло категорию и читалось как Wait briefly and then try this action again.
Когда ни одна категория не подходит, сообщение появляется без категории в скобках; более одного сбоя производит эту форму. На Amazon Bedrock, включая Mantle endpoint, это также появляется, когда ваша учетная запись AWS не может вызвать модель, указанную в сообщении, и этот сбой повторяется при каждой повторной попытке, пока вашей учетной записи не будет предоставлен доступ к модели.
Что делать:
- Повторите попытку через несколько секунд; Claude видит то же сообщение и обычно повторяет попытку самостоятельно. Временный сбой не связан с auto mode eligibility; вам не нужно менять настройки
- Если повторные попытки продолжают не удаваться, продолжайте с задачами только для чтения и вернитесь к заблокированному действию позже
- На Amazon Bedrock, если сообщение возвращается при каждой повторной попытке, проверьте, что ваша учетная запись может вызвать модель, которую оно называет: для стандартных моделей Amazon Bedrock подтвердите, что ваша IAM policy позволяет вызывать ее; для ID моделей Mantle свяжитесь с вашей командой учетной записи AWS
Когда запрос классификатора не удается, потому что ваш OAuth токен истек или был повернут другой сессией, Claude Code обновляет токен и повторяет запрос один раз, поэтому обычное истечение токена не появляется как это сообщение. До v2.1.216 истекший или повернутый токен не удавался при каждом запросе классификатора, и auto mode отрицал каждое проверенное действие с этим сообщением, пока токен не был обновлен.
Когда классификатор вернул непарсируемый ответ:
Auto mode could not evaluate this action and is blocking it for safety — run with --debug for details
Что делать:
- Повторите действие; это обычно успешно при следующей попытке
- Запустите
claude --debugи повторите действие, чтобы увидеть основной ответ классификатора в журнале отладки
Когда отдельная проверка безопасности API заблокировала запрос классификатора из-за более раннего содержимого разговора:
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 отрицает действие, но говорит Claude, что это не суждение о том, что действие небезопасно, и продолжить с другими задачами, а не повторять попытку. Эти отказы не учитываются в auto mode's pause thresholds. В non-interactive запуске -p Claude Code не останавливает запуск. То, что получает Claude, зависит от того, где оно запросило действие:
- К background subagent в запуске
-pбез--input-format stream-jsonClaude Code возвращает результат ошибки, содержащийAgent aborted: auto mode classifier request refused by the safety safeguard in headless mode - Везде, включая интерактивные сессии и основной разговор запуска
-p, Claude Code возвращает это отрицание Claude
До v2.1.225 Claude Code считал эти отказы в направлении пороговых значений паузы и возвращал то же самое отклонение, что и подлинный блок классификатора.
Что делать:
- Это не решение о вашем действии. Содержимое, уже находящееся в вашем разговоре, вызвало фильтр безопасности на API, когда auto mode отправил разговор классификатору
- Повторная попытка не поможет; то же содержимое разговора снова вызовет фильтр
- В интерактивной сессии переключитесь на другой permission mode, чтобы вы могли одобрить действие при появлении запроса
- Начните свежий разговор без содержимого, вызывающего срабатывание
Когда разговор вырос больше, чем контекстное окно классификатора:
Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)
То, что происходит с действием, зависит от того, где Claude его запросил:
- В интерактивной сессии auto mode возвращается к обычному приглашению разрешения для этого действия, чтобы вы могли одобрить или отрицать его вручную
- К background subagent в non-interactive запуске
-pбез--input-format stream-jsonClaude Code возвращает результат ошибки, содержащийAgent aborted: auto mode classifier transcript exceeded context window in headless mode, и запуск продолжается - В другом месте в запуске
-pбез--permission-prompt-toolнет приглашения для возврата, поэтому действие не выполняется и запуск продолжается
Что делать:
- В интерактивной сессии одобрите или отрицайте действие в появившемся приглашении
- В интерактивной сессии запустите
/compact, чтобы уменьшить размер разговора, чтобы последующие действия снова подходили в окно классификатора
Agent terminated early due to an API error
Запрос API subagent не удался окончательно, например, потому что был достигнут лимит использования или повторные попытки для ошибки сервера исчерпаны, поэтому подагент остановился перед завершением своей задачи. Это сообщение требует Claude Code v2.1.199 или позже; до этого текст ошибки API был возвращен Claude, как если бы это был результат подагента.
Agent terminated early due to an API error: <error detail>
Что делать:
- Сопоставьте деталь ошибки после двоеточия с его собственным разделом на этой странице, такой как Usage limits или Server errors, и следуйте шагам этого раздела
- После того как основная ошибка исчезнет, попросите Claude повторить задачу или resume the subagent
Когда ограничение скорости, перегрузка или ошибка сервера прерывает подагент переднего плана, который уже произвел текстовый выход, Claude получает этот частичный выход, отмеченный как неполный, вместо этой ошибки. Подагент, единственным выходом которого были вызовы инструментов, также получает эту ошибку; в v2.1.199 эта форма возвращала пустой частичный результат вместо этого. См. API errors in subagents.
Ограничения использования
Большинство ошибок в этом разделе означают, что достигнута квота, привязанная к вашей учётной записи или плану. Три работают по-другому: Server is temporarily limiting requests — это серверное ограничение скорости, не связанное с квотой вашего плана, Usage credits required for 1M context — это проверка прав доступа, а не исчерпанная квота, и The prompt to confirm went unanswered означает, что подтверждающий запрос на использование кредитов закрыт без ответа, независимо от того, была ли достигнута квота.
You've hit your session limit
Планы подписки включают скользящий лимит использования. Когда он заканчивается, вы видите одно из этих сообщений:
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 блокирует дальнейшие запросы до времени сброса, указанного в сообщении. Лимиты сеанса и недели являются общими для всех моделей, поэтому переключение моделей не восстанавливает доступ. Лимиты Opus и Sonnet применяются только к запросам к этому семейству моделей, поэтому переключение на модель вне семейства с помощью /model позволяет вам продолжить работу.
В интерактивном сеансе, вошедшем с подпиской claude.ai, Claude Code также может ждать в открытом сеансе и продолжить прерванную задачу вскоре после сброса. Пока он ждёт, строка в нижней части сеанса читает Usage limit reached · continuing automatically at 3:45pm · esc to cancel. Нажмите Esc при пустом приглашении, чтобы отменить ожидание. См. Wait for a usage limit to reset для информации о том, что вы видите, как начать или отменить ожидание и как отключить автоматическое продолжение. До версии v2.1.234 Claude Code не предлагал это ожидание.
Использование учитывается одновременно в лимитах сеанса и недели. Один всплеск интенсивной деятельности, такой как большой fanout рабочего процесса, может исчерпать недельный лимит до сброса окна сеанса.
Что делать:
- Дождитесь времени сброса, указанного в ошибке
- На вкладке Code в Desktop app карточка session-limit предлагает флажок Auto-continue when limits reset. Карточка weekly-limit этого не предлагает. Когда он отмечен, Desktop app повторяет прерванный ход после сброса и показывает время повтора на карточке. Флажок Desktop и параметр Continue automatically at usage limit в CLI в
/configявляются отдельными, поэтому отключайте каждый отдельно. - Для лимита Opus или Sonnet запустите
/modelи переключитесь на модель вне этого семейства, чтобы продолжить работу. Каждая модель имеет свой собственный кэш подсказок, поэтому следующий запрос повторно читает весь разговор без попаданий в кэш; см. Switching models - Запустите
/usage, чтобы увидеть лимиты вашего плана и когда они сбрасываются - Запустите
/usage-credits, чтобы купить дополнительное использование на Pro и Max, или запросить его у администратора на Team и Enterprise. См. usage credits for paid plans для информации о том, как это выставляется счётом. - Чтобы обновить ваш план для более высоких базовых лимитов, см. claude.com/pricing
Перед тем как окно закончится, Claude Code может предупредить вас, что вы использовали большую часть его, с сообщением, таким как You've used 85% of your session limit · resets 3:45pm. Чтобы непрерывно отслеживать оставшийся лимит, добавьте поля rate_limits в custom status line, или в Desktop app нажмите usage ring рядом с выбором модели.
Usage credits required for 1M context
Выбранная модель использует расширенное окно контекста с расширением 1M-токена, и ваш план включает его только через кредиты использования.
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
Это проверка прав доступа, а не исчерпание квоты. Она срабатывает даже когда ваши лимиты сеанса и недели имеют оставшуюся ёмкость. См. Extended context для информации о том, какие планы включают контекст 1M напрямую и какие требуют кредитов использования. Claude Code выполняет эту проверку, когда вы выбираете модель с помощью /model, и только при прямом подключении к API Anthropic; если вы указываете ANTHROPIC_BASE_URL на LLM gateway, /model позволяет выбрать [1m] и шлюз решает, будет ли запрос успешным.
Когда эта ошибка появляется в середине разговора, потому что контекст вырос более чем на 200K токенов, Claude Code автоматически сжимает разговор обратно под стандартный лимит контекста и сохраняет сеанс на этом лимите впоследствии, поэтому никаких действий не требуется. В версиях до v2.1.172 ошибка повторялась при каждом последующем запросе, включая /compact; запустите /clear на этих версиях для восстановления. Приведённые ниже шаги применяются, когда вы явно выбрали модель [1m].
Что делать:
- Запустите
/modelи выберите вариант без суффикса[1m], чтобы вернуться к стандартному окну контекста - Где сообщение называет
/usage-credits, запустите его, чтобы включить поэтапное выставление счётов для варианта 1M на Pro и Max, или запросить кредиты использования у администратора на Team и Enterprise. Перезагрузите Claude Code после включения кредитов использования. До перезагрузки сеанс остаётся на стандартном лимите контекста. - Если ошибка сохраняется после
/model, ID модели 1M может быть установлен в другом месте. См. Setting your model для проверки мест конфигурации в порядке приоритета. - Чтобы полностью удалить варианты 1M из выбора модели, установите
CLAUDE_CODE_DISABLE_1M_CONTEXT=1
До версии v2.1.268 сообщение заканчивалось на run /usage-credits to turn them on, or /model to switch to standard context и не упоминало перезагрузку.
The prompt to confirm went unanswered
Если ваша учётная запись требует Fable usage-credits consent, Claude Code просит вас подтвердить перед запросом Fable, который будет выставлять счёт за кредиты использования. Когда никто не отвечает на этот запрос согласия в сеансе, который может не иметь никого у его терминала, Claude Code закрывает запрос и завершает ход одним из этих сообщений:
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
Сообщения называют модель Fable сеанса, поэтому на Fable 5 они читают continuing on Fable 5 и Fable 5 now uses usage credits. До версии v2.1.257 первое сообщение начиналось с Fable 5 limit reached.
Это происходит в сеансах Remote Control, background sessions и сеансах товарищей agent team. Claude Code показывает запрос согласия только в собственном интерактивном представлении сеанса: терминале, где он работает, или для фонового сеанса, в agents view после подключения. Клиент Remote Control не может его отобразить. Claude Code закрывает запрос в крайний срок dialogExpiry, пять минут по умолчанию, или как только появляется новый запрос, пока никто не печатает на этом терминале, например запрос, отправленный из клиента Remote Control. Печать на терминале, где работает сеанс, отменяет крайний срок, и Claude Code ждёт вашего ответа. В присоединённом представлении фонового сеанса печать не отменяет крайний срок, и новый запрос всё ещё закрывает запрос согласия, поэтому ответьте перед тем, как это произойдёт. Claude Code ничего не отправляет и сохраняет вашу модель, поэтому когда вы отправляете следующий запрос, Claude Code снова показывает запрос согласия.
Что делать:
- На терминале, где работает сеанс, отправьте другой запрос и ответьте на запрос согласия, когда он появится снова. Для фонового сеанса сначала подключитесь к нему из agents view. Повторная отправка из клиента Remote Control показывает это сообщение снова, потому что клиент не может отобразить запрос.
- Запустите
/model, чтобы переключиться на модель, которая не выставляет счёт за кредиты использования - Чтобы дать себе больше времени для доступа к этому терминалу, установите
dialogExpiryна более длительное значение или"never"
До версии v2.1.236 это сообщение не появлялось: пока был подключен клиент Remote Control, Claude Code ждал 60 секунд ответа, а затем продолжал ход на вашей модели по умолчанию.
Server is temporarily limiting requests
API применил кратковременное ограничение скорости, которое не связано с квотой вашего плана.
API Error: Server is temporarily limiting requests (not your usage limit)
Claude Code различает их от лимита вашего плана по отсутствию унифицированных заголовков квоты, которые несёт реальный ответ лимита. Начиная с версии v2.1.199 это retried automatically с backoff перед отображением, независимо от того, как вы аутентифицируетесь. В более ранних версиях сеанс, вошедший с подпиской claude.ai, не прошёл ход при первом возникновении; только API key и Enterprise sign-ins повторили попытку.
Что делать:
- Подождите немного и попробуйте снова
- Проверьте status.claude.com, если это сохраняется
Request rejected (429)
Вы достигли лимита скорости, настроенного для вашего API key, проекта Amazon Bedrock или проекта Google Cloud.
API Error: Request rejected (429) · this may be a temporary capacity issue. If it persists, check https://status.claude.com.
Завершающее предложение называет, где проверить здоровье сервиса, и варьируется в зависимости от поставщика. Конфигурации Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry называют страницу статуса этого поставщика вместо страницы статуса Anthropic. Пользовательский ANTHROPIC_BASE_URL называет хост шлюза.
Что делать:
- Запустите
/statusи подтвердите, что активные учётные данные — это те, которые вы ожидаете. СлучайныйANTHROPIC_API_KEYв вашей среде может маршрутизировать запросы через низкоуровневый ключ вместо вашей подписки. - Проверьте консоль вашего поставщика для активных лимитов и запросите более высокий уровень, если необходимо
- Для API keys Anthropic см. rate limits reference для информации о том, как работают уровни и как установить ограничения на рабочее пространство
- Снизьте параллелизм: понизьте
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY, избегайте запуска множества параллельных подагентов, или переключитесь на меньшую модель с помощью/modelдля высокообъёмных скриптовых запусков
You've hit your monthly spend limit
Включённое использование вашего плана не может покрыть этот запрос, и usage credits, которые в противном случае оплатили бы его, достигли лимита расходов. Это происходит, когда одно из окон использования вашего плана закончилось, или когда запрос — это запрос, который оплачивают только кредиты использования, такой как запрос к модели, которая bills to usage credits. Сообщение называет, чей лимит вас заблокировал. Текст после · говорит, как увеличить этот лимит, и варьируется в зависимости от вашего плана и того, управляете ли вы выставлением счётов:
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 — это объединённый бюджет, который администратор назначил группе, к которой вы принадлежите; сообщение не называет группу. channel's monthly spend limit — это бюджет одного канала Slack, в котором работает сеанс, поэтому ваша организация может иметь бюджет вне его.
Когда одно из окон вашего плана — это то, что закончилось, сообщение также говорит, когда это окно сбрасывается, например · your session limit resets 3:45pm, и доступ возвращается тогда без того, чтобы кто-либо повышал лимит. В организациях с выставлением счётов на основе использования сообщение говорит usage limit вместо spend limit, как в You've hit your individual usage limit.
До версии v2.1.239 сообщение не называло время сброса окна плана. До версии v2.1.268 объединённый бюджет группы производил сообщение individual spend limit вместо team's shared budget.
Если вы подключаетесь через шлюз приложений Claude и видите строчное spend limit reached, это ограничение вашего оператора шлюза; см. Spend limit reached.
Что делать:
- На Pro и Max увеличьте ваш ежемесячный лимит расходов в Settings > Usage на claude.ai, или запустите
/usage-credits - На Team и Enterprise увеличьте лимит в Admin settings > Usage, если вы управляете выставлением счётов, или попросите администратора.
/usage-creditsотправляет этот запрос вашему администратору для вас - Для лимита канала попросите владельца организации или менеджера канала повысить его на claude.ai. См. Per-channel limits в документации Claude Tag
- Если сообщение называет время сброса для окна вашего плана, вы можете вместо этого дождаться его
- Запустите
/usage, чтобы увидеть окна вашего плана и когда каждое сбрасывается
Spend limit reached
Вы подключаетесь через Claude apps gateway и прошли spend cap, который установил ваш оператор шлюза. Шлюз блокирует ваши запросы до сброса названного периода или пока оператор не повысит ограничение. Он отмечает каждый заблокированный ответ 429 как x-should-retry: false, поэтому Claude Code показывает это сообщение без повторных попыток.
spend limit reached (daily; resets 2026-08-09 00:00 UTC)
Сообщение называет период ограничения и время сброса, и когда оператор настроил blocked_message, его инструкции следуют за ним. До версии v2.1.225 сообщение читалось только spend limit reached; шлюз на более старой версии всё ещё отправляет эту более короткую форму.
Что делать:
- Дождитесь времени сброса, которое называет сообщение, или следуйте инструкциям оператора, если сообщение их содержит
- Попросите вашего оператора шлюза повысить ограничение, если вы его часто достигаете
Связанное сообщение, spend limit unavailable, означает, что шлюз не смог прочитать свои записи расходов и заблокировал запрос в качестве меры предосторожности, а не из-за вашего ограничения. Обычно это очищается само по себе; если это сохраняется, сообщите вашему оператору шлюза.
Credit balance is too low
Ваша организация Console исчерпала предоплаченные кредиты, или Claude Code отправляет ваши запросы с помощью Console API key, когда вы имели в виду использовать вашу подписку.
Credit balance is too low
Что делать:
- Если у вас есть план Pro, Max, Team или Enterprise и вы видите это, запустите
/statusи проверьте строкуAPI key. ОдобренныйANTHROPIC_API_KEYв вашей среде маршрутизирует запросы через этот ключ вместо вашей подписки. Отмените его в текущей оболочке и удалите из профиля оболочки, затем перезапуститеclaude. Запустите/login, если вы ещё не вошли с вашей подпиской. - Добавьте кредиты на platform.claude.com/settings/billing и рассмотрите возможность включения автоматической перезагрузки там, чтобы баланс пополнялся перед тем, как он упадёт до нуля
- Установите ограничения расходов на рабочее пространство в Console, чтобы предотвратить истощение баланса организации одним проектом. См. Manage costs effectively.
Could not update your spend limit
Сервер отклонил изменение лимита расходов, которое вы сделали из подсказки, которая появляется, когда вы достигаете лимита расходов.
Could not update your spend limit: <reason from the server>
Когда сервер объясняет отклонение, сообщение заканчивается этой причиной, и повторная попытка того же значения снова не удаётся. Когда отказ не имеет предоставленной сервером причины, такой как разорванное соединение, сообщение читает Could not update your spend limit. Press Enter to retry. и повторная попытка может быть успешной. До версии v2.1.216 Claude Code показывал общую форму для каждого отказа.
Что делать:
- Если сообщение включает причину, выберите лимит, который её удовлетворяет, например меньшую сумму
- Если сообщение показывает только общую форму, повторите попытку; отказ может быть временным
- Если изменение продолжает не удаваться, сделайте его из ваших claude.ai billing settings в браузере вместо этого
Ошибки аутентификации
Эти ошибки означают, что Claude Code не может подтвердить вашу личность перед API. Запустите /status в любой момент, чтобы увидеть, какие учетные данные в настоящее время активны.
Not logged in
Для этого сеанса нет доступных действительных учетных данных.
Not logged in · Please run /login
Что делать:
- Запустите
/loginдля аутентификации с помощью вашей подписки Claude или учетной записи Console - Если вы ожидали, что переменная окружения будет аутентифицировать вас, убедитесь, что
ANTHROPIC_API_KEYустановлена и экспортирована в оболочке, где вы запустилиclaude - Для CI или автоматизации, где интерактивный вход невозможен, настройте скрипт
apiKeyHelper, который получает ключ при запуске - См. Authentication precedence, чтобы понять, какие учетные данные Claude Code использует, когда присутствует несколько
Если вам предлагается войти повторно, см. Not logged in or token expired для проверки системных часов и шагов восстановления хранилища учетных данных macOS.
Could not resolve authentication method
Сеанс достиг клиента API без каких-либо учетных данных. Background sessions и облачные сеансы показывают это сообщение, когда рабочий процесс запускается без учетных данных. Интерактивные, -p и запуски Agent SDK сообщают о том же состоянии, что и Not logged in и записывают эту строку только в журнал отладки, поэтому если вы нашли ее там, следуйте этой записи вместо этого.
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
В текущих версиях ошибка означает, что рабочему процессу не были доступны учетные данные. До v2.1.174 фоновый сеанс, назначенный неактивному предварительно инициализированному рабочему процессу, мог завершиться ошибкой таким образом, даже если были настроены действительные учетные данные. До v2.1.176 облачный сеанс, который был неактивен перед тем, как быть заявленным, тоже мог. Обновитесь для восстановления.
Что делать:
- Обновитесь до v2.1.176 или более поздней версии, если это появляется в фоновом или облачном сеансе и ваши учетные данные уже настроены
- Убедитесь, что
ANTHROPIC_API_KEY,CLAUDE_CODE_OAUTH_TOKENили ваши учетные данные облачного провайдера установлены в окружении, которое запускает рабочий процесс, а не только в вашей интерактивной оболочке - Для Agent SDK см. authentication setup in the quickstart
- Запустите
/statusв интерактивном сеансе в том же окружении, чтобы подтвердить, какой источник учетных данных разрешается
Invalid API key
Переменная окружения ANTHROPIC_API_KEY или скрипт apiKeyHelper вернули ключ, который API отклонил, или Claude Code заблокировал ключ из ANTHROPIC_API_KEY перед его отправкой.
Invalid API key · Fix external API key
Когда сообщение продолжается после Fix external API key с описанием, таким как Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines)., API никогда не видел ключ. Claude Code обнаружил символ, который HTTP-заголовки не могут передавать, и остановил запрос перед его отправкой. См. Invalid request header value для того, как прочитать описание и исправить значение.
Что делать:
- Проверьте опечатки и убедитесь, что ключ не был отозван в Console
- В той же оболочке запустите
env | grep ANTHROPIC, или в PowerShellGet-ChildItem Env:ANTHROPIC*. Такие инструменты, как direnv, плагины dotenv shell и терминалы IDE, могут загружать устаревший ключ из файла.envв вашем проекте без явной установки. - Отмените установку
ANTHROPIC_API_KEYи запустите/loginдля использования аутентификации подписки вместо этого - Если ключ поступает из скрипта
apiKeyHelper, запустите скрипт напрямую, чтобы подтвердить, что он выводит действительный ключ на stdout - Запустите
/status, чтобы подтвердить, какой источник учетных данных Claude Code фактически использует
Your apiKeyHelper script is failing
Claude Code запустил команду в вашей настройке apiKeyHelper и не получил ключ обратно. Без него запрос достигает API с заполнительными учетными данными, и API отклоняет его с 401. Панель Authentication в терминале показывает, что произошло одно из следующих:
- Команда завершилась с ошибкой или истекло время ожидания
- Команда ничего не вывела на stdout
- Команда вывела что-то, кроме ключа, например баннер входа или строку журнала. Панель показывает
returned output that cannot be used as an API keyи говорит, что не так, без повторения вывода. До v2.1.227 Claude Code отправлял все, что выводила команда, после обрезки окружающих пробелов.
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
В non-interactive mode stderr также содержит конкретную причину с префиксом apiKeyHelper failed:.
Claude Code повторно запускает скрипт и повторяет попытку запроса еще два раза перед отображением этого сообщения, поэтому сбой проявляется в течение трех попыток. До v2.1.208 Claude Code потратил полный retry budget на повторную отправку запроса с заполнительными учетными данными, а затем сообщил об общей ошибке аутентификации 401 вместо сбоя скрипта.
Запуск /login не помогает здесь: вывод помощника takes precedence над сохраненным входом, пока параметр присутствует.
Что делать:
- Запустите команду, настроенную в
apiKeyHelper, напрямую в вашей оболочке, чтобы воспроизвести сбой - Если команда сообщает об истекшем сеансе, повторно аутентифицируйтесь у вашего поставщика учетных данных, например, снова войдя в свой SSO или хранилище секретов
- Исправьте команду так, чтобы она выводила только ключ на stdout как один токен печатаемого ASCII до 16 384 символов и выходила с кодом 0. См. rotate credentials with apiKeyHelper для рабочей установки.
- Запустите
/status, чтобы подтвердить, чтоapiKeyHelperявляется активным источником учетных данных. Каждый раз, когда команда не выполняется, ее код выхода и вывод ошибки появляются в панелиAuthenticationв терминале. До v2.1.212 панель была озаглавленаCloud authentication.
Invalid request header value
Значение, которое Claude Code собирался отправить как заголовок запроса, содержит символ, который HTTP-заголовки не могут передавать: разрыв строки, байт NUL или символ выше U+00FF, такой как фигурная кавычка или нулевой пробел. Claude Code останавливает запрос перед отправкой чего-либо и называет переменную или параметр для исправления. Обычная причина — учетные данные, вставленные из документа или чата, которые содержали невидимый символ или случайный разрыв строки.
Claude Code запускает эту проверку при отправке запросов к Claude API напрямую или через LLM gateway. На поставщике облачных услуг третьей стороны, таком как Amazon Bedrock, Claude Code не запускает ее перед отправкой.
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
Первая часть сообщения зависит от того, откуда поступило плохое значение:
Invalid auth token: токен-носитель изANTHROPIC_AUTH_TOKENилиCLAUDE_CODE_OAUTH_TOKENInvalid ANTHROPIC_CUSTOM_HEADERS: имя или значение заголовка, которое вы установили вANTHROPIC_CUSTOM_HEADERS. Описание подсчитывает, какая параName: Valueвиновата, напримерdistinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS, без повторения имени или значения, так как вы выбрали оба.Invalid request header from the environment: значение, которое Claude Code копирует в заголовок запроса из другой переменной окружения, такой какCLAUDE_AGENT_SDK_CLIENT_APP. Описание называет переменную для исправления.
Claude Code сообщает о плохом ANTHROPIC_API_KEY, перехваченном этой проверкой, как Invalid API key, с тем же завершающим описанием. Он сообщает о плохих сохраненных учетных данных /login как Not logged in вместо этого; запустите /login, чтобы сохранить свежие. Вывод скрипта apiKeyHelper никогда не достигает этой проверки: Claude Code проверяет его при запуске скрипта, и вывод, который HTTP-заголовок не может передавать, завершается ошибкой Your apiKeyHelper script is failing.
После второго · сообщение описывает проблему, как в этом полном примере:
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).
Позиции считают символы, начиная с одного. Описание построено из фиксированных фраз и подсчетов символов, поэтому оно никогда не включает само значение. Оно называет оскорбительный символ только тогда, когда это хорошо известный невидимый или типографский символ, такой как метка порядка байтов, нулевой пробел или фигурная кавычка, и сообщает обо всем остальном как a non-ASCII character.
Что делать:
- Переустановите переменную или параметр, который называет сообщение, переписав символы вокруг указанной позиции, а не вставляя из того же источника снова
- Для
ANTHROPIC_CUSTOM_HEADERSдержите одну паруName: Valueна строку и переписывайте пару, которую считает сообщение - Запустите
/status, чтобы подтвердить, какой источник учетных данных активен
This organization has been disabled
Claude Code использует устаревший ANTHROPIC_API_KEY из отключенной организации Console. Когда у вас есть сохраненный вход подписки, ключ переопределяет его.
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.
Подсказка после · зависит от ваших сохраненных учетных данных: первая форма появляется, когда сохраненный /login может взять верх после отмены установки ключа, а вторая — когда ключ является вашим единственным учетным данным.
Переменные окружения имеют приоритет над /login, поэтому ключ, экспортированный в профиль вашей оболочки или загруженный из файла .env, используется даже при наличии рабочей подписки Pro или Max. В неинтерактивном режиме (-p) ключ всегда используется при наличии.
Что делать:
- Отмените установку
ANTHROPIC_API_KEYв текущей оболочке и удалите его из профиля вашей оболочки, затем перезапуститеclaude - Если сообщение говорит
Update or unset, у вас нет сохраненного входа для отката. Отмените установку ключа и запустите/login, или замените ключ на ключ из активной организации Console. - Запустите
/statusпосле этого, чтобы подтвердить, что активные учетные данные — это ваша подписка - Если переменная окружения не установлена и ошибка сохраняется, отключенная организация — это та, которая связана с вашим
/login. Свяжитесь с поддержкой или войдите с другой учетной записью.
Your organization has disabled API key authentication
Это сообщение требует Claude Code v2.1.169 или более поздней версии. Администратор организации Console отключил аутентификацию по ключу API, поэтому API отклоняет ключ, который отправляет Claude Code. Подсказка восстановления после · варьируется в зависимости от того, откуда поступил ключ:
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
Переменные окружения и apiKeyHelper имеют приоритет над /login, поэтому запуск только /login не помогает, пока один из них все еще предоставляет ключ. См. Authentication precedence.
Что делать:
- Если сообщение называет
ANTHROPIC_API_KEY, отмените его установку в текущей оболочке и удалите из профиля вашей оболочки или файла.env, затем перезапуститеclaude - Если сообщение называет
apiKeyHelper, удалите параметрapiKeyHelperиз вашегоsettings.json - Запустите
/loginдля входа с вашей учетной записью claude.ai - Запустите
/statusпосле этого, чтобы подтвердить, что активные учетные данные — это ваша подписка, а не ключ API - Если вам нужна аутентификация по ключу API для автоматизации, попросите администратора вашей организации повторно включить ее в Console
Your organization has disabled Claude subscription access
Ваша организация Claude не позволяет входить в Claude Code с входом подписки. Повторный запуск /login с той же учетной записью возвращает ту же ошибку.
Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access
Это параметр организации на стороне сервера, поэтому его нельзя переопределить из локальных параметров, переменных окружения или флагов CLI.
Agent SDK и режим неинтерактивности -p представляют это как код ошибки oauth_org_not_allowed.
Что делать:
- Попросите администратора включить доступ Claude Code для вашей организации
- Аутентифицируйтесь с помощью ключа API Console вместо вашей подписки. См. Claude Console authentication для установки.
- Если вы администратор и не видите опцию для включения доступа, свяжитесь с Anthropic support
Routines are disabled by your organization's policy
Владелец в вашей организации Team или Enterprise отключил routines на уровне организации. Ошибка появляется при попытке создать или запустить routine, например из пользовательского интерфейса Routines на claude.ai/code. На Claude Code v2.1.227 или более поздней версии тот же параметр также hides /schedule в CLI.
Routines are disabled by your organization's policy.
Это параметр на стороне сервера, поэтому его нельзя переопределить из локальных параметров, переменных окружения или флагов CLI.
Что делать:
- Попросите владельца в вашей организации включить переключатель Routines на claude.ai/admin-settings/claude-code
- Для одноразовой запланированной работы, которая не требует routines на уровне организации, см. scheduled tasks
Remote Control requires the Anthropic API
Сеанс не разговаривает с Anthropic API напрямую, поэтому нет бэкенда claude.ai для Remote Control для сопряжения.
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.
Второе предложение объясняет, что направило сеанс от Anthropic API; до v2.1.219 сообщение было только первым предложением. В зависимости от причины сообщение называет:
- Переменную поставщика
CLAUDE_CODE_USE_*, такую какCLAUDE_CODE_USE_BEDROCKдля Amazon Bedrock илиCLAUDE_CODE_USE_VERTEXдля Google Cloud's Agent Platform ANTHROPIC_BASE_URL, указывающий на хост, отличный отapi.anthropic.com, такой как LLM gateway или прокси, даже при входе с claude.ai; до v2.1.196 пользовательский базовый URL не блокировал Remote ControlANTHROPIC_UNIX_SOCKETустановлен, поэтому сеанс отправляет свои запросы через локальный сокет, а не наapi.anthropic.com- Вход в корпоративный cloud gateway через
/login, который не поддерживает Remote Control и не имеет переменной для отмены установки
Что делать:
- Отмените установку переменной, которую называет сообщение, такой как
CLAUDE_CODE_USE_BEDROCKилиANTHROPIC_BASE_URL, и перезапустите сеанс, или запустите Remote Control из сеанса, который разговаривает с Anthropic API напрямую - Если переменная не установлена в вашей оболочке, проверьте ключ
envв ваших settings files, который применяет переменные окружения к каждому сеансу - Для этого и других сообщений запуска Remote Control см. Troubleshoot Remote Control
Remote Control couldn't refresh your login
Claude Code запускает живое соединение Remote Control на краткосрочных учетных данных, которые он получает и обновляет, используя ваш сохраненный вход claude.ai. Когда claude.ai перестает принимать этот вход, или Claude Code больше не имеет сохраненного входа, Claude Code останавливает Remote Control и просит вас войти снова. Любой сбой может произойти, пока Claude Code все еще подключается или позже, когда он обновляет учетные данные.
Когда Claude Code просит службу входа обновить ваш сохраненный вход и не получает ответ, он продолжает запускать Remote Control и пытается обновление снова, пока учетные данные текущего соединения все еще действительны. Обновление не получает ответ, когда Claude Code не может достичь службы входа, запрос истекает, или служба завершается ошибкой без отклонения вашего входа. Если служба входа все еще не отвечает, когда эти учетные данные истекают, Claude Code останавливает Remote Control и сообщает OAuth token refresh failed.
Когда Claude Code останавливает Remote Control, он показывает причину в предупреждении и в строке стенограммы, которая начинается с Remote Control disconnected. Ваш локальный сеанс продолжает работать без Remote Control. Этот раздел охватывает эти строки:
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 называет причину в середине сообщения:
Claude.ai login expiredиClaude.ai login was rejected: claude.ai больше не принимает ваш сохраненный токен входа, потому что он истек или был отозванOAuth token unavailable: Claude Code не имел сохраненного токена входа, когда учетные данные соединения пришли на обновлениеOAuth token refresh failed: claude.ai отклонил ваш сохраненный токен входа, пока Claude Code переподключался, и обновление токена не произвело новыйJWT refresh failed: no OAuth token: Claude Code не нашел сохраненный токен входа для обновленияSigned out of Claude: вы вышли на этой машине, например, запустив/logoutв другом терминале, поэтому Claude Code больше не имеет сохраненного входа для обновления соединения
Что делать:
- Запустите
/loginдля входа снова - Запустите
/remote-controlдля переподключения сеанса. Сообщения, заканчивающиесяrun /login to restore Remote Control, не нуждаются в этом шаге: Claude Code переподключается автоматически после входа.
До v2.1.224 OAuth token refresh failed — run /login to re-authenticate читалось как OAuth token refresh failed — re-authenticate, then re-enable Remote Control, и JWT refresh failed: no OAuth token — run /login читалось как no OAuth token available for recovery (code <N>). Сообщения Claude.ai login expired, Claude.ai login was rejected и OAuth token unavailable были добавлены в v2.1.225.
До v2.1.238 Claude Code сообщал о случаях, которые теперь говорят Signed out of Claude, как JWT refresh failed: no OAuth token — run /login, и останавливал Remote Control с Claude.ai login expired — run /login to restore Remote Control как только одно обновление входа не получило ответ.
Remote Control stopped because the signed-in account changed
Claude Code показывает эту строку во время сеанса Remote Control, когда вы входите в другую учетную запись claude.ai или организацию на этой машине. Вы сделали переключение вне сеанса Claude Code, например, запустив /login в другом терминале.
Сеанс Remote Control, который вы запустили, пока были подписаны через /login, принадлежит учетной записи claude.ai и организации, которые были подписаны в то время.
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 останавливает сеанс Remote Control как только claude.ai подтверждает, что учетная запись или организация изменилась. Ваш локальный сеанс продолжает работать без Remote Control.
Что делать:
- Запустите
/remote-controlдля запуска нового сеанса Remote Control под текущей учетной записью или организацией - Для переключения назад запустите
/loginи войдите в предыдущую учетную запись или организацию снова. Затем запустите/remote-control.
До v2.1.234 Claude Code не замечал, когда вы переключались на другую учетную запись или организацию вне сеанса Claude Code. Claude Code держал сеанс Remote Control подключенным до более позднего запроса к серверу Remote Control, который завершился ошибкой Remote Control server rejected the request (HTTP 404). Этот сбой мог произойти часами после переключения.
Remote Control stopped because the app running the session signed out or switched accounts
Когда приложение Claude desktop или IDE размещает ваш сеанс, Claude Code получает свой токен входа из этого приложения, а не из /login. Когда claude.ai отклоняет этот токен, Claude Code просит приложение о новом. Если приложение отвечает, что оно вышло, или что оно теперь подписано на другую учетную запись Claude, Claude Code заканчивает сеанс Remote Control и отправляет приложению одну из этих строк:
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
Ваш локальный сеанс продолжает работать без Remote Control.
Что делать:
- Если приложение вышло, войдите в него снова, затем включите Remote Control снова в приложении
- Если приложение переключило учетные записи, Claude Code не может продолжить завершенный сеанс под новой учетной записью. Запустите новый сеанс Remote Control под этой учетной записью.
До v2.1.238 Claude Code отправлял приложению сообщения run /login, перечисленные в Remote Control couldn't refresh your login в обоих случаях.
OAuth token revoked or expired
Ваш сохраненный вход больше не действителен. Отозванный токен означает, что вы вышли везде или администратор удалил доступ; истекший токен означает, что автоматическое обновление не удалось в середине сеанса.
Оба сообщения сообщают об отклонении, которое API вернул для запроса, который отправил Claude Code. Когда сохраненный вход уже был очищен после неудачного обновления, вы видите Login expired вместо этого. Если вы аутентифицируетесь с долгоживущим токеном в CLAUDE_CODE_OAUTH_TOKEN, вы видите те же сообщения, когда этот токен истекает или отзывается.
OAuth token revoked · Please run /login
Please run /login · API Error: 401 OAuth token has expired ...
Что делать:
- Запустите
/loginдля входа снова - Если ошибка возвращается в том же сеансе после повторной аутентификации, сначала запустите
/logoutдля полной очистки сохраненного токена, затем/login - Если вы аутентифицируетесь с переменной окружения
CLAUDE_CODE_OAUTH_TOKEN, Claude Code продолжает отправлять установленное вами значение после того, как запрос завершится ошибкой 401, а не переключаться на токен сохраненного входа./statusпоказывает это учетное данное как строкуAuth token, читающуюCLAUDE_CODE_OAUTH_TOKEN. Создайте свежий токен с помощьюclaude setup-tokenи перезапустите с ним, или отмените установку переменной и запустите/login. До v2.1.225 Claude Code мог заменить значение переменной в середине сеанса краткосрочным токеном доступа из сохраненного входа, и сеанс снова завершился ошибками 401 после истечения этого токена. - Для повторных запросов на вход при запусках см. проверки системных часов и шаги восстановления хранилища учетных данных macOS в Troubleshooting
- Для других сбоев, включая
403 Forbiddenи проблемы браузера OAuth, см. Login and authentication
API Error: 401 Invalid authentication credentials
API распознал формат вашего учетного данного, но отклонил учетную запись или организацию позади него. Anthropic возвращает это сообщение, когда учетное данное было недавно отозвано, когда организация была отключена или удалила ваш доступ, или когда сама учетная запись была деактивирована, поэтому истекший токен не является причиной. Учетное данное может быть вашим сохраненным входом или одобренным ANTHROPIC_API_KEY, и исправление отличается, поэтому начните с запуска /status, чтобы увидеть, какой активен.
Please run /login · API Error: 401 Invalid authentication credentials
Что делать:
- Если
/statusпоказывает строкуAPI key, которая не отмечена как не используется, одобренныйANTHROPIC_API_KEYявляется активным учетным данным и имеет приоритет над вашим входом, поэтому/loginне заменяет его. Поверните ключ в Claude Console, или вернитесь к вашей подписке, запустивunset ANTHROPIC_API_KEY, или в PowerShellRemove-Item Env:ANTHROPIC_API_KEY. - Если
/statusпоказывает только ваш вход, запустите/loginодин раз. Если учетное данное было отозвано, свежий вход заменяет его. - Если то же сообщение возвращается для той же учетной записи входа, учетная запись или организация больше не активны. Проверьте учетную запись и организацию, которые сообщает
/status, и попросите администратора вашей организации восстановить доступ. - Если
ANTHROPIC_BASE_URLуказывает на LLM gateway, текст после401— это сообщение вашего шлюза, а не Anthropic, и/loginне изменяет его. Исправьте учетное данное, которое ожидает ваш шлюз.
Login expired
Claude Code попытался обновить ваш сохраненный вход claude.ai или Claude Console, и служба OAuth отклонила сохраненный токен обновления, поэтому Claude Code очистил сохраненные учетные данные. После этого каждый запрос модели останавливается локально с этим сообщением перед тем, как достичь API, потому что только /login может создать новые учетные данные.
До v2.1.206 Claude Code отправлял запрос модели в любом случае с любым оставшимся учетным данным в окружении, и каждая модель затем завершалась ошибкой There's an issue with the selected model или 401 вместо запроса на вход.
Login expired · Please run /login
В non-interactive mode (-p) и Agent SDK сообщение читается следующим образом, и код структурированной ошибки — authentication_failed:
Failed to authenticate: OAuth session expired and could not be refreshed
Это не то же состояние, что OAuth token revoked or expired. Эти сообщения сообщают об отклонении, которое API вернул. Claude Code сам производит Login expired для входа, который уже не удалось обновить, поэтому он не отправляет запрос. Когда обновление не удается, потому что сама учетная запись приостановлена, а не потому, что вход устарел, Claude Code показывает Your account is on hold вместо этого.
Сеансы, аутентифицированные с помощью ключа API, CLAUDE_CODE_OAUTH_TOKEN или поставщика третьей стороны, не используют сохраненный вход и никогда не видят это сообщение.
Вы можете проверить это состояние перед тем, как запрос завершится ошибкой: /status показывает строку Login, читающую Expired — log in again, плюс организацию и электронную почту, которые она сохранила для истекшего входа. Строка появляется только, когда сохраненный вход является вашим активным учетным данным и больше не может быть обновлен. Сеансы, аутентифицированные другим способом, не показывают строку, даже если истекший вход остается сохраненным. До v2.1.210 /status не давал никакого указания в этом состоянии, что вход когда-либо существовал, потому что очищенное учетное данные оставило ему нечего сообщать.
Что делать:
- Запустите
/loginдля входа снова. Повторная попытка без входа показывает то же сообщение на каждом запросе. - В неинтерактивном режиме запустите
claudeв том же окружении, завершите/login, затем перезапустите вашу команду. Для автоматизации, которая не может войти интерактивно, аутентифицируйтесь с помощьюANTHROPIC_API_KEYили generate a long-lived token withclaude setup-token. - Если вход продолжает не удаваться, см. Login and authentication
Claude login not accepted
Вы попытались запустить cloud session, и сервер отказался создать его с 401: он не принял вход Claude, который отправила эта машина, обычно потому, что вход истек или был отозван.
Первая часть строки — это собственная причина сервера, когда он дает одну. В противном случае строка читается:
Claude login not accepted · Run /login, then try again
Что делать:
- Запустите
/login, завершите вход, затем запустите сеанс снова
Administrator policy requires a Cloud gateway sign-in
Параметр managed settings администратора на этой машине установил forceLoginMethod на "gateway" или установил forceLoginGatewayUrl. Если вы не выбираете поставщика облачных услуг через переменную, такую как CLAUDE_CODE_USE_BEDROCK, Claude Code затем принимает только вход Claude apps gateway. Вы видите одно из двух сообщений:
Not signed in to the Cloud gateway — run /login.
Запросы модели завершаются ошибкой с этим сообщением, когда сеанс не имеет входа шлюза, например, потому что вы не запустили /login с момента достижения политики машины.
Если у вас также есть учетное данное ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN или apiKeyHelper, настроенное, и параметры управления установили forceLoginMethod, Claude Code выходит при запуске вместо этого с сообщением, которое начинается:
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.
Что делать:
- Запустите
/loginи завершите вход на экране Cloud gateway - Для сообщения при запуске удалите параметр
ANTHROPIC_API_KEY,ANTHROPIC_AUTH_TOKENилиapiKeyHelper, который вы настроили, затем запуститеclaudeи запустите/login - Если вы считаете, что машина не должна требовать шлюз, попросите администратора, который управляет ею, удалить
forceLoginMethodиforceLoginGatewayUrlиз его параметров управления
На v2.1.265 регрессия также показала первое сообщение в некоторых конфигурациях LLM-gateway и прокси, которые аутентифицируются с помощью ключа API, apiKeyHelper или пользовательских заголовков, даже без требования администратора на машине. Обновитесь до v2.1.266 или более поздней версии. Вам не нужно менять вашу конфигурацию.
До v2.1.261 на машинах, которые установили forceLoginMethod на "gateway", Claude Code использовал оставшийся сохраненный вход вместо того, чтобы завершить запросы модели ошибкой, и сообщал о настроенном учетном данном окружения с This machine's managed settings require a first-party login вместо сообщения при запуске. До v2.1.265 машина, чьи параметры управления установили только forceLoginGatewayUrl, не требовала входа шлюза, и Claude Code использовал оставшееся учетное данные там.
Your account is on hold
Учетная запись Claude позади вашего входа была приостановлена. Claude Code показывает первое сообщение, когда он пытается обновить ваш сохраненный вход и узнает о задержке, и второе, когда завершенный вами вход в браузер сообщает об этом:
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
Повторный вход с той же учетной записью не очищает сообщение, потому что задержка находится на учетной записи, а не на входе. В non-interactive mode (-p) и Agent SDK код структурированной ошибки — account_on_hold. До v2.1.235 Claude Code сообщал о задержанной учетной записи как Login expired · Please run /login, чьи шаги восстановления не могут очистить задержку.
Что делать:
- Откройте ссылку в сообщении, чтобы просмотреть детали задержки или обжаловать ее
- Если у вас есть другая учетная запись Claude или ключ API, на который не влияет задержка, вы можете продолжить работу, пока задержка разрешается: запустите
/loginс этой учетной записью, или установите ключ с помощьюANTHROPIC_API_KEY
Anthropic profile login expired
Claude Code аутентифицируется через профиль учетных данных Anthropic, чей сохраненный вход истек, и профиль не содержит учетные данные обновления, которые Claude Code может использовать для его обновления. Claude Code останавливает каждый запрос локально без повторных попыток, потому что повторная попытка прочитает то же истекшее учетное данные.
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
Это появляется только, когда активное учетное данные поступает из профиля учетных данных Anthropic, который вы выбираете с переменной окружения ANTHROPIC_PROFILE, который Claude Code обнаруживает как активный профиль в вашем каталоге конфигурации Anthropic, или который Claude Code написал, когда вы signed in without an API key. Сеансы, которые аутентифицируются с помощью опции claude.ai /login, ключа API, токена-носителя, такого как ANTHROPIC_AUTH_TOKEN, или поставщика третьей стороны, никогда не видят это сообщение.
На машине, которая offers the keyless sign-in, запустите /login, выберите учетную запись Anthropic Console и войдите снова, чтобы обновить профиль, который написал вход без ключа Console или CLI Claude Platform ant auth login. Claude Code заменяет истекшее учетные данные в этом профиле. Для профиля федерации или профиля, созданного другим инструментом, /login не обновляет учетные данные. Какую форму вы видите, зависит от того, выбрали ли вы профиль или Claude Code его обнаружил:
- Когда вы явно установили
ANTHROPIC_PROFILE, сообщение заканчивается сRe-authenticate your Anthropic profile. - Когда Claude Code обнаружил профиль из вашего каталога конфигурации, сообщение предлагает
/login, потому что Claude Code дает рабочему/loginприоритет над обнаруженным профилем и затем аутентифицируется с вашей учетной записью claude.ai или Console вместо этого. До v2.1.234 Claude Code показал формуRe-authenticate your Anthropic profileв этом случае тоже.
Что делать:
- Войдите в профиль снова, затем повторите попытку: на машине, которая offers the keyless sign-in, запустите
/loginи выберите учетную запись Anthropic Console для профиля, который написал вход без ключа Console или CLI Claude Platformant auth login; для других профилей используйте инструмент, который их создал - Если администратор подготовил учетные данные профиля, попросите его выдать новое
- Запустите
/status, чтобы подтвердить активный источник учетных данных и имя профиля - Чтобы перестать использовать профиль, отмените установку
ANTHROPIC_PROFILE, если вы его установили, затем аутентифицируйтесь другим способом, например/loginилиANTHROPIC_API_KEY
OAuth scope requirement
Сохраненный токен предшествует области разрешений, которая требуется более новой функции. Вы видите это чаще всего из /usage и индикатора использования строки состояния:
OAuth token does not meet scope requirement: user:profile
Что делать:
- Запустите
/login, чтобы получить новый токен с текущими областями. Вам не нужно сначала выходить.
claude.ai rejected the session token
Запрос claude.ai connector завершился ошибкой, потому что claude.ai отклонил токен из вашего входа Claude Code, обычно вход, который истек и не мог быть обновлен. Отклоненный токен — это ваш вход, а не собственная авторизация соединителя в claude.ai, поэтому повторная авторизация соединителя не разрешает это. В /mcp соединитель показывается как connected · session token rejected и его представление деталей читает:
claude.ai rejected the session token. Run /login, then reconnect.
Что делать:
- Запустите
/loginдля входа снова - Переподключите соединитель из
/mcp, или запустите/mcp reconnect <server>. Переподключение перед повторным входом оставляет соединитель в том же состоянии. Опция Reconnect панели/mcpсообщаетyour claude.ai session token was rejected; введенная форма/mcp reconnect <server>сообщает об успешном переподключении, даже если токен все еще отклонен.
До v2.1.222 Claude Code отметил соединитель как нуждающийся в аутентификации вместо этого, что указывал вас на поток авторизации соединителя, даже если завершение его не разрешало состояние.
MCP server needs you to sign in again
Удаленный MCP server отклонил учетные данные при вызове инструмента в середине сеанса, обычно потому, что вход или токен истек или потому, что токен не имеет разрешения, которое требует инструмент. Вызов инструмента завершается ошибкой, и /mcp отмечает сервер как needing authentication.
Для сервера, на который вы входите из Claude Code, включая соединитель claude.ai, вход истек или был отозван:
MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)
Запустите /mcp, выберите сервер и войдите снова из его меню.
Для сервера, настроенного с помощью скрипта headersHelper, Claude Code уже повторно запустил помощника и повторил вызов один раз перед отображением этого:
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)
Проверьте, что помощник возвращает учетные данные, которые сервер принимает, затем переподключитесь из /mcp, который запускает помощника снова.
Для сервера со статическим заголовком Authorization в его конфигурации:
MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)
Обновите значение заголовка там, где сервер настроен, затем переподключитесь из /mcp.
До v2.1.273 все три случая показали MCP server "<name>" requires re-authorization (token expired).
Сервер также может отказать вызову инструмента с HTTP 403 insufficient_scope, чтобы попросить вас авторизовать область, иногда ту, которую ваш токен уже указывает. Сообщение называет эту область:
MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate
Запустите /mcp, выберите сервер и аутентифицируйтесь снова из его меню.
Когда конфигурация сервера не устанавливает ни oauth.scopes, ни authServerMetadataUrl, Claude Code запрашивает область, которую назвал сервер. С любым параметром Claude Code запрашивает области этого параметра вместо этого. Если вы закрепили oauth.scopes, добавьте отсутствующую область в этот список перед повторной аутентификацией.
До v2.1.274 этот случай показал сообщение needs you to sign in again, и до v2.1.273 он показал requires re-authorization (token expired) как другие случаи.
Issuer mismatch in authorization response
Во время MCP OAuth sign-in сервер авторизации перенаправил обратно в Claude Code с параметром iss, который не называет издателя, которого Claude Code ожидал от метаданных OAuth сервера. Неправильный издатель на этом шаге — это то, как выглядит атака смешивания сервера авторизации, поэтому Claude Code завершает вход ошибкой вместо обмена кодом авторизации. Claude Code показывает ошибку в меню сервера /mcp после входа в браузер:
Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"
expected — это издатель из метаданных OAuth сервера, и received — это значение iss, которое перенаправление несло. Вход, чье перенаправление не содержит параметр iss, проходит проверку, если только метаданные сервера не установили authorization_response_iss_parameter_supported, в этом случае Claude Code завершает вход ошибкой.
Что делать:
- Попробуйте вход снова из
/mcp - Если ошибка повторяется, сообщите об этом оператору сервера. Исправление находится на стороне сервера: сервер авторизации должен вернуть того же издателя в параметре
iss, который он объявляет в своих метаданных - Для подключения, пока сервер исправляется, запустите Claude Code с
MCP_SDK_GENERATION=v1, чей runtime не запускает эту проверку. Это удаляет защиту от атак смешивания, поэтому предпочитайте исправление на стороне сервера
До v2.1.232 Claude Code использовал только v2 runtime в постепенном развертывании или когда вы установили MCP_SDK_GENERATION=v2.
AWS credentials expired or invalid
Ваш токен сеанса AWS истек или был отклонен. Это сообщение появляется на 401 из Claude Platform on AWS или Mantle endpoint, что является тем, как эти поставщики сообщают об истекшем токене безопасности.
Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущая 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 ...
До v2.1.273 это сообщение появлялось только, когда awsAuthRefresh был настроен.
Что делать:
- Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данным и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором
- Если
awsAuthRefreshустановлен, запустите команду, названную в сообщении, такую какaws sso login --profile myprofile, в другом терминале и завершите вход в браузер, затем повторите попытку. В противном случае обновите учетные данные AWS, которые вы используете сами: ваш вход SSO, ключи доступа, ключ API или токен прокси - С
awsAuthRefresh, установленным в интерактивном сеансе, вы можете вместо этого запустить/login, выбрать 3rd-party platform, затем выбрать Claude Platform on AWS · refresh credentials под Using 3rd-party platforms, чтобы запустить ту же команду без перезапуска Claude Code. См. Configure AWS credentials - Если ошибка повторяется после успешного выполнения команды обновления, подтвердите, что идентификатор действителен вне Claude Code с помощью
aws sts get-caller-identityв той же оболочке и профиле
AWS authentication failed
Ваш поставщик AWS вернул 403, или Amazon Bedrock вернул 401.
Amazon Bedrock сообщает об истекшем токене безопасности как 403, но 403 также является тем, как он сообщает об отказе в авторизации, такой как AccessDeniedException из отсутствующего разрешения IAM. Claude Code не может различить эти две причины.
401 из Amazon Bedrock также приземляется здесь, а не под AWS credentials expired or invalid, потому что Amazon Bedrock не сообщает об истекшем токене как 401. 401 из этой конечной точки обычно поступает из чего-то еще в пути запроса, такого как корпоративный прокси.
Обновление учетных данных исправляет истекший токен и не может исправить другие причины, поэтому сообщение предлагает оба:
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 ...
Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущая AWS authentication failed.
Когда 403 — это ответ Amazon Bedrock, что у вас нет доступа к модели с указанным ID модели, подсказка вместо этого говорит вам включить модель для вашей учетной записи и региона в консоли Amazon Bedrock.
До v2.1.273 это сообщение появлялось только, когда awsAuthRefresh был настроен.
Что делать:
- Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данным и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором
- Обновите ваши учетные данные AWS на случай, если истекшее учетное данные является причиной: запустите команду
awsAuthRefresh, названную в сообщении, когда она установлена, или обновите ваш вход SSO, ключи доступа, ключ API или токен прокси сами - Если ваши учетные данные текущие, подтвердите разрешения IAM в IAM configuration, прикреплены к идентификатору, который вы используете, и что выбранная модель включена для вашей учетной записи и региона
- Запустите
aws sts get-caller-identity, чтобы подтвердить, какой идентификатор используют ваши запросы; устаревшийAWS_PROFILEили профиль по умолчанию — это частая причина несоответствия разрешений
Google Cloud credentials expired or invalid
Ваши учетные данные Google Cloud для Google Cloud's Agent Platform истекли или были отклонены: запрос вернул 401, что является тем, как Agent Platform сообщает об истечении учетных данных.
Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущая 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 ...
Что делать:
- Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данным и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором
- Если вы аутентифицируетесь с учетными данными приложения по умолчанию, запустите команду
gcpAuthRefresh, названную в сообщении, илиgcloud auth application-default login, и завершите вход, затем повторите попытку - Если вы маршрутизируете через LLM gateway с установленным
CLAUDE_CODE_SKIP_VERTEX_AUTH, обновите токен шлюза вANTHROPIC_AUTH_TOKENилиANTHROPIC_CUSTOM_HEADERS, затем повторите попытку - Если вы аутентифицируетесь с файлом ключа учетной записи обслуживания, подтвердите, что
GOOGLE_APPLICATION_CREDENTIALSуказывает на действительный ключ. См. Configure GCP credentials - Если ошибка повторяется после обновления, подтвердите, что идентификатор работает вне Claude Code с помощью
gcloud auth application-default print-access-tokenв той же оболочке
До v2.1.273 401 из Agent Platform показал общее сообщение Please run /login или Failed to authenticate вместо этого, которое не может обновить учетные данные Google Cloud.
Google Cloud authentication failed
Google Cloud's Agent Platform вернул 403, который он использует для отказов в авторизации, а не для истекших учетных данных. Обычно идентификатор, с которым вы аутентифицируетесь, отсутствует разрешение IAM, или модель не включена для вашего проекта.
Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущая 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 ...
Что делать:
- Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данным и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором
- Подтвердите роли в IAM configuration, предоставлены идентификатору, с которым вы аутентифицируетесь
- Подтвердите, что модель включена для вашего проекта. См. Request model access
До v2.1.273 403 из Agent Platform показал общее сообщение Please run /login или Failed to authenticate вместо этого, которое не может обновить учетные данные Google Cloud.
Microsoft Foundry authentication failed
Microsoft Foundry вернул 401 или 403: учетные данные Azure в запросе были отклонены, или идентификатор позади них не имеет доступа к ресурсу Foundry. /login не может создавать учетные данные Azure. Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущая 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 ...
Что делать:
- Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данным и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором
- Обновите учетные данные, которые вы настроили в Configure Azure credentials: поверните
ANTHROPIC_FOUNDRY_API_KEY, создайте свежийANTHROPIC_FOUNDRY_AUTH_TOKEN, или запуститеaz login, чтобы цепь учетных данных Microsoft Entra по умолчанию могла войти снова - Если учетные данные текущие, подтвердите, что идентификатор имеет доступ к ресурсу Foundry. См. Azure RBAC configuration
До v2.1.273 401 или 403 из Microsoft Foundry показал общее сообщение Please run /login или Failed to authenticate вместо этого, которое не может обновить учетные данные Azure.
Could not load AWS or Google Cloud credentials
Claude Code не мог получить используемые учетные данные из цепи поставщика учетных данных AWS или из ваших учетных данных приложения Google по умолчанию на машине, на которой он работает, поэтому ни один запрос не достиг вашего облачного поставщика. Claude Code очищает свои кэшированные учетные данные и повторяет попытку дважды перед отображением этого сообщения. Деталь после · называет конкретную причину, такую как истекший сеанс SSO, отсутствующие учетные данные приложения по умолчанию, сообщаемые как Could not load the default credentials, или отозванный вход, сообщаемый как 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.
В non-interactive mode с -p и в Agent SDK код структурированной ошибки — cloud_credential_error. До v2.1.267 сообщение показало только текст деталей после API Error:, и структурированный код был server_error или unknown.
Что делать:
- Запустите команду входа вашего поставщика, такую как
aws sso login --profile myprofileилиgcloud auth application-default login, затем повторите попытку. Bedrock, Agent Platform, or Foundry credentials not loading показывает, как подтвердить учетные данные вне Claude Code - Если деталь читает
AWS default-chain credential resolve timed out, цепь зависла, а не завершилась ошибкой, поэтому следуйте AWS default-chain credential resolve timed out вместо этого
AWS default-chain credential resolve timed out
Цепь поставщика учетных данных AWS по умолчанию не произвела учетные данные в течение 60 секунд, поэтому Claude Code остановил разрешение и завершил запрос ошибкой. Это время ожидания — одна из причин Could not load AWS or Google Cloud credentials. Сбой — это локальное разрешение учетных данных: запрос никогда не достиг Amazon Bedrock, Claude Platform on AWS или Mantle endpoint. Claude Code очищает свой credential cache и повторяет попытку перед тем, как эта ошибка проявляется, поэтому к тому времени, когда вы ее видите, цепь зависла при повторных попытках.
API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.
Частые причины — команда credential_process в вашем профиле AWS, которая ждет входа, который она не может получить, и контейнер или VM, чей сервис метаданных экземпляра (IMDS) никогда не отвечает на зонд цепи.
До v2.1.267 сообщение читалось API Error: AWS default-chain credential resolve timed out.
До v2.1.207 зависшая цепь оставляла запрос ожидающим неопределенно долго вместо того, чтобы завершиться ошибкой.
Что делать:
- Запустите
aws sts get-caller-identityв той же оболочке с тем жеAWS_PROFILE. Если он также зависает, исправьте профиль; командаcredential_process, которая запрашивает интерактивно, — это частая причина. - Завершите шаг входа перед запуском Claude Code, например
aws sso login --profile myprofile, поэтому цепь разрешается из локального кэша SSO вместо ожидания потока браузера - Если ваша цепь запускает интерактивный вход, который законно нуждается в более чем 60 секундах, такой как SSO с MFA через оболочку, такую как
aws-vault, поднимите лимит в миллисекундах с помощьюCLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS
Bedrock setup verification timed out waiting for AWS
Вызов AWS во время Bedrock setup wizard проверки учетных данных, такой как поиск учетных данных или проверка идентификатора, не завершился в течение лимита 60 секунд. Мастер перестает ждать и завершает шаг проверки ошибкой:
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.
Число отражает ваш лимит: 60 секунд по умолчанию, или значение, которое вы установили в CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.
Частые причины — сеть или прокси, которые зависают запросы к AWS, включая обновление токена SSO, и помощник учетных данных, все еще ожидающий входа, который вы не можете видеть. Поднимите лимит только, когда помощник законно нуждается в большем времени.
Один зависший запрос к AWS также может завершиться ошибкой на его собственном времени ожидания для каждого запроса, которое показывает более короткое сообщение на том же шаге:
A request to AWS timed out. Check your network and proxy settings, then try again.
Когда те же времена ожидания происходят на шаге закрепления модели, мастер отмечает модель как unreachable вместо отображения любого сообщения.
Что делать:
- Запустите
aws sts get-caller-identityв той же оболочке. Если он также зависает, зависание находится вне Claude Code, в вашей сети, вашем прокси или помощнике учетных данных в вашем профиле AWS; исправьте это сначала. - Завершите любой интерактивный вход перед открытием мастера, например
aws sso login --profile myprofile - Если помощник учетных данных в вашем профиле AWS законно нуждается в более чем 60 секундах для запроса, поднимите лимит в миллисекундах с помощью
CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS
Cloud gateway session expired
Вы вошли через Claude apps gateway, и сеанс шлюза, сохраненный на этой машине, истек и не мог быть обновлен, или шлюз больше его не принимает, например, после JWT secret is replaced шлюза. Если вы видите эту строку при запуске claude интерактивно, сеанс открылся без входа в шлюз:
Cloud gateway session expired — run /login to reconnect.
Та же строка может появиться в середине сеанса, когда учетные данные шлюза истекают и Claude Code не может их обновить.
В non-interactive запуске, фоновом или другом автоматическом сеансе, или подкоманде claude, отличной от claude auth, Claude Code выходит с этим сообщением вместо этого, когда шлюз больше не принимает сеанс:
Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.
Что делать:
- Запустите
/loginв сеансе и завершите вход в браузер - Для неинтерактивного запуска запустите
claudeв том же окружении, запустите/login, затем перезапустите вашу команду
Gateway refused the request
Вы подписаны через Claude apps gateway, и запрос вернул 403: шлюз, или вышестоящий позади него, отказал в нем. Повторный вход не изменяет отказ, поэтому сообщение указывает на администратора вашего шлюза:
Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...
Что делать:
- Попросите администратора вашего шлюза посмотреть запрос. Хвост
API Error:содержит отказ, который вернул шлюз - Для администраторов: access control rule на шлюзе возвращает 403, который audit log записывает с его причиной, и отказ авторизации вышестоящего проходит через Upstream error messages
До v2.1.273 403 на сеансе шлюза показал общее сообщение Please run /login или Failed to authenticate вместо этого, и повторный вход не очистил отказ.
Ошибки сети и подключения
Большинство этих ошибок означают, что сетевой запрос из Claude Code не достиг пункта назначения, или что-то между Claude Code и API изменило ответ на обратном пути; если запись также содержит локальную причину, такую как ошибка записи архива, это указано в её описании. Обычно они возникают в вашей локальной сети, прокси или брандмауэре, либо в политике сети облачной среды.
Unable to connect to API
TCP-соединение с API не удалось или никогда не завершилось. Для распространённых кодов ошибок подключения сообщение указывает тип сбоя и сохраняет код в скобках:
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)
fetch failed
Request timed out. Check your internet connection and proxy settings
Код, который Claude Code не распознаёт, отображается как Unable to connect to API с кодом в скобках. Некоторые из этих сообщений могут показывать более одного кода: Connection refused может показать ConnectionRefused или ECONNREFUSED, например, а Can't reach the API server может показать ENOTFOUND или FailedToOpenSocket.
До версии v2.1.227 каждое из этих кодированных сообщений читалось как Unable to connect to API с кодом, например Unable to connect to API (ECONNREFUSED).
Распространённые причины включают отсутствие доступа в интернет, VPN, который блокирует api.anthropic.com, или требуемый корпоративный прокси, который не настроен.
Что делать:
- Подтвердите, что вы можете достичь хоста API из той же оболочки, запустив
curl -I https://api.anthropic.com. В Windows PowerShell используйтеcurl.exe -I https://api.anthropic.com, чтобы встроенный псевдонимInvoke-WebRequestне использовался. - Если вы находитесь за корпоративным прокси, установите
HTTPS_PROXYперед запуском Claude Code и см. Network configuration - Если вы маршрутизируете через шлюз LLM или ретранслятор, установите
ANTHROPIC_BASE_URLна его адрес. См. Connect Claude Code to an LLM gateway для настройки. - Убедитесь, что ваш брандмауэр разрешает хосты, указанные в Network access requirements
- Прерывистые сбои повторяются автоматически; постоянные сбои указывают на локальную проблему сети
Если curl успешен, но Claude Code всё ещё не работает, причина обычно находится между средой выполнения и сетью, а не в самой сети:
- На Linux и WSL проверьте
/etc/resolv.confна наличие недостижимого сервера имён. WSL в частности может унаследовать неработающий распознаватель от хоста. - На macOS клиент VPN, который был отключен или удален, может оставить интерфейс туннеля или правило маршрутизации. Проверьте
ifconfigна наличие устаревших интерфейсовutunи удалите сетевое расширение VPN в System Settings. - Docker Desktop и аналогичные среды выполнения контейнеров могут перехватывать исходящий трафик. Закройте их и повторите попытку, чтобы исключить это.
Unable to connect to Anthropic services
Во время первоначальной настройки Claude Code проверяет, что он может достичь api.anthropic.com и platform.claude.com перед отображением шага входа. Когда одна из проверок не удаётся, Claude Code выводит причину и выходит.
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 отправляет проверку через ту же proxy configuration, что и запросы API, и даёт каждому зонду 10 секунд. Когда неудачный зонд прошёл через прокси, сообщение указывает переменную окружения, которая его настроила, такую как HTTPS_PROXY. До версии v2.1.222 проверка использовала другой транспорт прокси без тайм-аута: за прокси URL со схемой https:// она могла зависнуть на Checking connectivity... неопределённо долго, а затем не удаться, даже если запросы API через тот же прокси успешны.
Claude Code пропускает эту проверку, когда managed settings file, MDM policy, или policy helper устанавливает forceLoginMethod на "gateway", или устанавливает forceLoginGatewayUrl без forceLoginMethod. С любой из этих конфигураций Claude Code открывает шаг входа на экране Cloud gateway вместо метода входа Anthropic. Claude Code также пропускает проверку, когда источник управляемых параметров на машине существует, но не может быть прочитан, поскольку этот источник может содержать конфигурацию шлюза. До версии v2.1.247 Claude Code запускал проверку и при этой конфигурации и выходил с этой ошибкой, когда конечные точки Anthropic были недостижимы.
Что делать:
- Если сообщение указывает переменную прокси, проверьте, что её значение указывает на правильный прокси, и попросите вашу команду сети разрешить HTTPS-соединения через него к хосту в сообщении. См. Network configuration.
- Пройдите проверки в Unable to connect to API. Тест
curlи рекомендации по брандмауэру там применяются и к этой проверке. - Если ваша организация входит через cloud gateway и эта ошибка появляется при первом запуске, обновитесь до Claude Code v2.1.247 или позже.
- Если ваша сеть открыта и сбой сохраняется, Claude Code может быть недоступен в вашей стране
Socket is closed
Socket is closed означает, что соединение, несущее потоковый ответ, было закрыто, пока ответ всё ещё поступал. Наиболее распространённая причина — корпоративный прокси на Windows, отбрасывающий установленный туннель в середине ответа.
В зависимости от того, насколько далеко продвинулся ответ, Claude Code повторяет запрос, сохраняет то, что произвёл Claude, или завершает ход. См. Automatic retries.
До версии v2.1.214 Claude Code не повторял этот сбой, и ход останавливался с ошибкой, содержащей Socket is closed.
Что делать:
- Если вы видите эту ошибку, обновитесь до v2.1.214 или позже с помощью
claude update, затем отправьте ваше сообщение снова - Если ходы продолжают не удаваться за тем же прокси после обновления, пройдите Unable to connect to API и проверьте настройку прокси в Network configuration
API returned an empty or malformed response
Claude Code показывает эту ошибку, когда его повторная попытка без потока неудачного потокового запроса получает статус HTTP успеха, но тело не является сообщением Claude API: обычно это HTML-ошибка или страница входа, пустое тело или JSON в другом формате. Прокси, шлюз или страница входа в сеть, отвечающие вместо API, — обычный источник. Claude Code не повторяет запрос, и ход заканчивается этой ошибкой.
API returned an empty or malformed response (HTTP 200) — check for a proxy or gateway intercepting the request.
После этого открытия сообщение сообщает, что вернулось и какой запрос не удался:
- Предложение
Response:с типом содержимого, типом тела, таким какbody is an HTML pageилиempty body, его размером в байтах и наличием ли в ответе идентификатора запроса Anthropic. Когда ответ указывает на узнаваемый сервер, такой какnginxилиcloudflare, или содержит заголовки промежуточного звена, такие какcf-rayилиvia, предложение также их перечисляет. - Предложение, указывающее идентификатор неудачного потокового запроса и сбой, который вызвал повторную попытку. Когда поток открылся до сбоя, оно также сообщает, сколько событий потока прибыло и, если какие-то прибыли, как долго поток молчал, когда попытка не удалась.
До версии v2.1.234 сообщение заканчивалось после intercepting the request.
До версии v2.1.271 ответ, который нёс действительное сообщение API под типом содержимого, отличным от JSON, таким как text/plain, также заканчивал ход этой ошибкой. Некоторые шлюзы LLM используют этот тип содержимого для ответа без потока.
Что делать:
- Прочитайте предложение
Response:, чтобы увидеть, какая система ответила. HTML-тело, отсутствие идентификатора запроса Anthropic или названный сервер, такой какnginxилиcloudflare, означает, что что-то между Claude Code и API ответило вместо него - Если вы маршрутизируете через LLM gateway, протестируйте маршрут прямым запросом и исправьте переход, который возвращает ответ, отличный от API
- В сети со страницей входа, такой как гостевой Wi-Fi, завершите вход в браузере, затем повторите попытку
- Если только маршрут без потока через ваш шлюз сломан, установите
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK=1, чтобы запрос, который не удаётся в середине потока, перешёл на обычный путь повторной попытки вместо этого резервного варианта, кроме случаев, когда сама конечная точка потока возвращает404, где Claude Code всё ещё переходит на резервный вариант
Streaming response ended before any complete data was received
Потоковый ответ от вашего поставщика модели завершился без доставки каких-либо полезных данных, поэтому Claude Code повторно отправил запрос без потока, чтобы завершить ход. Claude Code показывает предупреждение один раз за сеанс, только в интерактивных сеансах. До версии v2.1.239 Claude Code молча повторял попытку без потока.
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 отправляет каждый затронутый запрос дважды: пустую попытку потока и повторную попытку. Обычная причина — прокси или шлюз, который потребляет или преобразует тело потокового ответа на обратном пути.
Что делать:
- Настройте любой прокси или шлюз между Claude Code и вашим поставщиком модели, чтобы пропускать тела потоковых ответов и их заголовки без изменений
- На Amazon Bedrock см. Streaming errors behind a gateway or proxy для требований к заголовкам и телу
Bedrock streaming response has an unexpected content-type
Шлюз или прокси между Claude Code и Amazon Bedrock преобразует тело потокового ответа или его заголовок Content-Type. Amazon Bedrock потоком передаёт ответы как application/vnd.amazon.eventstream. Вместо декодирования тела, которое он не может прочитать, Claude Code отклоняет успешный потоковый ответ, который сообщает другой тип содержимого. Claude Code не повторяет запрос.
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.
До версии v2.1.208 та же неправильная конфигурация проявлялась как API Error: Truncated event message received после того, как весь ответ был буферизирован.
Что делать:
- Настройте шлюз на пропуск тела ответа
InvokeModelWithResponseStreamи его заголовкаContent-Typeбез изменений. Промежуточное звено, которое повторно излучает поток как события, отправляемые сервером, — распространённая причина. - Установка
CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD=1скрывает эту ошибку, но Claude Code не декодирует двоичное тело под переписанным заголовком, поэтому эти запросы переходят на более медленный путь без потока. См. Streaming errors behind a gateway or proxy.
SSL certificate errors
Прокси или устройство безопасности в вашей сети перехватывает трафик TLS со своим собственным сертификатом, и Claude Code ему не доверяет.
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
До версии v2.1.273 оба сообщения заканчивались на Check your proxy or corporate SSL certificates, без кода OpenSSL или подсказки NODE_EXTRA_CA_CERTS.
Начиная с версии v2.1.199, сбой проверки сертификата не повторяется, поэтому эта ошибка появляется при первой попытке вместо того, чтобы появиться после полного retry budget. Более ранние версии потратили несколько минут на повторные попытки перед её отображением. Переходящие условия TLS, такие как тайм-аут рукопожатия, всё ещё повторяются.
Во время /login и проверки подключения при запуске тот же сбой производит другое сообщение:
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.
На Amazon Bedrock запросы, которые Claude Code сам отправляет в AWS, такие как вызовы учётных данных роли STS и SSO, обнаружение модели и проверки мастера настройки, зависят от той же конфигурации сертификата. См. Certificate errors behind a TLS-inspecting proxy.
Что делать:
- Экспортируйте пакет CA вашей организации и укажите Claude Code на него с помощью
NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem - См. Network configuration для полных инструкций по настройке
- Не устанавливайте
NODE_TLS_REJECT_UNAUTHORIZED=0, что полностью отключает проверку сертификата
Host not allowed in a cloud session
Исходящий HTTP-запрос из облачного сеанса или подпрограммы был заблокирован политикой сети среды.
HTTP 403
x-deny-reason: host_not_allowed
Вы также можете увидеть сертификат TLS, который не соответствует реальному сертификату пункта назначения. Облачные сеансы маршрутизируют исходящий трафик через прокси, который применяет политику сети, поэтому несоответствующий сертификат означает, что прокси завершил соединение, а не пункт назначения.
Это не проблема сети на стороне клиента. Облачные сеансы и routines работают внутри изолированной виртуальной машины, исходящий трафик которой через сеанс отфильтрован в cloud environment's список разрешений; GitHub operations и трафик соединителя MCP используют отдельные каналы, поэтому они могут продолжать работать, пока другие хосты заблокированы. Среда Default использует доступ Trusted, который разрешает default allowlist реестров пакетов, API поставщиков облака, реестров контейнеров и распространённых доменов разработки и блокирует другие домены на этом пути.
Что делать:
- Откройте подпрограмму для редактирования или запустите облачный сеанс. Выберите значок облака, показывающий имя вашей среды, такое как Default, чтобы открыть селектор. Наведите указатель на вашу среду и нажмите значок параметров.
- В диалоговом окне Update cloud environment измените Network access с Trusted на Custom, затем добавьте заблокированный домен в Allowed domains. Введите один домен в строку. Установите флажок Also include default list of common package managers, чтобы сохранить default allowlist вместе с вашими пользовательскими доменами. Выберите Full вместо этого, если вы хотите неограниченный доступ.
- Нажмите Save changes. Следующий запуск использует обновленный список разрешений.
См. Network access для уровней доступа и списка разрешений по умолчанию. Локальные сеансы CLI не затронуты этой политикой.
The proxy refused the connection
Вы видите это сообщение, когда Claude читает artifact через прокси, который вы установили в HTTPS_PROXY или связанную proxy variable. Содержимое артефакта поступает из *.frame.claudeusercontent.com, поэтому Claude Code сначала отправляет прокси запрос CONNECT, прося его открыть туннель к этому хосту. Когда прокси отказывает, ничего не достигает хоста, и сообщение содержит статус HTTP прокси:
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)
Статус — это ответ прокси на CONNECT. Хост никогда не ответил, поэтому каждый статус указывает на другое исправление:
HTTP 407: прокси требует учётные данные, которые он не получил. Поместите их в URL прокси, как показано в Basic authentication.HTTP 403: прокси отказывается туннелировать к*.frame.claudeusercontent.com. Попросите того, кто управляет прокси, разрешить этот хост, который Network access requirements перечисляет.- Любой другой статус, такой как
HTTP 502: прокси не открыл туннель по своей причине, такой как неудача достижения хоста. Посмотрите статус в журналах прокси. unreadable replyвместо статуса: то, что находится по адресу прокси, не ответило строкой статуса HTTP. Проверьте, что адрес — это HTTP-прокси.
Что делать:
- Проверьте адрес и учётные данные в переменной прокси, как описано в Proxy configuration, затем запустите
curl -x http://proxy.example.com:8080 -I https://api.anthropic.comиз оболочки, в которой вы запускаете Claude Code, используя ваш собственный URL прокси. В Windows PowerShell запуститеcurl.exe. Если этот зонд не удаётся так же, сначала исправьте настройку прокси. Если он успешен, отказ специфичен для хоста артефакта. - Если ваша сеть позволяет Claude Code достичь хоста артефакта напрямую, добавьте
.frame.claudeusercontent.comвNO_PROXY. Сохраняйте запись узкой: более широкая запись.claudeusercontent.comтакже обходит прокси дляbridge.claudeusercontent.com, который организациям с IP allowlisting нужно сохранить на прокси.
До версии v2.1.238 Claude Code сообщал об отказанном туннеле как об общей ошибке сети.
The cloud environments service returned an empty or unexpected response
Claude Code запрашивает ваш список cloud environments в нескольких местах, например, когда вы создаёте облачный сеанс из CLI или запускаете /remote-env. Когда он не может прочитать ответ сервера, он показывает одно из этих сообщений:
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.
Сервер принял запрос, но ответил телом, которое не является списком сред: пусто, не JSON или JSON без списка. Это обычно сопровождает сбой на стороне сервиса и очищается самостоятельно. В зависимости от поверхности, которая запросила список, Claude Code может добавить префикс, такой как couldn't list environments: в диалоговом окне /remote-env.
Что делать:
- Повторите действие. Claude Code запрашивает список снова каждый раз
- Если сообщение продолжает появляться, проверьте status.claude.com на наличие активных инцидентов
До версии v2.1.236 Claude Code показывал необработанную ошибку 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.
Возобновление с помощью claude --resume или claude --continue переподключается к сеансу Remote Control, записанному в этом разговоре. Это сообщение означает, что переподключение не удалось по причине, которая может быть временной, такой как сетевой сбой или ошибка сервера, поэтому Claude Code не может подтвердить, существует ли удалённый сеанс. Ваш локальный сеанс продолжает работать без Remote Control.
Что делать:
- Запустите
/remote-controlдля повторной попытки подключения - Запустите новый сеанс с помощью
claude --remote-control, чтобы создать новый сеанс Remote Control - Для других сообщений запуска Remote Control см. Troubleshoot Remote Control
Если сервер вместо этого сообщает, что предыдущий сеанс исчез, вы не видите это сообщение. Claude Code запускает новый сеанс на его месте или показывает Previous session is unavailable — run /remote-control to start a new one, в зависимости от the conversation's reconnection record. Из версии v2.1.227 по v2.1.231 Claude Code показывал сообщение, которое начинается с Remote Control could not resume the previous session under the current login вместо этого, и более ранние версии вели себя иначе.
Sessions ended while this machine was offline
Claude Code показывает это сообщение в терминале, запускающем claude remote-control, после того как ваша машина была в автономном режиме достаточно долго, чтобы сервер очистил среду Remote Control, которую ваша машина обслуживала. Сеансы в этой среде закончились, и вы не можете их возобновить. Количество — это количество сеансов, которые закончились.
2 sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.
Что делать:
- Когда Claude Code перечисляет сохранённые worktrees под этим сообщением, подберите любую незафиксированную работу из них
- Запустите
claude remote-controlдля запуска свежей среды
Couldn't share the transcript
После того как вы согласитесь поделиться стенограммой вашего сеанса из приглашения опроса, такого как session quality survey, Claude Code загружает её в Anthropic или сохраняет локальный архив вместо этого на сторонних поставщиков, на сеансах Claude apps gateway и когда нет доступных учётных данных Anthropic. Это сообщение означает, что общий доступ не завершился.
Couldn't share the transcript.
Загрузка должна соответствовать лимиту 8 MiB. На длинном сеансе Claude Code прогрессивно отбрасывает части общего доступа, параметры модели последнего запроса в первую очередь, затем структурированный разговор и стенограммы подагента, и показывает это сообщение только когда никакая сокращённая версия не может быть отправлена или сетевая или ошибка сервера останавливает загрузку. Когда Claude Code сохраняет локальный архив вместо этого, сообщение означает, что он не мог записать архив.
Что делать:
- Запустите
/feedbackдля отправки стенограммы с описанием того, что произошло. См. Report an error, если/feedbackнедоступен в вашей среде - Если другие запросы также не удаются, проверьте ваше сетевое соединение и см. Unable to connect to API
Ошибки запроса
Эти ошибки связаны с содержимым вашего запроса. Большинство из них возвращаются API после отклонения запроса; несколько производятся локально Claude Code перед отправкой запроса.
Prompt is too long
Разговор плюс прикреплённые файлы превышают контекстное окно модели.
Prompt is too long
В интерактивном сеансе Claude Code показывает эту ошибку как:
Context limit reached · /compact или /clear для продолжения
Строка указывает только /clear, когда установлена DISABLE_COMPACT. Более длинные формы ошибки, такие как форма сбоя компактирования ниже, сохраняют формулировку Prompt is too long ·. В выводе -p и в расшифровке текст остаётся Prompt is too long.
Когда вы отключили автоматическое компактирование в пользовательских настройках, строка также это указывает:
Context limit reached · /compact или /clear для продолжения · auto-compact отключён · /config для его включения
Переключатель Auto-compact в /config записывает autoCompactEnabled в пользовательские настройки. Подсказка появляется только когда изменение /config вступит в силу. Например, она не появляется, когда DISABLE_AUTO_COMPACT или DISABLE_COMPACT отключили автоматическое компактирование. Она также не появляется, когда область с более высоким приоритетом, такая как проект или управляемые настройки, установила autoCompactEnabled на false. До версии 2.1.235 строка не содержала подсказку об автоматическом компактировании.
Amazon Bedrock сообщает об этом состоянии как Input is too long for requested model., что Claude Code обрабатывает так же. До версии 2.1.217 Claude Code не распознавал формулировку Bedrock, поэтому автоматическое компактирование никогда не срабатывало на ней и /compact завершался с той же ошибкой.
Шлюз Claude apps gateway сообщает об этом состоянии как capability_rejected: prompt_too_long, когда облачный вышестоящий сервер отклоняет запрос в собственной форме ошибки поставщика. Claude Code обрабатывает токен так же, как Prompt is too long. До версии 2.1.228 Claude Code не распознавал токен, поэтому автоматическое компактирование не срабатывало на нём.
Когда автоматическое компактирование выполнялось на этом ходу и завершилось с ошибкой на основной ошибке, такой как недоступная модель или ошибка аутентификации, сообщение называет эту ошибку после разделителя:
Prompt is too long · automatic compaction failed: <основная ошибка>
Сначала разрешите названную ошибку; /compact завершается с той же ошибкой, пока вы этого не сделаете. До версии 2.1.229 неудачное автоматическое компактирование выводило Prompt is too long без указания причины.
Когда автоматическое компактирование выполняется на этой ошибке, оно обычно суммирует ваши самые старые обмены и сохраняет самые новые. В качестве последней меры Claude Code суммирует иначе:
- Когда он не может суммировать какой-либо целый обмен, Claude Code сохраняет ваш самый новый prompt слово в слово и суммирует всё перед ним.
- В этом случае, когда разговор не заканчивается вашим prompt, Claude Code суммирует весь разговор вместо этого.
Claude Code пропускает это восстановление, когда содержимое, которое оно должно было бы перенести, не содержит ответа модели и менее примерно 1000 токенов вашего собственного текста, такого как короткий повтор, отправленный после чрезмерно большой вставки. Запустите /clear для начала заново. До версии 2.1.269 компактирование завершалось с ошибкой всякий раз, когда оно не могло суммировать целый обмен, поэтому сеанс в этом состоянии получал эту ошибку снова на каждом ходу.
Однооборотный разговор не имеет более ранних ходов для суммирования. Когда автоматическое компактирование должно было выполниться на одном, Claude Code пропускает попытку и объясняет, что заполняет запрос. Когда API не сообщает количество токенов в своей ошибке, сообщение читается:
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.
Когда API сообщает количество токенов в своей ошибке, Claude Code сравнивает их со своей оценкой размера разговора, чтобы определить, что занимает большую часть запроса: содержимое самого разговора или системный prompt, определения инструментов и содержимое вложений, которые Claude Code отправляет с ним. Когда содержимое самого разговора занимает большую часть запроса, сообщение читается:
Prompt is too long · the request is ~<токены запроса> tokens (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).
Когда большая часть запроса находится вне разговора, сообщение читается:
Prompt is too long · the request is ~<токены запроса> tokens (limit <лимит>) but this conversation is only ~<токены разговора> 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.
До версии 2.1.162 Claude Code всё равно пытался выполнить компактирование и выводил простой Prompt is too long при его неудаче.
Что делать:
- Запустите
/compactдля суммирования более ранних ходов и освобождения места, или/clearдля начала заново. Если/compactответитNot enough messages to compact., разговор — это однооборотный обмен без более ранних ходов для суммирования, поэтому место занято этим одним prompt и тем, что Claude Code отправляет с каждым запросом: запустите/clearи отправьте заново с меньшим вставленным текстом или меньшими вложениями, или уменьшите определения инструментов и файлы памяти, используя шаги ниже - Запустите
/contextдля просмотра разбивки того, что потребляет окно: системный prompt, инструменты, файлы памяти и сообщения - Отключите MCP серверы, которые вы не используете, с помощью
/mcp disable <имя>для удаления их определений инструментов из контекста - Обрежьте большие файлы памяти
CLAUDE.mdили переместите инструкции в правила с областью действия пути, которые загружаются только при необходимости - Подагенты наследуют каждое определение инструмента MCP от родительского сеанса, что может заполнить их контекстное окно до первого хода. Отключите MCP серверы, которые вы не используете, перед созданием подагентов.
- Автоматическое компактирование включено по умолчанию и обычно предотвращает эту ошибку. Если вы отключили его в
/configили с помощьюDISABLE_AUTO_COMPACT, включите его обратно. Если вы держите его отключённым, запустите/compactсамостоятельно перед заполнением окна.
Смотрите Explore the context window для интерактивного просмотра того, как заполняется контекст.
Context exceeds the token limit
/context показывает это предупреждение в верхней части своего вывода, когда разговор превысил контекстное окно модели. Запросы завершаются с Prompt is too long до тех пор, пока вы не освободите место. Интерактивный сеанс показывает эту ошибку как строку Context limit reached.
Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.
Когда превышенный лимит — это окно компактирования, такое как граница 200K на моделях с контекстом 1M, предупреждение читается иначе. Окно компактирования может находиться ниже контекстного окна модели, поэтому запросы за его пределами могут всё ещё успешно выполняться.
Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.
Обе формы называют /clear вместо /compact, когда вы установили DISABLE_COMPACT.
Что делать:
- В многооборотном разговоре запустите
/compactдля суммирования более ранних ходов и освобождения места. Для начала заново запустите/clear - Для дополнительных способов снижения использования смотрите Prompt is too long
До версии 2.1.216 /context показывал использование выше 100% без строки предупреждения, объясняющей, что это означает или как восстановиться.
Error during compaction: Conversation too long
/compact сам завершился с ошибкой, потому что недостаточно свободного контекста для хранения создаваемого им резюме.
Error during compaction: Conversation too long. Press esc twice to go up a few messages and try again.
Это может произойти, когда окно уже заполнено в момент срабатывания автоматического компактирования, или когда вы запускаете /compact после просмотра Prompt is too long. В интерактивном сеансе эта ошибка — это строка Context limit reached.
Что делать:
- Нажмите Esc дважды, чтобы открыть список сообщений и вернуться на несколько ходов назад. Это удаляет самые последние сообщения из контекста. Затем запустите
/compactснова. - Если возврат на несколько ходов не освобождает достаточно места, запустите
/clearдля начала свежего сеанса. Ваш предыдущий разговор сохраняется и может быть переоткрыт с помощью/resume.
Это сообщение и другие сбои /compact отображаются в стиле ошибки. До версии 2.1.216 они отображались в том же тусклом стиле, что и успешный вывод команды, поэтому вы могли прочитать неудачное компактирование как успех.
Request too large
Тело необработанного запроса превысило лимит API в 32MB перед токенизацией, обычно из-за большого вставленного содержимого, результатов инструментов или вложений. Этот лимит отделён от контекстного окна.
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.
Когда запрос прошёл прямо в Claude API и сам API отклонил его, Claude Code измеряет разговор и формулирует сообщение в зависимости от того, может ли работать восстановление. Через прокси, шлюз или поставщика облачных услуг вы получаете общее сообщение. Измеренные формы:
Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).: изображения или документы превысили лимит запроса. Claude Code повторяет попытку с их удалением.Request too large for the API's 32MB request limit: сами сообщения превышают лимит, поэтому сообщение говоритcompacting cannot make it fitи Claude Code не повторяет попытку. В неинтерактивном режиме сообщение говорит вам уменьшить входные данные или начать новый сеанс.
До версии 2.1.212 разговоры с достаточным накопленным количеством изображений завершались с ошибкой на каждом ходу с Request too large (max 32MB). Double press esc to go back and try with a smaller file. До версии 2.1.229 Claude Code показывал совет о вложениях для каждого отклонения, даже когда компактирование не могло помочь.
Что делать:
- Если сообщение говорит
compacting cannot make it fit, нажмите Esc дважды, чтобы вернуться на ход, который добавил большое содержимое, или запустите/clearдля начала заново - В противном случае запустите
/compact, который удаляет накопленные изображения и вложения - Ссылайтесь на большие файлы по пути вместо вставки их содержимого, чтобы Claude мог читать их по частям
- Для изображений смотрите Image was too large ниже
Image was too large
Вставленное или прикреплённое изображение превышает лимиты размера или размеров 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 заменяет необработанное изображение текстовым заполнителем и повторяет попытку, поэтому последующие сообщения успешны. В версиях до 2.1.142 вставленное изображение могло остаться в разговоре и повторить ту же ошибку на каждом последующем сообщении. Для восстановления в этих версиях нажмите Esc дважды и вернитесь на ход, где было добавлено изображение.
Что делать:
- Измените размер изображения перед вставкой. API принимает изображения до 8000 пикселей на самой длинной стороне для одного изображения или 2000 пикселей, когда в контексте много изображений.
- Сделайте более плотный снимок экрана соответствующей области вместо полного экрана
Unable to resize image
Claude Code не смог уменьшить масштаб прикреплённого изображения перед отправкой его в API.
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 обычно автоматически изменяет размер больших изображений. Эти ошибки означают, что изображение не могло быть декодировано или изменено в размере, чтобы соответствовать лимитам API.
Что делать:
- Если сообщение просит вас преобразовать изображение, преобразуйте его в PNG, JPEG, GIF или WebP и прикрепите снова. Claude Code может проверить размеры для этих форматов из заголовка файла без декодирования изображения.
- Если сообщение сообщает о лимите размера или размеров, измените размер или перекомпрессируйте изображение ниже этого лимита перед прикреплением.
- Если сообщение называет причину, такую как CMYK JPEG, анимированный WebP или возможно повреждённый файл, пересохраните изображение в формате, который предлагает сообщение, и прикрепите его снова.
PDF errors
Прикреплённый PDF не смог быть обработан. Сообщения показаны здесь в их неинтерактивной форме; в интерактивном сеансе они вместо этого предлагают вам дважды нажать esc и попробовать снова.
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).
Что делать:
- Для больших PDF попросите Claude прочитать диапазон страниц с помощью инструмента Read вместо прикрепления всего файла, или извлеките текст с помощью инструмента, такого как
pdftotext, и ссылайтесь на выходной файл по пути - Для защищённых или недействительных PDF удалите пароль или повторно экспортируйте файл из исходного приложения, затем попробуйте снова
Extra inputs are not permitted
Прокси или шлюз LLM между Claude Code и API удалил заголовок запроса anthropic-beta, поэтому API отклонил поля, которые от него зависят.
API Error: 400 ... Extra inputs are not permitted ... context_management
API Error: 400 ... Unexpected value(s) for the `anthropic-beta` header
Claude Code отправляет поля, доступные только в бета-версии, такие как context_management и effort, вместе с заголовком anthropic-beta, который их включает. Когда шлюз пересылает тело, но удаляет заголовок, API видит поля, которые не распознаёт.
Что делать:
- Настройте ваш шлюз для пересылки заголовка
anthropic-beta. Смотрите feature pass-through для того, что шлюзы должны пересылать. - В качестве резервного варианта установите
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1перед запуском. Disable pre-release capabilities охватывает точный объём.
Tool input schema is invalid
Инструмент в запросе объявил input_schema, который не проходит валидацию JSON Schema API, поэтому API отклонил весь запрос. Число после tools. — это позиция неудачного инструмента в списке инструментов запроса, а не имя, которое вы можете найти.
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}$'
Первая форма означает, что схема не является действительной JSON Schema draft 2020-12. Вторая означает, что имя свойства верхнего уровня не соответствует шаблону, который называет сообщение.
Claude Code исключает MCP инструменты, чья схема входных данных не прошла бы эту валидацию при загрузке инструментов сервера, поэтому запросы обычно никогда не включают один.
На развёртывании, где получение флагов отключено, или на машине, флаги которой никогда не прибывали, Claude Code записывает в журнал сервера, какой инструмент будет отклонён, но отправляет его всё равно, поэтому эта ошибка всё ещё может произойти.
Ошибка также может произойти для инструмента, чья схема объявляет диалект JSON Schema, отличный от draft 2020-12, в $schema. Claude Code не проверяет эти схемы против мета-схемы JSON Schema, хотя проверка имён свойств верхнего уровня всё ещё применяется.
До версии 2.1.216 ни одно развёртывание не выполняло проверки исключения.
Что делать:
- Если ваша версия Claude Code раньше v2.1.216, запустите
claude update. - Удалите или отключите MCP сервер, который объявляет недействительную схему. Ошибка называет инструмент только по позиции. На v2.1.216 или позже проверьте журнал каждого сервера для строки, называющей инструмент, чья схема входных данных будет отклонена. Если ни один журнал не называет один, отключайте серверы по одному.
- Если вы поддерживаете сервер, исправьте
input_schemaинструмента. Схема должна быть действительной JSON Schema, и имена свойств верхнего уровня должны быть от 1 до 64 символов в длину и использовать только буквы ASCII и цифры,_,.и-. Смотрите Tools with invalid input schemas.
There's an issue with the selected model
Имя настроенной модели не было распознано или ваша учётная запись не имеет доступа к ней. Начиная с v2.1.160 конечная подсказка, показанная здесь в её интерактивной форме, варьируется в зависимости от поверхности.
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.
Что делать:
- Интерактивный CLI: запустите
/modelдля выбора из моделей, доступных вашей учётной записи. - Неинтерактивный режим (
-p): передайте--modelс действительным псевдонимом или ID, или установитеANTHROPIC_MODEL. Текст ошибки показываетRun --modelна этой поверхности. - Agent SDK: текст ошибки опускает подсказку, потому что модель установлена программно. Установите
modelнаOptionsв TypeScript илиClaudeAgentOptions(model=...)в Python, и обработайте структурированную ошибкуmodel_not_foundдля вывода вашего собственного повтора или выбора модели. - Используйте псевдоним, такой как
sonnetилиopus, вместо полного версионного ID. Псевдонимы разрешаются в поддерживаемое значение по умолчанию, поэтому они не устаревают. Смотрите Model configuration. - Если неправильная модель продолжает возвращаться в CLI, где-то установлен устаревший ID. Проверьте места, где вы можете установить модель в порядке приоритета, и удалите устаревшее значение.
- Недавно запущенная модель может быть доступна на Anthropic API перед Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry. Если вы закрепили новый ID модели на одном из этих поставщиков и видите эту ошибку, проверьте каталог моделей вашего поставщика на доступность в вашем регионе и держите предыдущую версию закреплённой до появления новой там.
- Claude Code сообщает об истёкшем входе claude.ai как Login expired, а не как эта ошибка. До версии 2.1.206 истёкший вход, который больше не мог быть обновлён, завершался с ошибкой на каждой модели с этой ошибкой; запустите
/login, если вы видите это в более старой версии. - Для развёртываний Google Cloud's Agent Platform смотрите Google Cloud's Agent Platform troubleshooting.
Model is not a recognized model id
Строка модели, которую вы передали переключателю модели, не является псевдонимом модели, ID модели, который эта версия Claude Code знает, или ID, который начинается с claude-. Обычные причины — опечатка в ID, отображаемое имя, такое как Sonnet 5, где ожидается ID claude-sonnet-5, или псевдоним, который распознают только более новые версии Claude Code. Claude Code отклоняет переключение немедленно. До версии 2.1.200 Claude Code сохранял строку и завершался с ошибкой на следующем запросе с There's an issue with the selected model.
Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?
Конечная подсказка называет ближайший соответствующий псевдоним или ID модели. Когда ничего не достаточно близко, она читается Run /model to see available models. вместо этого.
Claude Code производит эту ошибку локально в момент запроса переключения, перед любым запросом API. Она применяется, когда модель установлена через метод Agent SDK setModel(), приложением, таким как Desktop app, которое запускает Claude Code CLI для вас, или когда вы выбираете модель с устройства, подключённого через Remote Control. До версии 2.1.260 проверка не охватывала выборы Remote Control, поэтому Claude Code применял выбор и следующий запрос завершался с There's an issue with the selected model.
Что делать:
- Запустите
/modelбез аргумента, чтобы открыть выбор и выбрать из моделей, доступных вашей учётной записи, затем передайте показанный там псевдоним или ID - Если вы использовали псевдоним, который поддерживает более новая версия Claude Code, запустите
claude update. Полный ID, который начинается сclaude-, проходит эту локальную проверку даже когда модель новее вашей версии Claude Code. Сервер всё ещё может требовать минимальную версию для этой модели; смотрите Claude Code does not support this model. - Модель, сохранённая до версии 2.1.200, не восстанавливается этой проверкой. Если устаревшее значение продолжает возвращаться, удалите его из мест, перечисленных в Setting your model.
- Проверка выполняется только на Anthropic API. На любом другом поставщике или шлюзе, включая пользовательский
ANTHROPIC_BASE_URL, поставщик определяет имена моделей, поэтому Claude Code принимает любую строку и передаёт её. Claude Code всё ещё может написать неузнанную диагностическую строку ID модели во время запроса на каждом поставщике.
Model not found
Вы выбрали модель с /model <имя> и Claude Code не смог подтвердить, что модель с этим именем существует. Когда имя не является псевдонимом модели или другим написанием, которое Claude Code принимает локально, /model проверяет его с минимальным запросом API, и эта ошибка обычно является ответом вашей конечной точки API. Имя, которое не может быть ID модели вообще, такое как содержащее пробелы, получает то же сообщение.
Model 'claude-opus-9' not found
На поставщиках с ID моделей, специфичными для поставщика, сообщение может добавить предложение Try '...' instead, которое называет ID вашего поставщика для резервной модели.
Что делать:
- Запустите
/modelбез аргумента и выберите из моделей, доступных вашей учётной записи, или используйте псевдоним модели, такой какsonnet, который разрешается в поддерживаемое значение по умолчанию - Если вы ввели полный ID, проверьте его в каталоге моделей вашего поставщика. Недавно запущенная модель может быть доступна на Anthropic API перед тем, как ваш поставщик или регион её предложит.
- До версии 2.1.265
/modelтакже отклонял написание псевдонимаopusplan[1m]с этой ошибкой. В этих версиях обновите Claude Code или установите модель в settings или с помощью--modelвместо этого.
Claude Opus is not available with the Claude Pro plan
Ваш активный план подписки не включает выбранную вами модель.
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.
Что делать:
- Запустите
/modelи выберите модель, которую включает ваш план - Если вы недавно обновили свой план и всё ещё видите это, запустите
/logout, затем/login. Сохранённый токен отражает ваш план на момент входа, поэтому обновление в интернете не вступает в силу в существующем сеансе до повторной аутентификации. - Смотрите claude.com/pricing для того, какие модели включает каждый план
Claude Code does not support this model
API отклонил запрос с 400, потому что ваша версия Claude Code ниже требуемого минимума. Либо выбранная вами модель требует более новую версию, которую сервер проверяет для каждой модели, либо политика вашей организации требует одну. 400 несёт код ошибки claude_code_version_too_old, и сообщение говорит, какой минимум применяется.
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.
Формулировка политики организации читается:
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.
Что делать:
- Запустите
claude updateили обновите Claude desktop app, затем начните новый сеанс - Для формулировки для каждой модели вы можете продолжить работу в текущем сеансе, переключившись на другую модель с помощью
/model - Для формулировки политики организации обновитесь перед продолжением
Model is restricted by your organization's settings
Администратор вашей организации отключил эту модель в консоли администратора claude.ai, или она исключена списком разрешений availableModels в управляемых настройках. Когда ограниченная модель была установлена с --model, ANTHROPIC_MODEL или настройкой model, Claude Code подставляет разрешённую модель и продолжает. Ввод /model <имя> для ограниченной модели отклоняется с Run /model to choose a different model. и сеанс сохраняет свою текущую модель. Уведомление о подстановке также может появиться в середине сеанса после того, как администратор отключит модель, на которой работает сеанс, в консоли администратора claude.ai.
Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.
Уведомление с префиксом имени агента, навыка или команды означает, что ограничение применилось к запрошенной модели подагента: подагент работает на подставленной модели и модель вашего сеанса не изменяется. До версии 2.1.223 Claude Code показывал уведомление только для подагентов, запущенных с помощью инструмента Agent.
Claude Code обрабатывает псевдоним семейства моделей, один из opus, sonnet, haiku или fable, как запрос для этого семейства, а не для его новейшей версии. На Anthropic API и на Claude Platform on AWS ограниченный псевдоним семейства разрешается в новейшую версию семейства, которую разрешают ваша организация и список разрешений availableModels, и уведомление о подстановке называет эту версию. Claude Code отклоняет /model <псевдоним> только когда каждая версия семейства ограничена. До версии 2.1.205 псевдоним семейства был подставлен или отклонен на основе только его новейшей версии, даже когда была разрешена более старая версия того же семейства.
Что делать:
- Запустите
/modelдля выбора из моделей, которые разрешает ваша организация. Ограниченные модели скрыты от выбора. - Если ограниченная модель была установлена в
--model,ANTHROPIC_MODEL, полеmodelфайла настроек или frontmatter подагента, навыка или команды, удалите или обновите это значение, чтобы уведомление не повторялось - Если вам нужен доступ к ограниченной модели, попросите администратора вашей организации её включить. Смотрите Organization model restrictions.
Model switch was blocked by a PreModelSwitch hook
Хук PreModelSwitch hook не одобрил переключение модели, которое вы или клиент запросили, поэтому сеанс сохраняет свою текущую модель. Когда переключение пришло от хоста Agent SDK или Remote Control, а не от команды, которую вы ввели, сообщение читается Model switch blocked by a PreModelSwitch hook без названия целевой модели.
Model switch to Opus 4.6 was blocked by a PreModelSwitch hook: Opus 4.6 is retired for this project. Use a newer model.
Причина после двоеточия говорит, что отклонило переключение:
- Причина, которую написал хук: хук PreModelSwitch предоставил эту причину, когда он отклонил переключение или попросил подтверждение. Обратитесь к тому, что он просит, или выберите модель, которую разрешают ваши хуки.
PreModelSwitch hook <имя> did not respond before its timeout: хук, который не отвечает перед его timeout, блокирует переключение. Исправьте зависающую команду или повысьтеtimeoutэтого хука, затем переключитесь снова.confirmation required, and this session cannot ask: хук ответилaskбез причины, и запрос управления не имеет способа показать подсказку подтверждения. Запрос/modelв запуске-pсообщает то же состояние с(run /model interactively to confirm)после причины. Сделайте переключение из интерактивного сеанса или измените решение хука для этой модели.so organization-managed PreModelSwitch hooks could not be checked: Claude Code не смог определить, какие хуки PreModelSwitch предоставляют управляемые плагины вашей организации, например, потому что управляемый плагин не загрузился. Один из этих хуков может заблокировать переключение, поэтому Claude Code отказывает, а не применяет переключение без проверки. Начало причины называет, что не удалось. Claude Code повторно проверяет при каждой попытке переключения, поэтому сбой, который с тех пор очистился, перестаёт блокировать; если он продолжает не удаваться, запуститеclaude --debugи переключитесь снова, чтобы захватить детали, затем исправьте плагин или попросите администратора его исправить.a PreModelSwitch hook failed before answeringилиPreModelSwitch hooks were cancelled (the control stream closed) before answering: запуск хука завершился без вердикта, и Claude Code не рассматривает это как одобрение. Запуститеclaude --debug, чтобы увидеть, что не удалось, затем переключитесь снова.
До версии 2.1.260 отказ управляемого плагина читался plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log. Claude Code повторил загрузку плагина один раз, а затем отклонил более поздние переключения в сеансе, даже когда ваша организация не управляла никакими плагинами. Перезагрузите сеанс, чтобы запустить загрузку плагина снова в этих версиях.
Couldn't save it as your default
Вы выбрали модель для сохранения в качестве вашего значения по умолчанию, например, с /model <имя> или Enter в выборе /model, и Claude Code не смог написать выбор в файл пользовательских настроек, ~/.claude/settings.json. Само переключение применилось, поэтому текущий сеанс работает на выбранной вами модели, но ваше значение по умолчанию не изменяется и следующий сеанс начинается со старого значения.
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)
Причина после пути файла говорит, что не удалось:
can't be written (<код>): запись не удалась с кодом ошибки операционной системы в скобках, такой какEROFS, когда файл или файл, на который он ссылается, находится на файловой системе, которая отказывает в записи. Сделайте файл доступным для записи и переключитесь снова. Если другой инструмент генерирует файл, установите ключmodelв этом инструменте вместо этого; смотрите A change you made in Claude Code is lost in new sessions.isn't valid JSON: файл на диске не анализируется, и Claude Code оставляет его нетронутым, а не перезаписывает содержимое, которое не может прочитать обратно. Исправьте синтаксическую ошибку, затем переключитесь снова; смотрите Fix a broken settings file.
Уведомление, заканчивающееся couldn't confirm it was saved as your default (~/.claude/settings.json is still being written), означает, что запись не завершилась после трёх секунд. Она продолжается в фоне, поэтому значение по умолчанию может всё ещё быть сохранено; проверьте, на какой модели начинается ваш следующий сеанс, или запустите /model <имя> снова.
До версии 2.1.265 уведомление говорило, что модель была saved as your default for new sessions, даже когда запись не удалась.
thinking.type.enabled is not supported for this model
Ваша версия Claude Code старше минимума для выбранной модели. CLI отправил конфигурацию мышления, которую модель больше не принимает.
API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.
Что делать:
- Запустите
claude updateи перезагрузите Claude Code. Opus 4.7 требует v2.1.111 или позже. Opus 4.8 требует v2.1.154 или позже. Sonnet 5 требует v2.1.197 или позже. Opus 5 требует v2.1.219 или позже - Если вы не можете обновиться, запустите
/modelи выберите Opus 4.6 или Sonnet 4.6 вместо этого - Если вы столкнулись с этим в Agent SDK, обновите пакет SDK вместо этого. Opus 4.8 требует TypeScript SDK v0.3.154 или позже и Python SDK v0.2.88 или позже. Sonnet 5 требует TypeScript SDK v0.3.197 или позже. Opus 5 требует TypeScript SDK v0.3.219 или позже
Effort isn't available with thinking turned off
Вы отключили extended thinking и работали на уровне усилий выше high. Модель не принимает эту комбинацию, поэтому API отклонил запрос.
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)
Что делать:
- Понизьте уровень усилий до
highили ниже. - Включите мышление обратно, например, отменив
MAX_THINKING_TOKENSили удалив"alwaysThinkingEnabled": falseиз ваших настроек.
До версии 2.1.242 Claude Code показывал собственное сообщение 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. До версии 2.1.251 Claude Code отправлял запрос на уровне усилий, который вы установили, поэтому Opus 5 отклонял каждый запрос выше high с отключённым мышлением. Claude Code теперь отправляет усилие high вместо этого моделям, которые, как он знает, отклоняют комбинацию, такие как Opus 5, поэтому на v2.1.251 или позже эта ошибка достигает вас только от модели, которую Claude Code не знает отклоняет.
Thinking budget exceeds output limit
Настроенный бюджет расширенного мышления превышает максимальную длину ответа, поэтому для фактического ответа не остаётся места.
API Error: 400 ... max_tokens must be greater than thinking.budget_tokens
Claude Code автоматически регулирует эти значения на Anthropic API. Вы обычно видите эту ошибку на Amazon Bedrock или Google Cloud's Agent Platform, когда MAX_THINKING_TOKENS установлен выше лимита вывода поставщика, или когда режим плана повышает бюджет мышления.
Что делать:
- Понизьте
MAX_THINKING_TOKENSили повысьтеCLAUDE_CODE_MAX_OUTPUT_TOKENSвыше бюджета мышления - Смотрите Extended thinking для того, как бюджет взаимодействует с длиной вывода
Tool use or thinking block mismatch
История разговора достигла API в несогласованном состоянии, обычно после того, как вызов инструмента был прерван или ход был отредактирован в середине потока.
API Error: 400 due to tool use concurrency issues. 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
Все три варианта означают одно и то же: последовательность блоков tool_use, tool_result и thinking в истории больше не соответствует тому, что ожидает API.
Что делать:
- Если вы используете Opus 4.7 или Opus 4.8, сначала запустите
claude update. Версии до v2.1.156 могут вызвать эту ошибку во время нормального использования инструмента, и/rewindеё не очищает. - Запустите
/rewindили нажмите Esc дважды, чтобы вернуться к контрольной точке перед повреждённым ходом и продолжить оттуда. Смотрите Checkpointing для того, как создаются и восстанавливаются контрольные точки.
Unsupported tool content removed
Когда Claude Code подключается непосредственно к Anthropic API и загружает или предварительно просматривает сохранённый сеанс, он удаляет содержимое инструмента, которое Anthropic API не принимает, и оставляет эту строку там, где удалённое содержимое находилось между двумя блоками мышления:
[Unsupported tool content removed]
Такое содержимое достигает файла сеанса, когда что-то другое, чем Anthropic API, ответило в формате API, обычно прокси третьей стороны, установленный через ANTHROPIC_BASE_URL, который переводит вызовы инструментов другого поставщика. Claude Code удаляет его только когда сеанс подключается непосредственно к Anthropic API и загружает сохранённую историю, как она есть, когда сеанс работает через прокси или на другом поставщике. До версии 2.1.246 Claude Code отправлял использование инструмента и его результат обратно в API, и каждый ход возобновленного сеанса завершался с ошибкой 400, такой как messages.1.content.0.server_tool_use.name: Input should be 'web_search', 'web_fetch', ....
Что делать:
- Ничего не требуется, когда вы видите строку заполнителя. Сеанс продолжается без удалённого содержимого.
- Если каждый ход возобновленного сеанса завершается с ошибкой 400 вместо этого, запустите
claude updateи возобновите сеанс снова. Версии до v2.1.246 не удаляют содержимое.
Usage Policy refusal
API отклонил ответ, потому что содержимое в разговоре вызвало проверку Usage Policy. Сообщение включает ID запроса, который вы можете привести в поддержку, если вы считаете, что отказ неправильный.
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
Сообщение называет модель, которая отклонила, или Claude, когда модель не записана.
Проверка оценивает весь разговор, а не только ваш последний prompt, поэтому отправка нового сообщения в том же сеансе обычно повторно вызывает тот же отказ. То же самое применяется после выхода и повторного открытия сеанса с --continue или --resume, так как расшифровка на диске всё ещё содержит вызывающее содержимое. На Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry это сообщение также охватывает запросы, которые меры безопасности модели отметили как тему кибербезопасности. Смотрите Safety measures flagged a cybersecurity topic.
До версии 2.1.219 сообщение читалось 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.
Что делать:
- Нажмите Esc дважды или запустите
/rewind, чтобы вернуться к контрольной точке перед ходом, который вызвал отказ, затем переформулируйте или возьмите другой подход. Смотрите Checkpointing. - Если вы не можете определить, какой ход вызвал это, запустите
/clear, чтобы начать свежий разговор в том же проекте. Ваш предыдущий разговор сохраняется на диске и остаётся доступным в/resume. - В неинтерактивном режиме (
-p), где перемотка недоступна, повторите попытку с переформулированным prompt в новом сеансе без--continue. Проверки политики варьируются в зависимости от модели, поэтому переключение на другую модель с помощью--modelтакже может разрешить отказ в некоторых случаях.
Safety measures flagged a cybersecurity topic
Меры безопасности модели отметили содержимое в разговоре как тему кибербезопасности. Сообщение называет модель, которая отметила запрос:
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
Сообщение ссылается на Cyber Verification Program, который предоставляет доступ для законной работы в области кибербезопасности.
На Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry флаг кибербезопасности вместо этого производит сообщение Usage Policy refusal.
Сама защита находится на стороне сервера и предшествует v2.1.203; выпуски клиентов с тех пор изменили только формулировку сообщения.
От v2.1.203 до v2.1.218 сообщение читалось <модель> 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: с последующей ссылкой на центр справки, и интерактивные сеансы добавляли If you were not engaging in a cybersecurity topic, please send feedback via /feedback.
До версии 2.1.203 оно читалось <модель>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption: с последующей ссылкой на форму исключения.
Что делать:
- Если ваша работа требует этого содержимого, подайте заявку на доступ через Cyber Verification Program
- Если ваш запрос не был о теме кибербезопасности, запустите
/feedback, чтобы сообщить о ложном срабатывании - Чтобы продолжить работу в том же сеансе, нажмите Esc дважды или запустите
/rewind, чтобы вернуться к контрольной точке перед ходом, который вызвал флаг, затем возьмите другой подход. Смотрите Checkpointing.
Ошибки установки
Эти ошибки появляются при установке или обновлении Claude Code из скрипта установки, claude install или claude update. Для проблем с command not found, PATH, разрешениями и TLS во время установки см. Устранение неполадок установки и входа.
Установка была прервана до завершения
Скрипт установки сообщает, когда этап claude install завершается сигналом. На Linux код выхода 137 означает, что процесс получил SIGKILL, а на хосте с низким объёмом памяти это обычно означает, что ядро активировало средство защиты от нехватки памяти (OOM killer). Скрипт выводит это объяснение и завершается с кодом 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.
Для любого другого фатального сигнала и для кода выхода 137 на macOS скрипт выводит Installation was killed before it could finish (exit code <N>) с фактическим кодом выхода и опускает объяснение о нехватке памяти. Сообщение поступает из скрипта установки, который используют macOS и Linux, и он также охватывает установки внутри WSL; встроенные скрипты установки Windows никогда его не выводят. До версии 2.1.200 скрипт завершался только с простой строкой Killed оболочки.
Что делать:
- Остановите другие процессы, чтобы освободить память, затем повторно запустите установщик
- Добавьте пространство подкачки или перейдите на экземпляр большего размера. См. Установка прервана на серверах Linux с низким объёмом памяти для команд файла подкачки.
Соединение разорвалось при загрузке обновления
Соединение с сервером загрузки закрылось, пока claude install, claude update или автоматический обновляющий модуль загружал двоичный файл Claude Code, и повторные попытки не восстановили соединение. Claude Code повторяет загрузку, когда соединение разрывается, передача зависает или загруженный файл не проходит проверку контрольной суммы, всего до трёх попыток. Завершённая ошибка HTTP, такая как 404, не повторяется, потому что сервер уже ответил. До версии 2.1.202 одно разорванное соединение немедленно приводило к сбою загрузки с простой ошибкой aborted вместо повторной попытки.
The connection dropped while downloading the update (attempt 3/3: aborted). Check your network — proxies sometimes cut off large downloads.
Текст в скобках указывает, какая попытка не удалась и какая была базовая ошибка сети. claude update предваряет сообщение с Error: Failed to install native update на stderr.
Загрузка, которая остаётся подключённой, но не завершается в течение 10 минут, завершается с ошибкой Download timed out: exceeded the total deadline. Claude Code не повторяет загрузку с истекшим временем ожидания, потому что соединение, которое слишком медленно для завершения в течение установленного срока, не завершится при немедленной повторной попытке. Приведённые ниже шаги применяются к обоим сообщениям.
Обычная причина — прокси или шлюз, который закрывает длительную передачу до её завершения. Двоичный файл Claude Code — это большая загрузка, поэтому ограничение соединения прокси, которое никогда не влияет на обычный трафик API, всё равно может его прервать.
Что делать:
- Запустите
claude updateснова. На в остальном здоровой сети загрузка обычно успешна при следующем запуске. Для сообщения об истечении времени ожидания запустите его снова из более быстрой или менее ограниченной сети. - Если ваша сеть требует прокси, установите
HTTPS_PROXYперед запуском установщика илиclaude update. См. Проверка подключения к сети. - Если корпоративный прокси продолжает закрывать передачу, попросите вашу команду сети разрешить полную загрузку с
downloads.claude.ai. См. Требования к доступу в сеть. - Запустите
claude doctorиз вашей оболочки для диагностики установки
Ошибки командной строки
Эти ошибки поступают из командной строки claude и её подкоманд, из имени команды, которое вы отправляете в приглашение, и из команд, таких как /security-review, которые собирают контекст, запуская команды оболочки перед выполнением своего приглашения. Они также поступают из /tui, который перезапускает CLI.
Конфликт между --bg и --print
Это сообщение требует Claude Code v2.1.198 или позже. Вы объединили --bg с -p или --print в одном вызове claude. --bg запускает фоновый сеанс, к которому вы позже подключаетесь с помощью claude agents, в то время как --print работает неинтерактивно и никогда не запускает интерактивный сеанс, к которому подключается claude agents. До версии 2.1.198 эта комбинация молча создавала фоновое задание, к которому невозможно было подключиться.
--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>'`.
Что делать:
- Удалите
-pили--print.--bgпринимает приглашение в качестве позиционального аргумента, поэтомуclaude --bg "<task>"— это полная команда. См. Dispatch new agents from your shell. - Чтобы запустить приглашение неинтерактивно и вывести результат вместо создания фонового сеанса, удалите
--bgи запуститеclaude -p "<task>"
Неверная конфигурация --agents
Значение, которое вы передали в --agents, недействительно, поэтому claude выходит с кодом 1 вместо запуска сеанса. Когда вы передаёте --safe-mode, --resume или --continue, или устанавливаете CLAUDE_CODE_SAFE_MODE, Claude Code не проверяет значение и запускает сеанс. До версии 2.1.242 Claude Code запускал сеанс в любом случае и пропускал определения, которые не мог загрузить.
Error: Invalid --agents configuration:
<what failed>
То, что следует после первой строки, зависит от того, как значение не прошло проверку. Claude Code выполняет эти проверки по порядку и останавливается на первой, которая не пройдена. Если ваше значение имеет два вида проблем, вы видите второе только после исправления первого:
- Когда значение не анализируется как JSON, Claude Code выводит одну строку
invalid JSON:с собственным сообщением парсера JSON - Когда оно анализируется, но определение агента не соответствует схеме для подагентов, определённых в CLI, Claude Code выводит одну строку на проблему
- Когда имя агента начинается с
-, Claude Code выводит<name>: agent names must not start with '-'
Когда строк проблем больше 20, Claude Code выводит первые 20 и заменяет остальные на …and N more.
Что делать:
- Исправьте каждую проблему, которую указывает сообщение, затем запустите команду снова. См. поля, которые принимает подагент, определённый в CLI.
Облачные сеансы не могут быть созданы из сеанса --restricted
Когда вы запускаете сеанс с --restricted, Claude Code отказывается создавать облачные сеансы из него, потому что новый сеанс будет работать вне ограниченного процесса и не будет применять ограниченный режим. Claude Code отказывает на клиенте, перед контактом с сервером, поэтому облачный сеанс не создаётся:
Cloud sessions cannot be created from a --restricted session: they would not enforce it.
Что делать:
- Запустите задачу локально в ограниченном сеансе
- Если вы контролируете способ запуска сеанса, запустите новый сеанс
claudeбез--restrictedи создайте облачный сеанс оттуда
До версии 2.1.248 Claude Code не имел флага --restricted; более ранние версии отклоняют сам флаг с ошибкой неизвестного параметра.
Облачные сеансы отключены политикой вашей организации
Политика allow_remote_sessions вашей организации отключена, поэтому облачные сеансы и команды, которые их используют, недоступны:
Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.
Сообщение появляется, когда вы создаёте облачный сеанс из терминала и когда вы отправляете команду, которая требует облачные сеансы, такие как /teleport, /remote-env или /web-setup. До версии 2.1.268 отправка одной из этих команд возвращала Unknown command вместо этого.
Это политика организации на стороне сервера, поэтому её нельзя переопределить из локальных параметров, переменных окружения или флагов CLI.
Если Claude Code ещё не загрузил политику вашей организации или не может её получить, эти команды отвечают Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again. вместо этого.
Что делать:
- Попросите Owner в вашей организации включить облачные сеансы в параметрах администратора Claude Code на claude.ai/admin-settings/claude-code
- Если сообщение говорит, что оно не смогло проверить политику, проверьте подключение к сети, затем перезагрузите Claude Code и попробуйте снова
Значение --json-schema не является действительной JSON Schema
Схема, которую вы передали в --json-schema в неинтерактивном режиме, не прошла компиляцию JSON Schema, поэтому claude выходит с кодом 1 вместо запуска приглашения. До версии 2.1.205 недействительная схема выдавала неструктурированный вывод без ошибки, и любая схема, использующая ключевое слово format, рассматривалась как недействительная.
Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values
Текст после второго двоеточия — это диагностика валидатора и указывает на ключевое слово или местоположение, которое не прошло проверку. Схемы, использующие ключевое слово format, такие как "format": "email", действительны: Claude Code принимает format как аннотацию и не применяет её.
Claude Code выполняет две проверки перед компиляцией схемы: он отклоняет значение, которое не анализируется как JSON, с Error: --json-schema is not valid JSON, и действительный JSON, который не является объектом, с Error: --json-schema must be a JSON object.
Что делать:
- Исправьте часть схемы, которую указывает диагностика, затем повторно запустите команду
- Если диагностика —
schema too large, уменьшите вложенность схемы и повторное использование$ref - См. Get structured output для рабочей схемы и команды
Файл параметров превышает лимит 2MiB
Файл, который вы передали в --settings, больше 2 MiB, поэтому claude выходит с кодом 1 при запуске вместо загрузки. Файл параметров — это небольшой документ JSON, поэтому файл такого размера обычно означает, что путь указывает на неправильный файл. До версии 2.1.214 Claude Code читал файл без проверки размера, и файл размером в несколько гигабайт или файл устройства, такой как /dev/zero, увеличивал память без ограничений.
Error: Settings file exceeds the 2MiB limit: /path/to/settings.json
Claude Code отклоняет путь --settings, который не является обычным файлом, таким же образом: устройство, FIFO или сокет выводит Error: Cannot use settings file (Not a regular file (device, FIFO, or socket)) с последующим путём, а каталог выводит причину EISDIR.
Что делать:
- Укажите
--settingsна обычный файл JSON параметров размером менее 2 MiB. См. Settings для формата.
Текущий каталог больше не существует
Вы запустили claude из каталога, который был удалён или перемещён после того, как ваша оболочка вошла в него, например рабочее дерево или временный каталог, удалённый другой оболочкой. Claude Code не может прочитать свой рабочий каталог, поэтому он выходит с кодом 1 перед запуском сеанса, как в интерактивном, так и в неинтерактивном режиме. До версии 2.1.239 Claude Code падал с минифицированным исходным кодом пакета и необработанным стеком ENOENT ... uv_cwd на stderr вместо этого сообщения.
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.
Причина и исправление одинаковы для обеих форм.
Когда Claude Code не может прочитать рабочий каталог по другой причине, такой как изменение разрешений, сообщение указывает код ошибки вместо этого: Can't read the current directory (EACCES). Start Claude Code from a different directory.
На macOS EPERM для каталога в ~/Desktop, ~/Documents, ~/Downloads или iCloud Drive обычно означает, что macOS блокирует доступ вашего приложения терминала к этой папке. Другие команды, которые читают эту папку, не работают так же: ls там выводит Operation not permitted, даже с sudo.
Что делать:
- Перейдите в каталог, который существует, такой как ваш домашний или проектный каталог, затем запустите
claudeснова - Если каталог был пересоздан по тому же пути, ваша оболочка всё ещё содержит удалённый. Запустите
cd "$PWD"или покиньте и повторно войдите в каталог, затем запуститеclaudeснова - Для
EPERMна macOS выйдите из приложения терминала с помощью Cmd+Q, откройте его снова, вернитесь в эту папку и запуститеclaude. Еслиlsв этой папке всё ещё не работает, откройте System Settings > Privacy & Security > Files and Folders, включите папку для вашего приложения терминала, затем повторно откройте терминал
Каталог не удалось разрешить в реальное местоположение
Вы запустили /add-dir для подкаталога вашего рабочего каталога, и Claude Code не смог разрешить каталог в его реальное местоположение.
У вас уже есть доступ к файлам подкаталога рабочего каталога, поэтому /add-dir только загружает его skills, команды и агентов. Перед загрузкой Claude Code проверяет, что реальное местоположение каталога, с разрешёнными всеми символическими ссылками, находится внутри рабочего каталога. Когда Claude Code не может разрешить это местоположение, он ничего не загружает и показывает это сообщение:
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.
Что делать:
- Проверьте, что путь указывает на реальный каталог внутри рабочего каталога, затем запустите
/add-dirснова - Сообщение не изменяет ваш доступ к файлам; оно только сообщает, что содержимое
.claude/каталога не было загружено
До версии 2.1.261 это сообщение также появлялось для каждого /add-dir <subdirectory>, когда рабочий каталог находился на автомонтировании /net/<host>, где Claude Code по дизайну отказывается разрешать пути; каталог был в порядке и повторная попытка не могла помочь.
Рабочее пространство не доверено при запуске Remote Control
Вы запустили сервер Remote Control в режиме с помощью claude remote-control или его псевдонима claude rc в каталоге, которому вы не доверяете. Команда не показывает диалог доверия рабочего пространства сама по себе, поэтому она выходит с кодом 1 и указывает исправление:
Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.
В вашем домашнем каталоге сообщение отличается, потому что диалог доверия рабочего пространства никогда не сохраняет доверие для домашнего каталога, поэтому принятие его там не может удовлетворить эту проверку. До версии 2.1.214 домашний каталог показывал сообщение выше, совет которого не может быть успешным там.
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).
Что делать:
- Запустите
claudeв каталоге, примите диалог доверия рабочего пространства, затем запуститеclaude remote-controlснова - В вашем домашнем каталоге перейдите в проектный каталог и запустите Remote Control там
Не перенесено в сеансы, которые запускает Remote Control
Вы запустили Remote Control с глобальным флагом claude перед глаголом remote-control, флагом, который ограничивал бы или конфигурировал сеансы, которые запускает Remote Control, такие как --settings, --setting-sources, --permission-mode, --disallowed-tools или --mcp-config. Флаг, размещённый перед глаголом, никогда не достигает этих сеансов. Claude Code отказывает запускаться вместо этого, указывая флаг:
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 не отказывает глобальные флаги, которые безопасно удалить, такие как --verbose, --model или внедрённый оболочкой --session-id или --plugin-dir: он их игнорирует и Remote Control запускается.
Claude Code также отказывает запускаться для глобального флага, который он ещё не признал безопасным, поэтому флаг, добавленный в более новом выпуске, может появиться в этом сообщении до более позднего выпуска, который его отметит как безопасный.
Что делать:
- Удалите флаг перед глаголом и передайте собственные параметры Remote Control после него;
claude remote-control --helpих перечисляет - Когда отклонённый флаг —
--permission-mode, запуститеclaude remote-control --permission-mode <mode>для установки режима разрешений для сеансов, которые запускает Remote Control
До версии 2.1.248 claude remote-control не принимал свои флаги, когда глобальный флаг шёл первым, и команда не работала с ошибкой unknown option.
claude import ещё не доступен в этой сборке
Вы запустили claude import, и Claude Code обнаружил, что поток импорта отключен, поэтому команда выходит с кодом 1 вместо запуска импорта. До версии 2.1.222 сборка с отключённым потоком импорта рассматривала import как приглашение и запускала интерактивный сеанс вместо вывода этого сообщения.
`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.
Claude Code включает claude import через флаг функции, который он получает от Anthropic и кэширует на диске. Это сообщение означает, что кэшированное значение отключено. Причина обычно одна из следующих:
- Вы не запустили сеанс с момента установки, поэтому Claude Code ещё не получил флаг. Первый
claude importможет вывести это даже когда функция доступна вам. - Вы используете Claude Code через Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или Claude Platform на AWS, или через шлюз приложений Claude. Claude Code не получает флаги функций в этих сеансах, поэтому
claude importостаётся недоступным. - Вы установили
DISABLE_TELEMETRY,DO_NOT_TRACK,DISABLE_GROWTHBOOKилиCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, которые отключают получение флагов функций, поэтомуclaude importостаётся недоступным.
Что делать:
- На свежей установке запустите
claude, дождитесь загрузки сеанса, выйдите и запуститеclaude importснова - Где получение флагов функций остаётся отключённым, установите конфигурацию самостоятельно: добавьте серверы MCP с помощью
claude mcp addи создайтеCLAUDE.mdфайлы, skills и команды и подагентов, которые вы хотите перенести. Сообщение также указывает~/.claude/settings.json. Из конфигурации, которую переноситclaude import, этот файл содержит только режим разрешений; Claude Code не читает серверы MCP из него.
Не удалось прочитать конфигурацию Claude Code
Вы запустили claude import, пока Claude Code не мог анализировать ~/.claude.json, файл, где он хранит вашу учётную запись и состояние для каждого проекта. Подкоманда читает этот файл для проверки доступности, но не показывает диалог восстановления, который показывает интерактивный сеанс, поэтому она выходит с кодом 1. До версии 2.1.222 claude import с нечитаемым файлом конфигурации запускал интерактивный сеанс, диалог восстановления которого обрабатывал файл.
Could not read Claude Code config — run `claude` with no arguments to recover it.
Что делать:
- Запустите
claudeбез аргументов. Claude Code обнаруживает недействительный файл и предлагает его сбросить. Затем запуститеclaude importснова. - Чтобы сохранить ручные правки, которые вы сделали, исправьте синтаксис JSON в
~/.claude.jsonв редакторе вместо этого, затем повторно запуститеclaude import
Не удалось импортировать сервер из Claude Desktop
Claude Code не смог добавить один из серверов, которые вы выбрали в claude mcp add-from-claude-desktop. Команда всё ещё импортирует другие выбранные серверы и выводит одну строку на сервер, который она не смогла добавить. До версии 2.1.205 первый сервер, который не прошёл, останавливал импорт и ни один из выбранных серверов не был добавлен.
Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.
Текст после имени сервера — это причина. Наиболее распространённая — проверка имени: Claude Desktop позволяет символы в именах серверов, такие как пробелы и точки, которые claude mcp ограничивает буквами, цифрами, дефисами и подчёркиваниями. Другие причины включают конфигурацию сервера, которая не проходит валидацию, и сервер, заблокированный политикой MCP вашей организации.
Что делать:
- Переименуйте сервер в
claude_desktop_config.json, чтобы использовать только буквы, цифры, дефисы и подчёркивания, затем запуститеclaude mcp add-from-claude-desktopснова - Добавьте этот сервер напрямую с помощью
claude mcp addилиclaude mcp add-jsonпод действительным именем. См. Import MCP servers from Claude Desktop.
Не удалось добавить сервер MCP в управляемую область
Вы запустили claude mcp add или claude mcp add-json с --scope managed. Эта область содержит серверы, которые ваша организация предоставляет через управляемый параметр managedMcpServers. Claude Code читает их только из управляемых параметров, поэтому команда не может записать сервер в эту область.
Cannot add MCP server to scope: managed
Что делать:
- Добавьте сервер в область, в которую вы можете писать:
local,userилиproject. Без--scopeкоманда используетlocal. См. MCP installation scopes - Чтобы предоставить сервер каждому пользователю в вашей организации, добавьте его в
managedMcpServersв управляемых параметрах, которые вы развёртываете
Не удалось прочитать .mcp.json
Команда, которая читает проект .mcp.json, такая как claude mcp add или claude mcp add-json с --scope project или claude mcp remove, обнаружила, что файл в вашем текущем каталоге не является обычным файлом или больше 2 MiB, поэтому она выходит с этой ошибкой вместо чтения файла.
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.
До версии 2.1.257 FIFO в .mcp.json оставлял команду ждущей вечно без вывода, и символическая ссылка на файл устройства, такой как /dev/zero, увеличивала память до тех пор, пока процесс не был убит.
Что делать:
- Проверьте, что находится в
.mcp.jsonв вашем текущем каталоге. Замените его обычным файлом JSON в формате проектной области или удалите его, затем запустите команду снова.
Сервер размещён Anthropic и не поддерживает локальный OAuth
Вы запустили вход для сервера MCP, чей URL указывает на размещённый Anthropic хост соединителя, который аутентифицируется через поставщика удостоверений третьей стороны. Эти хосты включают microsoft365.mcp.claude.com, gmail.mcp.claude.com и gcal.mcp.claude.com. Claude Code отказывает запускать свой локальный поток OAuth для этих хостов как из панели /mcp, так и из claude mcp login, потому что их вход работает только через claude.ai.
"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.
Claude Code сопоставляет эти хосты по URL, поэтому сообщение появляется, когда сервер, который вы добавили с помощью claude mcp add или в .mcp.json, указывает на один из них.
Что делать:
- Удалите вашу запись с помощью
claude mcp remove <name>, чтобы она не могла скрыть соединитель claude.ai по тому же URL - После удаления подключите сервис на claude.ai/customize/connectors, пока вы вошли в учётную запись, которую вы используете в Claude Code. После подключения соединитель появляется в Claude Code автоматически, если ваш активный метод аутентификации — это вход по подписке claude.ai
Сервер отклонил заголовок Authorization, созданный настроенным headersHelper
Сервер MCP, чей headersHelper предоставляет заголовок Authorization, ответил на соединение с HTTP 401 или 403, поэтому Claude Code сообщает о соединении как о неудачном. Потому что помощник предоставляет заголовок Authorization, Claude Code не переходит на OAuth для сервера:
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 повторно запускает помощника при каждой попытке соединения, поэтому повторная попытка после временного отклонения, такого как гонка ротации токена, может быть успешной с новым учётным данным.
Что делать:
- Запустите команду
headersHelperсамостоятельно так, как её запускает Claude Code: из каталога, в котором Claude Code её запускает, с переменными окружения, которые Claude Code для неё устанавливает, и без переменных учётных данных, которые Claude Code удаляет для сервера из проектного.mcp.json, плагина или файла проектного агента. Проверьте, что она выводит значениеAuthorization, которое принимает конечная точка сервера - После исправления помощника или его источника учётных данных выберите сервер в
/mcpи выберите Reconnect
До версии 2.1.248 Claude Code запускал обнаружение OAuth для сервера, чей помощник предоставлял заголовок Authorization. Это обнаружение могло не пройти с Incompatible auth server: does not support dynamic client registration вместо сообщения об отклонённом учётном данном.
Инструмент запроса разрешения MCP не найден
Инструмент, который вы передали в --permission-prompt-tool, не был среди подключённых инструментов MCP, когда запуск впервые нуждался в решении разрешения, либо потому, что его сервер никогда не подключался, либо потому, что ни один подключённый сервер не предоставляет инструмент с этим именем. Claude Code всё ещё отправляет ваше приглашение: неинтерактивный запуск выходит с этой ошибкой и кодом выхода 1 при первом вызове инструмента, который требует одобрения, поэтому он не выдаёт ответ, даже хотя запрос был сделан. Перед первым приглашением Claude Code ждёт до установленного для каждого сервера времени ожидания соединения в 30 секунд, установленного MCP_TIMEOUT, чтобы этот сервер подключился. До версии 2.1.206 запуск не ждал завершения соединения сервера, поэтому медленно запускающийся, но здоровый сервер также выдавал эту ошибку.
Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none
Список после Available MCP tools: указывает инструменты MCP, которые были подключены, когда ожидание закончилось.
Что делать:
- Проверьте, что сервер запускается и остаётся подключённым: запустите
claude mcp listв том же каталоге и подтвердите, что сервер указан как подключённый - Подтвердите, что имя инструмента соответствует имени
mcp__<server>__<tool>, которое предоставляет сервер - Если серверу требуется больше 30 секунд для запуска, увеличьте
MCP_TIMEOUT
Порт обратного вызова OAuth уже используется
Когда вы входите на удалённый сервер MCP с помощью OAuth, Claude Code запускает локальный слушатель для получения обратного вызова входа. Если порт, который нужен этому слушателю, занят другим процессом, вход не удаётся с этим сообщением. Это в основном происходит с фиксированным портом обратного вызова, установленным через переменную MCP_OAUTH_CALLBACK_PORT или --callback-port, так как без неё Claude Code выбирает доступный порт.
OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.
На Windows предлагаемая команда — netstat -ano | findstr :<port> вместо этого.
Что делать:
- Запустите команду из сообщения, чтобы найти процесс, занимающий порт, и остановите его или дождитесь его завершения
- Если другой программе постоянно нужен этот порт, зарегистрируйте другой URI перенаправления на сервере и установите его порт с помощью
MCP_OAUTH_CALLBACK_PORTили--callback-port, в зависимости от того, что вы используете - Затем запустите вход снова, например выбрав сервер в
/mcp
Нет доступных портов для перенаправления OAuth
Когда вы входите на удалённый сервер MCP с помощью OAuth, Claude Code запускает локальный слушатель для получения обратного вызова входа. Вход не удаётся с этим сообщением, когда Claude Code не может привязать локальный порт для него. Что-то на машине препятствует прослушиванию на 127.0.0.1, например программное обеспечение безопасности или политика песочницы, которая запрещает локальные слушатели.
No available ports for OAuth redirect
До версии 2.1.268 Claude Code не переходил на порт, назначенный операционной системой, поэтому сообщение также появлялось, когда только его самостоятельно выбранные порты не могли быть привязаны. Это может произойти на хостах Windows, где Hyper-V резервирует диапазоны портов, которые охватывают порты, которые Claude Code выбирает.
Что делать:
- Проверьте, блокирует ли программное обеспечение безопасности или политика песочницы процессы от прослушивания на
127.0.0.1, и разрешите Claude Code привязать локальный порт - Затем запустите вход снова, например выбрав сервер в
/mcp
/security-review не работает без origin/HEAD
/security-review создаёт контекст своего обзора, сравнивая вашу ветку с origin/HEAD, локальной ссылкой, которая записывает, какая ветка является стандартной на вашем удалённом origin. Когда эта ссылка не существует, команды git, которые собирают diff, не работают и обзор останавливается перед началом.
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>...]'
Сообщение может цитировать git log или другой git diff вместо этого. Git создаёт origin/HEAD только когда удалённый объявляет стандартную ветку и ваша спецификация получения её охватывает, что полный git clone удалённого с коммитами делает. Ссылка отсутствует в этих установках:
- Получение одной ветки или получение CI, которое получает слишком узкую спецификацию
- Удалённый, чей HEAD на стороне сервера указывает на ветку, которую никто не отправил
- Репозиторий без удалённого
originили того, из которого вы никогда не получали
Claude Code показывает ту же ошибку для любого skill, который внедряет динамический контекст, и неудачная внедрённая команда прерывает вызов этого skill. Две соседние строки срабатывают перед запуском команды вообще:
Shell command permission check failed for pattern "...": проверка разрешения команды не разрешила её. Permission checks on injected commands охватывает, какие результаты прерывают в каждом режиме разрешений и как предварительно одобрить команду с помощьюallowed-toolsSkill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found: frontmatter skill требует bash на машине без него. Установите Git для Windows или измените frontmatter наshell: powershell. См. How injected commands run
Что делать:
- Создайте ссылку, назвав стандартную ветку вашего удалённого:
git remote set-head origin <default-branch>. Это работает всякий раз, когда существует локальная отслеживаемая ссылкаorigin/<default-branch>. Если её нет, как в клонах одной ветки, сначала получите ветку: запуститеgit remote set-branches --add origin <branch>, затемgit fetch origin, затем повторно запустите команду set-head. Повторно запустите/security-review. - Если вы предпочитаете не называть ветку, запустите
git fetch originи затемgit remote set-head origin --auto, который спрашивает удалённый, какая ветка является его стандартной. Это не работает сerror: Cannot determine remote HEAD, когда удалённый не объявляет стандартную ветку, потому что он пуст или его HEAD указывает на ветку, которую никто не отправил; вместо этого назовите ветку явно. Это не работает сerror: Not a valid ref, когда ваш клон не получает эту ветку; сначала расширьте спецификацию, как выше. - Если репозиторий не имеет удалённого, добавьте один с помощью
git remote add origin <url>и получите перед созданием ссылки. Если удалённый пуст, сначала отправьте вашу ветку с помощьюgit push -u origin HEADи назовите эту ветку в команде set-head;origin/HEADзатем указывает на ветку, которую вы только что отправили, поэтому/security-reviewвидит пустой diff, пока ветка не отличается от неё.
Входные данные должны быть предоставлены при использовании --print
Bare claude нужен stdout, чтобы быть терминалом для запуска интерактивного UI. Когда stdout перенаправлен или консоль не является реальным терминалом, такой как PowerShell ISE и некоторые панели вывода IDE, claude вместо этого работает неинтерактивно. Это тот же режим, что и claude -p, который требует приглашение, поэтому сообщение указывает --print даже когда вы не передали флаг. Передача -p/--print без приглашения и ничего не передано на stdin выдаёт ту же ошибку везде.
Error: Input must be provided either through stdin or as a prompt argument when using --print
Что делать:
- Для интерактивного использования запустите
claudeв реальном терминале: Windows Terminal или консоль PowerShell вместо ISE и интегрированный терминал вашего IDE вместо панели вывода - Для одноразового использования передайте приглашение:
claude -p "your question"или передайте его с помощьюecho "your question" | claude -p
Входные данные содержали только пробелы
В неинтерактивном режиме Claude Code отказывает приглашение, состоящее полностью из пробелов, табуляций или новых строк вместо его отправки, потому что API отклоняет сообщения без видимого текста. Какое сообщение вы видите, зависит от того, откуда пришло пустое приглашение:
- Аргумент приглашения или передача stdin для
claude -p:claudeвыходит сError: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print - Сообщение, отправленное работающему сеансу
--input-format stream-jsonили Agent SDK: Claude Code заканчивает ход без вызова модели и сеанс остаётся пригодным. Отказ приходит как информационное сообщение и как текст результата хода:Blank prompt — the message was only whitespace, so nothing was sent to the model.
До версии 2.1.229 Claude Code отправлял сообщение только с пробелами в API, который отклонял запрос с ошибкой 400.
Что делать:
- Включите видимый текст в приглашение. Если скрипт создаёт приглашение из переменной или файла, проверьте, что источник не пуст перед вызовом Claude Code.
stream-json входные данные содержали более 256M символов без новой строки
Ваша программа отправила более 268,435,456 символов на stdin без новой строки в запуск claude -p --input-format stream-json, поэтому Claude Code выводит эту ошибку на stderr и выходит с кодом 1 вместо буферизации дополнительного входа. Сообщение указывает этот бюджет как 256M. До версии 2.1.257 Claude Code буферизировал такой вход без ограничений, увеличивая память до тех пор, пока процесс не падал или не был убит.
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.
Входные данные такой длины без новой строки обычно означают, что производитель вообще не является производителем stream-json, такой как двоичный файл или простой вывод журнала, случайно передаваемый. Одно сообщение сверх бюджета не проходит ту же проверку.
Что делать:
- Проверьте, что передаётся на stdin. С
--input-format stream-jsonкаждое сообщение должно быть одной строкой JSON, завершённой новой строкой - Чтобы вместо этого отправить простой текст, удалите
--input-format stream-json;claude -pпо умолчанию читает простой текстовый запрос из stdin
Неизвестная команда
В интерактивном сеансе терминала вы отправили имя /, которое не соответствует никакой команде в этом сеансе, поэтому Claude Code сообщает имя вместо запуска чего-либо:
Unknown command: /hepl. Did you mean /help?
Claude Code предлагает ближайшее имя команды или псевдоним, который меню перечисляет в этом сеансе. Когда ничего не близко, сообщение заканчивается после имени. Причина обычно одна из следующих:
- Опечатка, такая как
/heplдля/help. How the command menu matches what you type охватывает выбор близкого совпадения перед отправкой - Команда, которая существует, но недоступна в этом сеансе, потому что требование не выполнено, такое как ваша платформа, план или метод аутентификации. Записи устранения неполадок для
/web-setupи/scheduleпроходят через два распространённых случая. Некоторые команды отвечают своим собственным сообщением, когда политика вашей организации их отключает, такие какCloud sessions are disabled by your organization's policy - Команда из плагина или сервера MCP, который не установлен или не подключен в этом сеансе
Claude Code отвечает на несовпадающее имя / этим способом только в интерактивном сеансе терминала. Во всех остальных сеансах он отправляет приглашение Claude как обычное сообщение вместо этого, с примечанием, что команда не запустилась и список команд, которые Claude может запустить в сеансе. Эти сеансы включают:
- Запуски
-p - Приложения Agent SDK
- Вкладка Code Desktop app
- Панель чата VS Code extension
- Облачные сеансы и рутины
Для встроенной команды, которая не может работать в одном из этих сеансов, Claude Code всё ещё отвечает, что команда недоступна вместо отправки её Claude. До версии 2.1.274 только облачные сеансы и рутины отправляли несовпадающее имя Claude. До версии 2.1.273 они также отвечали Unknown command.
Claude Code не рассматривает каждое приглашение, которое начинается с /, как команду. Он отправляет приглашение Claude как обычное сообщение, когда первое слово после / начинается с пунктуации, такой как /--, который открывает комментарий документа Lean, или является путём, такой как /var/log/syslog.
До версии 2.1.236, если вы нажали Enter, пока меню команд перечисляло близкое совпадение для имени, которое вы ввели, Claude Code запускал это совпадение, поэтому опечатка, такая как /hepl, запускала /help вместо выдачи этого сообщения.
Что делать:
- Запустите предложенное имя или введите
/с последующей частью имени, чтобы увидеть, что доступно в этом сеансе - Если Claude Code сообщает задокументированную команду как неизвестную, проверьте её строку в справочнике команд для требования, которое она указывает
Diff слишком большой для ultrareview
Diff между вашей веткой и базовой веткой, включая незафиксированные и поставленные в очередь изменения, превышает ограничения размера для ultrareview, поэтому /code-review ultra и подкоманда claude ultrareview отказывают обзор перед запуском облачного сеанса. Отклонённый обзор не использует бесплатный запуск и не выставляет счёт за использование кредитов. Сообщение указывает действующие ограничения, размер вашего diff и файлы, которые вносят наибольшее количество изменённых строк. До версии 2.1.216 сообщение показывало только необработанную статистику diff.
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.
Обзор запроса на слияние применяет те же ограничения; эта форма сообщения начинается с PR #<N> is too large for ultrareview и указывает количество файлов и строк PR.
Что делать:
- Передайте базовую ветку ближе к вашей работе, такую как
/code-review ultra develop, чтобы обзор охватывал только diff против этой ветки - Разделите изменение на меньшие ветки и обзорьте каждую. Файлы, которые сообщение указывает, вносят наибольшее количество изменённых строк, поэтому начните с перемещения их в свою собственную ветку.
Не удалось найти merge-base с базовой веткой
/code-review ultra и подкоманда claude ultrareview обзорят diff между вашей веткой и базовой веткой, что требует коммита, который они оба разделяют. Когда git merge-base не находит ни одного, Claude Code отказывает обзор перед запуском облачного сеанса. На клоне, который Claude Code может проверить как полный, с по крайней мере одной веткой, он переходит на обзор каждого отслеживаемого файла вместо отказа. Вы видите этот отказ, когда базовую ветку вообще не удалось найти, когда Claude Code не может проверить, что ваш клон полный, или в редком репозитории, где diff всего дерева невозможен, такой как формат объекта SHA-256.
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.
Подсказка после первого предложения зависит от того, что Claude Code наблюдал:
- Вы не передали базовую ветку: Claude Code сравнил с стандартной веткой репозитория и предлагает передать вашу базу явно, как в примере выше
- Вы передали базовую ветку, которая уже была в вашем клоне: подсказка читает
Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`) - Вы передали базовую ветку, которой не было в вашем клоне: Claude Code получил её из origin перед сравнением. Подсказка читает
<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>`); когда Claude Code не может сказать, полный ли ваш клон, он предлагаетgit fetch --unshallow originвместо этого. До версии 2.1.221 подсказка предлагалаgit fetch --unshallow originдля каждой полученной базовой ветки, и на полном клоне эта команда не работает сfatal: --unshallow on a complete repository does not make sense.
Что делать:
- Если другая ветка является вашей реальной базой, передайте её явно:
/code-review ultra <branch> - Если ваш клон может не иметь полной истории, запустите
git fetch --unshallow originи повторно запустите обзор
Ваш checkout не имеет веток
Checkout может иметь коммиты, но не иметь веток: если вы запустите git init, затем git fetch <url> и git checkout FETCH_HEAD, вы получите отсоединённый HEAD без ссылок. Claude Code упаковывает ваш репозиторий как git bundle для загрузки его для ultrareview, и он не может упаковать репозиторий, который не имеет веток или других ссылок, поэтому /code-review ultra и подкоманда claude ultrareview отказывают обзор перед запуском облачного сеанса.
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.
До версии 2.1.221 Claude Code пытался обзорить каждый отслеживаемый файл в этом checkout, и загрузка не работала.
Что делать:
- Создайте ветку в вашем текущем коммите с помощью
git checkout -b <name>, затем повторно запустите обзор
Ни одна учётная запись GitHub не подключена к вашей учётной записи Claude
Вы запустили /code-review ultra <PR#> или claude ultrareview <PR#>, и перед созданием облачного сеанса Claude Code спрашивает сервер, может ли учётная запись GitHub, подключённая к вашей учётной записи Claude, достичь репозитория PR. Ни одна учётная запись не подключена или соединение истекло, поэтому облачный клон не удастся и Claude Code отказывает запуск. Claude Code не тратит бесплатный запуск и не выставляет счёт за использование кредитов для отклонённого запуска.
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).
Когда /web-setup недоступна в вашем сеансе, сообщение указывает только ссылку claude.ai.
Что делать:
- Запустите
/web-setupдля подключения вашего входа GitHub CLI к вашей учётной записи Claude или подключите учётную запись на claude.ai/connect-github - Повторно запустите обзор через минуту после подключения
До версии 2.1.248 Claude Code не проверял это перед запуском.
Ваша подключённая учётная запись GitHub не может видеть репозиторий
Вы запустили /code-review ultra <PR#> или claude ultrareview <PR#>, и учётная запись GitHub, подключённая к вашей учётной записи Claude, не может прочитать репозиторий PR, поэтому облачный клон не удастся и Claude Code отказывает запуск. Claude Code не тратит бесплатный запуск и не выставляет счёт за использование кредитов для отклонённого запуска.
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.
Когда /web-setup недоступна в вашем сеансе, сообщение указывает только установку приложения.
Что делать:
- Если ваш локальный CLI
ghможет прочитать репозиторий, запустите/web-setupдля подключения этого входа к вашей учётной записи Claude - Повторно запустите обзор после изменения
До версии 2.1.248 Claude Code не проверял это перед запуском.
Проверка GitHub App не прошла временно
Вы запустили облачный сеанс из локального репозитория, и два шага не прошли вместе. Claude Code не смог создать или загрузить bundle вашего репозитория. Перед загрузкой он проверил, может ли облачный сервис клонировать репозиторий из GitHub, и вместо определённого ответа эта проверка закончилась ошибкой, которую повторная попытка могла бы очистить, такой как сетевая ошибка, тайм-аут или временная ошибка сервера. Полное сообщение начинается с того, что остановило bundle, например Could not upload repo bundle (<error>), и заканчивается предложением проверки:
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
Что делать:
- Повторно запустите команду через момент. Когда проверка GitHub пройдёт, Claude Code может запустить сеанс из клона GitHub, поэтому неудачная загрузка больше не блокирует запуск
- Если повторные попытки продолжают не работать, начало сообщения указывает, что остановило загрузку. Когда эта причина — что-то, что вы можете исправить, исправьте это, чтобы сеанс мог запуститься из вашего локального репозитория вместо этого
До версии 2.1.251 Claude Code заканчивал сообщение с Please set up GitHub on https://claude.ai/code даже когда проверка GitHub не прошла только временно, и совет по настройке не может очистить временный отказ.
GitHub не подключён к вашей учётной записи Claude
Вы запустили облачный сеанс из вашего локального репозитория, например с помощью /autofix-pr. Ни одна учётная запись GitHub не подключена к вашей учётной записи Claude, или соединение истекло, поэтому Claude Code отказывает запуск:
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
Когда вы создаёте рутину с помощью /schedule, то же сообщение появляется как примечание настройки, которое указывает репозиторий; примечание не блокирует создание рутины.
Что делать:
- Запустите
/web-setupдля подключения вашего входа GitHub CLI к вашей учётной записи Claude или подключите учётную запись на claude.ai/connect-github. См. GitHub authentication options для того, как они отличаются. - Повторно запустите команду через минуту после подключения
До версии 2.1.268 Claude Code сообщал об этом как о временном отказе проверки Claude GitHub App и предлагал повторить попытку или установить приложение; ни то, ни другое не подключает учётную запись GitHub.
Требуется авторизация единого входа
Вы запустили /install-github-app и выбрали репозиторий, организация которого применяет единый вход SAML. Перед настройкой Claude Code проверяет ваш доступ к репозиторию с помощью GitHub CLI, и GitHub отказал эту проверку, потому что ваш токен gh ещё не авторизован для организации. Мастер показывает предупреждение с шагами для авторизации:
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.
Что делать:
- Повторно авторизуйте ваш вход GitHub CLI с областями
repoиworkflow, запустивgh auth refresh -h github.com -s repo,workflow, и авторизуйте организацию, когда GitHub запросит единый вход - Если вы аутентифицируетесь с личным токеном доступа в
GH_TOKEN, откройте github.com/settings/tokens, выберите Configure SSO на токене и авторизуйте организацию - Запустите
/install-github-appснова
До версии 2.1.273 Claude Code показывал предупреждение Admin permissions required для этого условия вместо этого.
Не удалось возобновить разговор
Claude Code не смог прочитать или обработать сохранённую стенограмму для сеанса, который вы выбрали из средства выбора claude --resume, поэтому он заканчивает процесс вместо продолжения в частично загруженном состоянии. Сообщение включает команду для повторной попытки:
Failed to resume the conversation.
Run claude --resume <session-id> to retry, or claude to start a new session.
Claude Code выходит с кодом 1 после показа сообщения. Средство выбора /resume внутри работающего сеанса сообщает Failed to resume conversation в разговоре вместо этого, и ваш текущий сеанс продолжает работать. До версии 2.1.216 неудачное возобновление из средства выбора claude --resume оставалось на спиннере Resuming conversation… бесконечно вместо показа этого сообщения.
Что делать:
- Запустите
claude --resume <session-id>с ID сеанса из сообщения для повторной попытки - Если повторная попытка снова не работает, запустите
claudeдля запуска нового сеанса
Разговор не найден с ID сеанса
Вы передали ID сеанса в claude --resume <session-id> и ни одна сохранённая стенограмма не совпала с ним:
No conversation found with session ID: <session-id>
Claude Code выходит с кодом 1 после показа сообщения. Claude Code ищет текущий проект первым, затем каждый другой проект на этой машине для ID. До версии 2.1.223 поиск останавливался в текущем каталоге проекта и его git worktrees, поэтому возобновляется из каталога, в котором сеанс в последний раз работал.
Распространённые причины:
- Неправильно введённый ID: для неинтерактивного запуска ID — это поле
session_idвывода--output-format json - Удалённая стенограмма: Claude Code удаляет стенограммы после периода хранения, 30 дней по умолчанию, следуя правилам очистки хранения
- Другая машина: Claude Code хранит стенограммы локально, поэтому возобновляет сеанс на машине, где он работал
- Дублирующиеся копии: если вы скопировали каталог проекта под
~/.claude/projects, чтобы две стенограммы имели один и тот же ID, Claude Code сообщает это сообщение вместо возобновления одной копии произвольно
Что делать:
- Для интерактивного сеанса откройте средство выбора сеанса с помощью
claude --resumeи нажмитеCtrl+Aдля расширения на каждый проект на этой машине, затем выберите сеанс - Сеансы, созданные с помощью
claude -pили Agent SDK, не появляются в средстве выбора, поэтому повторно проверьте ID противsession_id, который выводит ваш исходный запуск
Не удалось переключить рендеры в этом сеансе
Когда вы переключаете рендеры, Claude Code перезапускает свой процесс. Вы запустили /tui в сеансе, который Claude Code отказывает перезапускать, поэтому он не переключается и ничего не сохраняет. Какое сообщение вы видите, говорит вам причину:
Cannot switch renderers while work is running in the background: у вас есть фоновая работа, которая перезапуск бросит, такая как фоновая оболочка или подагент. Дождитесь завершения работы или остановите её с помощью/tasks, затем запустите/tui fullscreenили/tui defaultсноваCannot switch renderers in this session: сеанс имеет ограничения, которые Claude Code не может передать перезапущенному процессу. До версии 2.1.234 Claude Code перезапускал в любом случае и повторно запущенный сеанс работал без них
В сообщении об ограничениях часть в скобках указывает найденные ограничения Claude Code:
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.
Каждая причина, которую сообщение может показать в скобках:
launch flags: a custom system prompt, a tool allowlist, or restricted settings: вы запустили сеанс с флагом, который Claude Code не передаёт обратно перезапущенному процессу. Эти флаги включают--system-prompt,--system-prompt-file,--append-system-prompt-file, список--tools,--setting-sourcesи--permission-prompt-toolpermission rules set for this session only: обновление разрешений из hook или вызывающего SDK добавило правила deny или ask с назначениемsession. Правила allow с областью сеанса не вызывают отказ. Перезапуск их удаляет, и Claude Code вместо этого запрашивает сноваask-before-running rules with no command-line form: обновление разрешений из hook или вызывающего SDK добавило правила ask наряду с правилами, которые Claude Code передаёт обратно как--allowed-toolsи--disallowed-tools. Флаг для правил ask не существуетpermission rules a command line cannot carry intactиadded directories a command line cannot carry intact: обновление разрешений добавило правило или путь каталога в середине сеанса. Командная строка перезапущенного процесса не может нести его текст как то же значение
Что делать:
- В сеансе, запущенном без этих ограничений, запустите
/tui fullscreenили/tui defaultдля переключения обратно. Claude Code сохраняет параметрtuiтам
/terminal-setup оставил вашу раскладку клавиш Zed без изменений
Вы запустили /terminal-setup в Zed, и Claude Code не смог завершить обновление вашего keymap.json Zed, поэтому он оставил файл как он был.
Каждое сообщение указывает путь к вашей раскладке и заканчивается блоком сочетания клавиш для добавления самостоятельно:
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"] } }
Первая строка сообщения указывает причину:
Couldn't read your Zed keymap, so it was left unchanged.: Claude Code не смог прочитать файл, например из-за разрешений файлаYour Zed keymap isn't a readable list of keybindings, so it was left unchanged.: файл прочитался хорошо, но не анализируется как массив блоков сочетаний клавиш, даже с разрешёнными комментариями//и запятыми в концеCouldn't back up your Zed keymap; not modifying it.: Claude Code не смог скопировать файл в резервную копию.bakрядом с ним, поэтому он ничего не изменилCouldn't update your Zed keymap, so it was left unchanged.: объединённый результат не проверился как действительная раскладка, несущая сочетание, поэтому Claude Code отбросил его вместо записи. Блок сочетания с дублированным ключом может вызвать это
Что делать:
- Скопируйте блок из сообщения в массив верхнего уровня в вашем
keymap.jsonпо пути, который указывает сообщение - Для
isn't a readable list of keybindings, исправьте ошибку синтаксиса или сделайте значение верхнего уровня файла массивом, затем запустите/terminal-setupснова
До версии 2.1.247 /terminal-setup не мог анализировать раскладку Zed, которая использовала комментарии // или запятые в конце, и она заменила весь файл только своим собственным сочетанием, сообщая о сочетании как установленном. Чтобы восстановить раскладку, которую более ранняя версия заменила, используйте файл резервной копии .bak, описанный в разделе Enter multiline prompts.
Отчёты об использовании Skill недоступны на этом соединении
Вы запустили /skill-doctor через Remote Control, с вашего телефона или браузера. Claude Code не отправляет отчёт об использовании skill через Remote Control и вместо этого отвечает этим сообщением:
Skill usage reports are not available on this connection.
Что делать:
- Запустите
/skill-doctorв терминале на машине, где работает сеанс, или запуститеclaude -p "/skill-doctor"там
Пользовательские стили вывода не могут быть выбраны через Remote Control
Вы запустили /output-style из мобильного приложения или веб-версии через Remote Control, или команда пришла в сообщении, переданном в сеанс. Потому что такой ход может не поступить от владельца учётной записи, Claude Code перечисляет и выбирает только встроенные стили на нём и добавляет это уведомление всякий раз, когда команда перечисляет стили или не распознаёт имя, которое вы дали. Имя пользовательского стиля получает тот же ответ, что и имя, которое не существует:
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.
Что делать:
- Выберите встроенный стиль, например
/output-style concise - Чтобы использовать пользовательский стиль, установите
outputStyleв.claude/settings.local.jsonпроекта или запустите/output-style <style>в собственном терминале сеанса, если он у него есть
Стили вывода сохраняются в локальные параметры, которые этот сеанс не загружает
Вы попытались переключить стили вывода с помощью /output-style <style> или /config outputStyle=<style> в сеансе, чьи источники параметров исключают local. Примеры — сеанс Agent SDK, чьи settingSources оставляют "local" и сеанс CLI, запущенный с --setting-sources значением, которое оставляет local. Обе команды сохраняют стиль в .claude/settings.local.json, файл, который такой сеанс никогда не читает обратно, поэтому Claude Code отказывает вместо записи параметра, который не будет иметь никакого эффекта:
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.
Что делать:
- Добавьте
localк источникам параметров сеанса и переключитесь снова - Установите ключ
outputStyleв файле параметров, который сеанс загружает, такой как.claude/settings.jsonв проекте или~/.claude/settings.json. В TypeScript SDK установитеoutputStyleвнутри встроенного объектаsettingsвместо этого; см. Activate an output style
Ошибки плагинов
Эти ошибки возникают из конфигурации плагинов и конфигурации маркетплейса. Для проблем с плагинами, которые не выдают одно из сообщений на этой странице, например маркетплейс, который не загружается, или плагин, который устанавливается, но не отображается, см. Устранение неполадок плагинов.
plugin eval is currently in early access
Вы запустили claude plugin eval или claude plugin eval init, и команда завершилась с кодом 1 с одним из этих сообщений перед выполнением каких-либо действий:
`plugin eval` is currently in early access
`plugin eval` is currently unavailable
Первое сообщение означает, что ваша сборка старше v2.1.269, первой версии, где команда общедоступна. Второе означает, что Anthropic отключила команду на стороне сервера; ничто на вашем компьютере не включит её обратно.
Что делать:
- Запустите
claude --version, затемclaude update, и запустите команду снова в новом сеансе. См. требования для plugin evals - Если вы видите второе сообщение в текущей сборке, попробуйте снова позже после ещё одного
claude update
Marketplace is registered from an untrusted source
Маркетплейс зарегистрирован под именем, которое зарезервировано для официальных маркетплейсов Anthropic, но его зарегистрированный источник не является репозиторием GitHub anthropics. Claude Code повторно проверяет зарезервированные имена каждый раз при загрузке или обновлении маркетплейса, поэтому маркетплейс и плагины, установленные из него, перестают загружаться. До версии v2.1.205 имя проверялось только при добавлении маркетплейса, поэтому запись, зарегистрированная до того, как её имя было зарезервировано, продолжала загружаться.
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.
Для маркетплейса, источник которого не является репозиторием GitHub или URL-адресом Git, например локальной директорией, среднее предложение читается как can only be used with GitHub sources from the 'anthropics' organization вместо этого. claude plugin marketplace add выполняет ту же проверку и отказывает зарезервированному имени с Failed to add marketplace:, за которым следует то же предложение о зарезервированном имени.
Что делать:
- Если маркетплейс уже зарегистрирован, запустите
claude plugin marketplace remove <name>, затем добавьте его снова из официального репозиторияgithub.com/anthropics - Если вы публикуете сторонний маркетплейс, который использовал это имя до того, как оно было зарезервировано, переименуйте его и попросите пользователей добавить его снова из вашего источника
- См. список зарезервированных имён в разделе Marketplace schema
Plugin command references user\_config in a shell command
Хук плагина, monitor, или команда MCP headersHelper ссылается на опцию ${user_config.KEY} плагина, и подставленная строка будет передана в оболочку. Настроенное значение, содержащее $(...), обратные кавычки или ;, будет выполнено как код там, поэтому Claude Code отказывается запускать компонент вместо подстановки значения. Проверка выполняется на шаблоне команды, поэтому ошибка появляется даже когда значение ещё не настроено. До версии v2.1.207 значение подставлялось в команду оболочки.
Формулировка зависит от того, какая поверхность ссылалась на опцию. Хук в форме оболочки сообщает:
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}
Monitor сообщает:
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.
MCP headersHelper сообщает:
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).
Что делать:
- Для хука добавьте массив
args, чтобы он выполнялся в exec форме, где каждый${user_config.KEY}становится одним аргументом без оболочки между ними. Или удалите ссылку и прочитайте переменную окружения$CLAUDE_PLUGIN_OPTION_<KEY>внутри скрипта - Для monitor удалите ссылку и пусть скрипт monitor прочитает значение из файла конфигурации
- Для
headersHelperпереместите${user_config.KEY}в полеheadersсервера, которое не анализируется оболочкой, или прочитайте значение внутри скрипта помощника
Plugin archive integrity check failed
Запись маркетплейса плагина использует источник archive с закреплением sha256, и дайджест загруженного файла не совпадает с закреплением. Claude Code отказывает в установке, поэтому ничего не меняется в кэше плагинов. Несовпадение имеет три возможные причины:
- Файл по URL-адресу изменился после того, как автор вычислил закрепление
- Автор ввёл неправильный дайджест в запись маркетплейса
- URL-адрес служит другим файлом, чем тот, который автор закрепил
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.
Что делать:
- Если вы публикуете плагин, пересчитайте дайджест точного файла, который служит URL-адрес, например с помощью
shasum -a 256 my-plugin.zip, илиGet-FileHash -Algorithm SHA256 my-plugin.zipв PowerShell, и обновитеsha256в записи маркетплейса - Если вы устанавливаете плагин, запустите
/plugin marketplace update <name>для обновления каталога на случай, если запись была исправлена, затем повторите попытку установки - Если дайджесты всё ещё не совпадают после обновления, спросите владельца маркетплейса, какой файл они закрепили перед установкой
Path escapes plugin directory
Путь компонента плагина, объявленный в plugin.json плагина или в его записи маркетплейса, разрешается вне собственной директории плагина. Claude Code отбрасывает этот путь и загружает остальную часть плагина. Имя компонента в сообщении, такое как commands или hooks, называет поле, которое объявило путь.
commands path escapes plugin directory: ./../shared.md
В выводе команды claude plugin та же ошибка читается как Path escapes plugin directory: ./../shared.md (commands).
Claude Code отклоняет как путь, который указывает вне плагина в том виде, в котором он написан, например ../shared-utils, так и символическую ссылку, которая ведёт вне плагина и не является одной из правил символических ссылок маркетплейса, которые разрешены. Для символической ссылки сообщение также указывает, где разрешается путь:
commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory
На macOS и Linux Claude Code также отклоняет путь компонента, который содержит обратную косую черту где-либо в нём, даже когда путь остаётся внутри плагина. Плагин, чьи пути компонентов используют разделители в стиле Windows, загружается на Windows и вызывает это отклонение на других платформах:
commands path escapes plugin directory: ./commands\deploy.md — its path contains a backslash, which is not resolved reliably on this platform
До версии v2.1.251 Claude Code загружал путь commands, объявленный в записи маркетплейса, даже когда он указывал вне директории плагина. Claude Code уже отклонял пути, объявленные в plugin.json, и другие пути компонентов в записи маркетплейса.
До версии v2.1.257 проверка смотрела только на написание пути, а не на то, где ведёт символическая ссылка.
Что делать:
- Переместите упомянутый файл внутри директории плагина и укажите на него с помощью относительного пути
./ - Если путь является символической ссылкой на файл вне плагина, замените символическую ссылку копией файла
- Если сообщение говорит, что путь содержит обратную косую черту, напишите путь с прямыми косыми чертами, например
./commands/deploy.md - Для совместного использования файлов с другими плагинами в одном маркетплейсе свяжите их с помощью символической ссылки внутри директории плагина, следуя правилам символических ссылок
Path could not be checked
Claude Code попросила операционную систему проверить, существует ли путь плагина, и получила ошибку, отличную от «не найдено», поэтому она не загружает то, что называет путь. Сколько плагина загружается, зависит от того, какой путь не удался:
- Одно из расположений компонентов по умолчанию плагина, такое как папка
skills/, файлmonitors/monitors.jsonилиSKILL.mdв корне плагина: остальные компоненты плагина всё ещё загружаются - Собственная директория плагина: ничего из этого плагина не загружается
Вы не видите эту ошибку для пути, который вообще не существует. В /plugin ошибка появляется под плагином и называет путь и код, который вернула операционная система:
skills path could not be checked: /home/user/my-plugin/skills (ELOOP)
В claude plugin list та же ошибка читается как Path not found: /home/user/my-plugin/skills (skills, ELOOP).
Причины, которые вызывают эту ошибку, включают:
ELOOP: символическая ссылка в пути указывает на себя или образует циклEIOилиESTALE: путь находится на сетевом монтировании, которое нарушено или устарелоEACCES: один из директорий выше пути отказывает вам в разрешении на его обход
Что делать:
- Замените символическую ссылку, которая указывает на себя, на реальную папку, или удалите её
- Если путь находится на сетевом монтировании, переподключите общий ресурс
- Если код
EACCES, восстановите ваше разрешение на выполнение в директориях выше пути - Запустите
/reload-pluginsпосле исправления пути, или перезагрузите Claude Code, чтобы загрузить плагин или компонент
До версии v2.1.265 Claude Code рассматривала папку компонента по умолчанию, которую она не могла проверить, как отсутствующую и загружала плагин без этого компонента, без ошибки.
Marketplace entry path does not stay inside the marketplace directory
Запись маркетплейса плагина объявляет путь источника, который Claude Code не может разрешить в расположение внутри собственной директории маркетплейса, поэтому плагин не устанавливается и не загружается. Отказ охватывает:
- Путь записи, который является абсолютным, поднимается из маркетплейса с помощью
.., или написан как сетевой путь - Запись в маркетплейсе, полученном из удалённого источника, такого как git или URL, которая достигает своей цели через символическую ссылку, разрешающуюся вне директории маркетплейса
- Относительная запись в маркетплейсе, добавленном из прямого URL-адреса его
marketplace.json: Claude Code загружает только этот файл, поэтому локальные файлы плагинов не существуют для пути, чтобы назвать. См. Plugins with relative paths fail in URL-based marketplaces
claude plugin install сообщает об отказе следующим образом:
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)
Когда запись уже установленного плагина не проходит ту же проверку, claude plugin list показывает плагин как failed to load с:
Plugin source path refused: ./my-plugin does not stay inside its marketplace directory. Check that the marketplace entry has a plain relative path.
Что делать:
- Если вы поддерживаете маркетплейс, напишите
sourceзаписи как простой относительный путь, такой как./plugins/my-plugin, и держите любую символическую ссылку, которую он пересекает, указывающей внутри директории маркетплейса - Если вы добавили маркетплейс из прямого URL-адреса, относительные записи не могут разрешиться. Попросите автора маркетплейса использовать другой источник плагина, или добавьте маркетплейс из его репозитория git вместо этого
Failed to load marketplace configuration
Claude Code хранит маркетплейсы плагинов, которые вы добавили, в файле реестра в ~/.claude/plugins/known_marketplaces.json. Команда плагина, которой нужен реестр, такая как claude plugin install, не выполняется с одним из двух сообщений, когда Claude Code не может использовать файл:
Failed to load marketplace configuration: файл не является действительным JSON, или не может быть прочитан. Пустой файл также не работает таким образом.Marketplace configuration file is corrupted: файл является действительным JSON, но его содержимое не соответствует схеме реестра.
Отсутствующий файл не является ошибкой: Claude Code рассматривает его как реестр без маркетплейсов.
С пустым файлом claude plugin install сообщает:
✘ Failed to install plugin "my-plugin": Failed to load marketplace configuration: JSON Parse error: Unexpected EOF
До версии v2.1.246 claude plugin install не сообщал об этой ошибке.
Что делать:
- Откройте
~/.claude/plugins/known_marketplaces.jsonи исправьте JSON, или исправьте записи, которые сообщение называет как не соответствующие схеме реестра - Если вы не можете исправить это, удалите файл или замените его содержимое на
{}, затем добавьте каждый маркетплейс снова с помощьюclaude plugin marketplace add <source>. Claude Code повторно регистрирует маркетплейсы, которые ваш пользователь или управляемые параметры объявляют вextraKnownMarketplaces, в следующий раз, когда вы запустите его в папке, которую вы доверили.
Ошибки инструментов
Эти ошибки исходят от встроенных инструментов Claude. Claude самостоятельно исправляет большинство ошибок инструментов. Когда требуется изменение с вашей стороны, список Что делать для этой ошибки указывает, что нужно изменить.
Agent would be spawned with zero tools
Каждая запись в списке tools подагента не соответствовала ни одному используемому инструменту, поэтому Claude Code отказался запускать подагента: без инструментов он не мог действовать. Сообщение группирует ваши записи по причине ошибки:
- Unrecognized: запись не соответствует ни одному имени инструмента, обычно это опечатка, например
GrpeвместоGrep. - Not available to subagents: запись называет реальный инструмент, который подагенты не могут использовать. Фоновые подагенты имеют меньший встроенный набор инструментов, поэтому запись, которую может использовать только передний подагент, попадает сюда, когда подагент будет работать в фоне, что является значением по умолчанию. Если вы указываете
Agent, сообщение сообщает об этом в следующей группе. - Matched no tools in this session: запись действительна, но ни один инструмент в текущем сеансе не соответствует ей прямо сейчас, например
mcp__github__*без подключённого сервера GitHub MCP илиAgentдля подагента на пределе глубины.
Пропуск поля tools никогда не вызывает этот отказ. Если вы оставляете список tools пустым или disallowedTools удаляет каждую запись в нём, Claude Code также пропускает отказ и запускает подагента без инструментов.
До версии 2.1.208 подагент запускался без инструментов и мог вернуть пустой или запутанный результат.
Agent 'code-reviewer' would be spawned with zero tools — refusing. Its tools list resolved to nothing: unrecognized [Grpe]. Fix the agent's tools frontmatter or pass a different subagent_type.
Что делать:
- Исправьте каждую запись, которую называет ошибка, в соответствии с инструментами, доступными подагентам
- Удалите записи для инструментов, которые сеанс не имеет, например инструменты MCP с сервера, который не подключён
- Для инструмента, который фоновые подагенты отбрасывают, например
LSP, удалите запись. Чтобы сохранить инструмент, отключите режим fork и попросите Claude запустить подагента на переднем плане - Удалите поле
toolsвместо перечисления инструментов, чтобы дать подагенту каждый инструмент, доступный подагентам - Для списка
tools, содержащего толькоAgent, повысьте предел глубины или дайте агенту по крайней мере один другой инструмент: Claude Code скрываетAgentна этом пределе, поэтому список с ничем другим в нём разрешается в отсутствие инструментов
File is covered by a Read deny rule
Инструмент Edit или Write был вызван на пути, соответствующем правилу отказа Read, включая создание нового файла по этому пути. Оба инструмента изменяют содержимое, которое Claude должен иметь возможность прочитать обратно, поэтому Claude Code отказывает в вызове перед любым доступом к файлу. NotebookEdit не охватывается правилами отказа Read. До версии 2.1.228 правило блокировало только инструмент Edit, а до версии 2.1.208 только правило отказа Edit блокировало редактирование.
File is covered by a Read deny rule in your permission settings and cannot be edited.
Когда Claude Code отказывает инструменту Write, сообщение заканчивается на and cannot be written вместо этого.
Что делать:
- Если Claude должен иметь возможность изменять файл, удалите или сузьте правило отказа
Readв/permissionsили в параметрах - Если файл должен остаться нетронутым, сохраните правило и добавьте правило отказа
Editдля того же пути, чтобы также заблокировать инструмент NotebookEdit
subagent\_type is required
subagent_type is required: the general-purpose agent is not available in this session. Available agents: ...
Claude вызвал инструмент Agent без subagent_type, и этот сеанс не имеет универсального подагента для отката. Это происходит в двух конфигурациях:
CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1установлен в неинтерактивном режиме, что удаляет каждого встроенного подагента- Основной поток агента сеанса имеет
tools: Agent(...)список разрешений, который исключаетgeneral-purpose
Что делать:
- Обычно ничего: сообщение перечисляет подагентов, которые есть в сеансе, поэтому Claude может повторить попытку с одним из них
- Если Claude продолжает терпеть неудачу, добавьте
general-purposeв список разрешенийtools: Agent(...)или отмените установкуCLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS
До версии 2.1.235 тот же вызов завершался с ошибкой Agent type 'general-purpose' not found.
Memory index is over its read limit
Claude написал в индекс автоматической памяти MEMORY.md и оставил его выше одного из его пределов чтения: 200 строк или 25 КБ. Запись прошла успешно, но загружаются только первые 200 строк или 25 КБ, в зависимости от того, что меньше, в начале сеанса, поэтому всё, что находится за пределом, отбрасывается каждый раз при чтении индекса. До версии 2.1.210 индекс, превышающий лимит, молча усекался при следующей загрузке без сигнала во время записи.
Error: this write left the memory index at MEMORY.md at 214 lines, over its 200-line read limit. The write succeeded, but everything past the limit is silently dropped each time the index is loaded — entries at the end are already invisible to readers. Rewrite it to under 140 lines now: keep one line per entry, move detail into topic files, and merge or drop stale entries.
Только содержимое, которое загружается, учитывается в пределах. Frontmatter YAML и блочные комментарии HTML удаляются перед загрузкой индекса, поэтому они исключаются из измерения. До версии 2.1.211 Claude Code измерял исходный файл, и frontmatter или комментарии могли вызвать эту ошибку даже когда загруженное содержимое подходило.
Claude Code доставляет ошибку Claude после записи, а не выводит её как баннер в вашем терминале, поэтому вы можете заметить её только в стенограмме.
Когда запись Claude приносит файл близко к пределу без его пересечения, Claude Code возвращает более мягкое напоминание о сжатии индекса вместо этой ошибки.
Что делать:
- Позвольте Claude переписать
MEMORY.mdили попросите это: сохраняйте одну строку на запись, перемещайте детали в файлы тем и объединяйте или отбрасывайте устаревшие записи - Чтобы обрезать индекс самостоятельно, см. Аудит и редактирование вашей памяти
pkill pattern matches the Claude Code process
Команда pkill в вызове инструмента Bash использовала шаблон, обычно с -f, который соответствует самому процессу Claude Code, поэтому Claude Code отказывает в команде вместо того, чтобы позволить ей завершить сеанс. Claude Code тестирует шаблон с помощью pgrep перед запуском pkill и отказывает, когда его собственный ID процесса находится в результате. Проверка выполняется только на Linux; на macOS pkill работает без изменений. До версии 2.1.214 команда выполнялась, и соответствующий шаблон убивал сеанс Claude Code в середине хода.
pkill: refusing to run — this pattern matches the Claude CLI process (PID 12345). Narrow the pattern, or target your own children with `pkill -P $$ ...`.
Отказ появляется в результате инструмента Bash, а не как баннер в вашем терминале, и Claude обычно самостоятельно корректирует команду.
Что делать:
- Сузьте шаблон так, чтобы он соответствовал только предполагаемому процессу, например полному пути целевого двоичного файла, а не короткой подстроке
- Чтобы остановить процессы, запущенные текущей оболочкой, используйте
pkill -P $$с шаблоном, который ограничивает совпадение дочерними процессами оболочки
Failed to write to a teammate's inbox
Claude Code не смог написать сообщение в файл почтового ящика товарища под ~/.claude/teams/{team-name}/inboxes/, поэтому получатель ничего не получил. Запись не удаётся, когда Claude Code не может создать или обновить файл, например потому что диск заполнен, каталог не доступен для записи или другой агент держит блокировку входящих сообщений слишком долго. До версии 2.1.224 Claude Code сообщал сообщение как отправленное даже когда запись не удалась.
Ошибка появляется в результате инструмента отправляющего агента, а не как баннер в вашем терминале, и его текст говорит Claude повторить попытку:
Failed to write to researcher's inbox — nothing was sent. Try again, or message the lead.
Структурированные сообщения протокола команды агентов терпят неудачу таким же образом, и ошибка называет недоставленное сообщение: когда Claude Code не может написать одобрение плана, отклонение плана, запрос на завершение или отклонение завершения, ошибка читается как Failed to write the <message> to <name>'s inbox — nothing was sent. plan approval в этом списке — это решение лидера, одобряющее план товарища; отправка плана товарищем — это отдельное сообщение plan approval request. Это сообщение и два других сообщения протокола несут свой собственный текст сообщения и последствие:
Failed to write the plan approval request to the lead's inbox — plan not submitted; try again: план товарища никогда не достиг лидера, и товарищ остаётся в режиме плана до успешной повторной отправкиThe permission request could not be delivered to the team lead (mailbox write failed): запрос разрешения товарища никогда не достиг лидера, поэтому никто не одобрил вызов инструментаThe confirmation could not be written to team-lead's inbox.: само одобрение завершения вступило в силу и товарищ выходит; только подтверждение лидеру отсутствует
Когда вы сами отправляете сообщение товарищу, вводя @name с последующим сообщением в сеансе лидера, та же ошибка появляется как уведомление, Couldn't write to @name's inbox — message not sent. Try again., и Claude Code сохраняет ваш текст в поле подсказки, чтобы вы могли отправить его снова.
Что делать:
- Попросите отправителя повторно отправить сообщение; конкуренция за блокировку входящих сообщений является временной и разрешается при повторной попытке
- Проверьте свободное место на диске и убедитесь, что
~/.claude/teamsи файлы под ним доступны для записи вашим пользователем
Teammate's agent definition was not restored
Claude отправил сообщение остановленному товарищу команды агентов, и Claude Code вернул его без повторного применения определения подагента, из которого он был порождён, потому что его файл определения поступил из папки без сохранённого доверия. Уведомление следует за отчётом о возобновлении в результате инструмента отправляющего агента:
Its agent definition was not restored: the folder its definition file came from is not trusted (source: projectSettings), so the teammate is running with the team-essential tools and no custom instructions. To restore it, the user needs to run Claude Code in that folder once and accept the trust dialog (the --debug log names the folder); do not change trust settings on the user's behalf.
Проверка применяется к определению в каталоге .claude/agents/ проекта или каталога --add-dir, и принятие диалога доверия для родительской папки не удовлетворяет это.
Что делать:
- Запустите
claudeв папке, которую называет журнал отладки, и примите диалог доверия. Определение повторно применяется в следующий раз, когда Claude Code вернёт товарища; вам не нужно перезагружать сеанс лидера - Или установите запись
hasTrustDialogAcceptedнаtrueв~/.claude.json, используя точный ключprojects["<path>"], который печатает журнал отладки
Message too large for cross-session delivery
Кросс-сеансовое сообщение Claude другому вашему сеансу на этой машине было слишком длинным для отправки. Claude Code отказал в нём, и получающий сеанс ничего не получил. Отказ появляется в результате инструмента отправляющего сеанса, а не как баннер в вашем терминале. Он называет оба размера и как сделать сообщение подходящим:
Failed to send to api-worker: Message too large for cross-session delivery: the serialized message is 1,203,844 characters and the limit is 1,048,576. Shorten the message text — put bulk content in a file the recipient can read rather than in the message — or split it into smaller messages.
Повторная отправка того же текста терпит неудачу таким же образом.
Что делать:
- Попросите Claude резюмировать сообщение или поместить объёмное содержимое в файл и отправить путь файла
- Попросите Claude разделить содержимое на несколько более коротких сообщений
До версии 2.1.235 Claude Code сообщал об увеличенном сообщении как отправленном. Получающий сеанс отбросил его непрочитанным.
Too many messages to this session just now
Claude отправил быстрый всплеск кросс-сеансовых сообщений одному из ваших сеансов на этой машине, и всплеск достиг того, что этот сеанс принимает. Claude Code отказал в следующей отправке, и получающий сеанс ничего не получил от неё. Отказ появляется в результате инструмента отправляющего сеанса, а не как баннер в вашем терминале:
Failed to send to api-worker: Too many messages to this session just now: 30 were sent recently and more would be dropped by its rate limit, so this one was not sent. Batch what remains into one message, or wait a little before sending more.
Что делать:
- Обычно ничего: Claude объединяет оставшееся содержимое в одно сообщение или ждёт перед отправкой большего
- Если вы сами вызвали всплеск, попросите Claude объединить то, что осталось, в одно сообщение
До версии 2.1.236 Claude Code сообщал об этих отправках как отправленных. Получающий сеанс отбросил их непрочитанными.
Refusing to send a cross-session message
Перед тем как Claude Code напишет кросс-сеансовое сообщение другому вашему сеансу на этой машине, он проверяет, что сокет входящих сообщений целевого сеанса является конечной точкой, на которую было адресовано сообщение. Когда проверка не удаётся, Claude Code отказывает в отправке в отправляющем сеансе, и целевой сеанс ничего не получает. Для сообщения, которое отправляет Claude, отказ появляется в результате инструмента отправляющего сеанса:
Failed to send to api-worker: Refusing to send: reply target is a symlink
Текст после Refusing to send: называет проверку, которая не удалась:
reply target is a symlink: символическая ссылка находится на пути сокета целевого сеанса. Claude Code не доставляет через неё, потому что ссылка там может перенаправить сообщение на конечную точку, которую целевой сеанс не создавал.cannot vet reply target: Claude Code не смог проверить целевой путь вообще, например потому что чтение не удалось с ошибкой разрешения.connected endpoint is not the expected process: процесс, держащий сокет, не является сеансом, на который было адресовано сообщение, поэтому адрес устарел или другой процесс заменил сокет.connected endpoint identity could not be read: Claude Code подключился, но не смог прочитать, какой процесс держит другой конец, поэтому он не смог подтвердить цель. Это может быть временным.connected endpoint is not owned by this user: процесс, держащий сокет, работает под другой учётной записью пользователя, поэтому это не один из ваших сеансов.connected endpoint owner could not be read: Claude Code подключился, но не смог прочитать, какая учётная запись пользователя владеет другим концом, поэтому он не смог подтвердить, что конечная точка ваша.connected endpoint is a different process with the expected pid: ID процесса соответствует тому, на который было адресовано сообщение, но Claude Code не смог подтвердить, что это тот же процесс. Обычно этот сеанс вышел и операционная система переиспользовала его ID процесса, поэтому адрес устарел.
Что делать:
- Обычно ничего: проверки предотвращают достижение сообщением конечной точки, отличной от сеанса, на который оно было адресовано, и ничего не было отправлено
- Попросите Claude снова перечислить ваши сеансы и повторно отправить; отказ, вызванный устаревшим адресом, разрешается после того как Claude отправляет текущему
- Если
reply target is a symlinkповторяется для одного сеанса, проверьте, что создало ссылку на пути сокета этого сеанса, показанном в его/statusподPeer address - Для
connected endpoint identity could not be read, повторно отправьте; условие может быть временным - Если
connected endpoint is not owned by this userпоявляется на общей машине, сеанс по этому адресу работает под учётной записью другого пользователя, поэтому Claude не может отправить ему сообщение из вашей
До версии 2.1.248 Claude Code не проверял владельца конечной точки или время запуска процесса, поэтому отказы, которые называют эти проверки, не появляются в более ранних версиях.
Refusing to read, write, or search a path
Claude Code проверяет правила разрешений пути файла, затем подтверждает это разрешение снова, когда инструмент открывает файл или начинает поиск. Когда он не может подтвердить, что путь по-прежнему ведёт к месту, которое проверка одобрила, Claude Code отказывает в операции вместо того, чтобы следовать ей. Отказ появляется в результате инструмента:
Refusing to read /path/to/file: its symlink resolution changed after permission was checked (a link on the way now leads somewhere the check did not see). If a link in the working directory is being rewritten concurrently, stop that and retry.
Каждый отказ называет его причину:
its symlink resolution changed after permission was checked: символическая ссылка вдоль пути или в корне поиска Grep или Glob была заменена между проверкой разрешения и операцией. В отказе чтения фраза в скобках называет, какое сравнение не удалось.its parent-directory symlink resolution changed after permission was checked: каталог, через который проходит путь записи, больше не разрешается в одобренное местоit is a symbolic link. Write to the link's target path instead: символическая ссылка находится в одобренном месте записи, напримерCLAUDE.md, который является символической ссылкой наAGENTS.md; сообщение направляет Claude к цели ссылкиRefusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.: то же самое условие, обнаруженное, когда другой писатель открывает файл, например запись в символически связанный.mcp.jsonRefusing to write into symlinked directory: <path>: каталог, который содержит файл, сам является символической ссылкой, например каталог.claude/проекта, связанный с другим местоположениемa path one of its Read deny rules is written through changed while the search was being prepared. Retry.: правило отказаReadдля поиска называет путь, который проходит через символическую ссылку, и эта ссылка изменилась, пока Claude Code готовил поискit could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.: корень поиска существует, но не смог быть открыт; код в скобках — это ошибка операционной системыits permission check expired before it ran (too many concurrent file operations). Retry.: Claude Code вытеснил запись одобрения при множественных одновременных операциях с файлами перед использованием инструментом; повторная попытка выполняет свежую проверку разрешенияripgrep was found only by name on PATH, and a search outside the working directory cannot apply your Read deny rules in that configuration: Claude Code не смог разрешить двоичный файлrgв абсолютный путь, поэтому он отказывает в поисках вне рабочего каталога, а не выполняет один, который ваши правила отказа не охватывают
Что делать:
- Обычно ничего: отказ достигает Claude как результат инструмента, и отказанная операция не выполняется
- Если отказ символической ссылки повторяется на одном пути, найдите, что продолжает переписывать ссылку там, например инструмент сборки или наблюдатель файлов, или попросите Claude использовать разрешённый путь файла вместо связанного
- Если этот отказ появляется для каждого файла, пока Claude Code работает на Windows внутри AppContainer или песочницы с ограниченным токеном, обновитесь до версии 2.1.265 или позже
- Если отказ чтения появляется на macOS для файла, который ничто не переписывает, например скриншота, перетащенного в подсказку, обновитесь до версии 2.1.273 или позже
- Для отказа ripgrep установите ripgrep с помощью вашего менеджера пакетов, чтобы
rgразрешался в абсолютный путь наPATH, или сохраняйте поиски под рабочим каталогом
До версии 2.1.251 Claude Code повторно проверял разрешение пути только для записей файлов, поэтому ссылка, заменённая после проверки разрешения, могла перенаправить чтение или поиск в другое место без сообщения. Из этих отказов только отказ записи родительского каталога, через символическую ссылку и в символически связанный каталог появляются в более ранних версиях.
Task output swap refused
Claude Code сохраняет вывод каждой команды Bash в файл в своём временном каталоге. Каждый раз, когда он открывает один из этих файлов, он проверяет, что путь по-прежнему ведёт к файлу, который он создал, без символической ссылки, дополнительной жёсткой ссылки или перемещённого каталога, перенаправляющего его. Это сообщение означает, что проверка не удалась, поэтому Claude Code отказал в операции, а не писал или читал вывод через этот путь. Сообщение появляется в результате инструмента Bash:
task output swap refused (tasks dir moved or linked): /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks/b7k2f9m3q.output. To recover: restart Claude Code with CLAUDE_CODE_TMPDIR set to a fresh directory; or, if /private/tmp/claude-501/-Users-you-my-project is a stray directory or a symbolic link that should not be there, remove that entry itself (not what it points to) and restart.
Текст в скобках называет проверку, которая не удалась. Причины, такие как output symlink was re-pointed, output file identity changed и not a regular file, все сообщают об одном и том же условии: что-то на пути вывода или вдоль него больше не является файлом, который создал Claude Code. Только некоторые причины несут предложение To recover:.
Если проверка не удаётся, пока команда всё ещё выполняется, Claude Code останавливает команду, и её результат сообщает:
Command killed: its output file was replaced or could no longer be verified
Что делать:
- Обновитесь до версии 2.1.260 или позже. Более ранние версии иногда показывали это сообщение, когда ссылка или перемещённый каталог не были присутствуют
- Перезагрузите Claude Code с
CLAUDE_CODE_TMPDIR, установленным в свежий каталог - Или проверьте каталог вашего проекта в временном каталоге Claude Code,
/private/tmp/claude-501/-Users-you-my-projectв примере сообщения. Если этот путь является символической ссылкой или каталогом, который не должен быть там, удалите саму ссылку или каталог, а не цель ссылки, и перезагрузитесь - Если отказ повторяется, процесс заменяет, связывает или удаляет записи в временном каталоге Claude Code, пока сеанс работает. Установите
CLAUDE_CODE_TMPDIRв каталог, который ничто другое не управляет, и перезагрузитесь
The source file is not valid UTF-8 text
Claude попытался опубликовать артефакт из файла, чьи байты не декодируются как текст, или чей текст уже содержит символ замены U+FFFD, поэтому Claude Code отказал в публикации перед загрузкой чего-либо. Сообщение появляется в результате инструмента Artifact и называет первую позицию для исправления:
file_path: the source file is not valid UTF-8 text (first invalid byte at line 12, column 40). It may be saved in another encoding or contain binary data. Rewrite it as UTF-8, then publish again. Nothing was published.
file_path: the source file has the replacement character U+FFFD at line 12, column 40, usually left where an earlier edit or paste lost a character. Replace it with the intended text (in HTML, write an intended U+FFFD as �), then publish again. Nothing was published.
Claude Code декодирует файл как UTF-8 или как UTF-16, когда он начинается с метки порядка байтов UTF-16 с прямым порядком байтов. Когда такой файл UTF-16 не декодируется, первое сообщение называет UTF-16 и по-прежнему говорит вам переписать файл как UTF-8. Когда после названной позиции следуют дополнительные позиции, сообщение добавляет счётчик, такой как (+2 more), после позиции.
Что делать:
- Обычно ничего: Claude переписывает файл и публикует снова
- Если файл — это тот, который вы написали или экспортировали, сохраните его снова как UTF-8 и замените каждый
U+FFFDна символ, который более ранний редактор, вставка или преобразование потеряло - Чтобы показать намеренный
U+FFFDна странице, напишите его как�в HTML вместо буквального символа
До версии 2.1.267 Claude Code загружал такой файл без проверки, и сервер отказывал в публикации вместо этого.
Reading a local file from outside the connected folders in a Cowork session
В сеансе Cowork, работающем на вашей машине в приложении Claude Desktop, Claude назвал локальный файл для артефакта. Claude Code не смог подтвердить, что файл является простым файлом внутри подключённых папок сеанса: путь находится вне этих папок, проходит через символическую ссылку или написан таким образом, что может назвать другой файл, чем он кажется. Чтение такого файла требует вашего одобрения, и в сеансе, который не может показать вам карточку одобрения, например в сеансе, установленном на пропуск всех одобрений, Claude Code отказывает в чтении.
Отказ появляется в результате инструмента Artifact; когда файл не смог быть проверен вообще, он называет эту ошибку вместо этого:
Reading a local file from outside this session's connected folders, or through a link, needs the approval card, and no one can answer it in this Cowork session. Use a plain file inside the connected folders; do not retry this file in this session.
cannot read file_path (ENOENT) — the file could not be examined, and no one can answer the approval card in this Cowork session. Check that the file exists as a plain file inside the connected folders, then retry with that path.
Что делать:
- Обычно ничего: сообщение говорит Claude использовать простой файл внутри подключённых папок вместо этого
- Чтобы поместить этот точный файл в артефакт, скопируйте его в одну из подключённых папок сеанса как обычный файл, а не символическую ссылку, и попросите снова
WebFetch cannot fetch localhost
Claude вызвал WebFetch с URL-адресом, чьё имя хоста не содержит точку, например http://localhost:3000 или простое имя интранета, например http://wiki/. WebFetch отказывает в этих URL-адресах перед выполнением любого запроса:
WebFetch cannot fetch localhost or other hostnames without a dot. To reach a local server, use Bash with curl instead.
Что делать:
- Обычно ничего: сообщение указывает Claude на
curlчерез инструмент Bash, который может достичь локальных и интранет-серверов
До версии 2.1.268 WebFetch сообщал об этих URL-адресах с общей ошибкой Invalid URL.
Ошибки фоновых сеансов
Фоновые сеансы работают без собственного интерактивного терминала, поэтому команды, которым он требуется, ведут себя там иначе. Эти сообщения появляются в стенограмме фонового сеанса, в терминале, подключённом к нему, в сеансе или оболочке, из которой вы его запустили, или, для записей worktree-guard ниже, в любом сеансе, изолированном в worktree, или в работающем изолированном подагенте worktree; где сообщение относится к одной поверхности, его запись это указывает.
Команды, отклонённые в фоновом сеансе
Команды, которые открывают интерактивный диалог, не могут это делать, пока к фоновому сеансу не подключён терминал. /install-github-app, список параметров /mcp и действия аутентификации в меню сервера MCP отвечают сообщением, и сеанс появляется под Needs input в представлении агента, чтобы вы могли его найти, подключиться и запустить команду снова. Пока терминал подключён, эти команды работают нормально.
До версии 2.1.216 сеанс не появлялся под Needs input после одного из этих отказов. В версиях 2.1.213–2.1.215 команды всё ещё работали, пока был подключён терминал, и сообщение об отказе говорило вам подключиться и запустить команду снова. С версии 2.1.208 по 2.1.212 Claude Code отклонял их даже при подключённом терминале с сообщением вроде Can't open MCP settings in a background session; на этих версиях запустите команду из обычного сеанса claude вместо этого или обновитесь. До версии 2.1.208 они открывали свой диалог внутри фонового сеанса. Только в версии 2.1.208 Claude Code также отклонял средство выбора /model в фоновом сеансе, и /upgrade выводил URL обновления вместо открытия браузера.
Формулировка называет команду. Список параметров /mcp сообщает:
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.
Что делать:
- Подключитесь к сеансу из представления агента, где он указан под Needs input, и запустите команду снова
- Или используйте форму, которую называет сообщение, например
/mcp reconnect <server>,/mcp enableили/mcp disable, которые работают без подключения
Запись или команда заблокирована, потому что путь не может быть безопасно разрешён
Claude обратился к файлу или рабочему каталогу через написание, которое защита изоляции worktree не может разрешить в одно проверяемое место. Защита проверяет записи и рабочие каталоги команд в любом сеансе, изолированном в worktree, интерактивном или фоновом, и в изолированных подагентах worktree. Она разрешает символические ссылки перед проверкой того, что операция не достигает общей проверки, и когда разрешение не удаётся, она блокирует операцию вместо того, чтобы позволить ей туда попасть. Сообщение называет формы пути, которые она отклоняет, и как повторить попытку:
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.
Заблокированная команда сообщает ту же причину для своего рабочего каталога и заканчивается re-run the command from its direct symlink-free path. До версии 2.1.217 защита сравнивала написания пути без разрешения символических ссылок, поэтому эти написания не блокировались и запись, маршрутизированная через символическую ссылку, могла попасть в общую проверку.
Что делать:
- Обычно ничего: полное сообщение идёт к Claude как ошибка инструмента, и Claude повторяет попытку с прямым путём, который он называет. Для заблокированного редактирования файла представление разговора показывает только короткую строку
Error editing file; полное сообщение появляется в представлении стенограммы, которое вы открываете с помощьюCtrl+O. Заблокированная команда выводит его в выходные данные команды. - Если блокировка повторяется на том же файле, путь, вероятно, проходит через зафиксированную символическую ссылку, цель которой содержит
.., напримерdocs/current -> ../README.md; попросите Claude отредактировать целевой файл по его реальному пути вместо ссылки
Запись или команда заблокирована, потому что путь называет сетевое расположение
Claude обратился к файлу или рабочему каталогу через путь, который называет диск, которого нет на вашей машине, общую папку UNC, например \\server\share\file, или путь автомонтирования /net, в то время как проверка сеанса находится на локальном диске. Та же защита изоляции worktree не может проверить, что такой путь остаётся вне общей проверки, поэтому она блокирует операцию. Изоляция сеанса в worktree не снимает блокировку. Сообщение называет форму пути для использования вместо этого:
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.
Заблокированная команда сообщает ту же причину для своего рабочего каталога и заканчивается re-run the command from its local, plainly-spelled path. До версии 2.1.217 защита сравнивала только текст пути, поэтому обращение к файлу внутри проверки через путь UNC или /net не блокировалось.
Что делать:
- Обычно ничего: Claude повторяет попытку с локальным написанием, которое просит сообщение
- Если файл находится на сетевом ресурсе, а не на локальном файле, написанном с сетевым путём, он находится вне локального рабочего пространства сеанса; отредактируйте его из обычного интерактивного сеанса вместо этого
Этот сеанс не имеет сохранённой стенограммы
Вы подключились к остановленному фоновому сеансу, который был отправлен в фон из другого разговора с ← или /background и остановлен до завершения его первого ответа. До завершения этого первого ответа разговор всё ещё существует только в сеансе, из которого он был отправлен в фон, поэтому claude attach отказывает в запуске остановленного сеанса вместо того, чтобы начать пустой разговор с тем же ID сеанса. Сообщение заканчивается командой claude respawn для этого сеанса:
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.
Открытие той же строки сеанса в представлении агента показывает Press enter again to restart this session fresh ниже списка, и второе нажатие Enter на строке перезапускает сеанс с пустым разговором. До версии 2.1.212 открытие строки показывало сообщение об отказе без способа перезапуска из представления агента. До версии 2.1.211 открытие остановленного сеанса молча запускало этот пустой разговор и могло повторно запустить исходный запрос сеанса.
Что делать:
- Разговор, который вы отправили в фон, остаётся нетронутым: возобновите его с помощью
claude --resumeили продолжайте работать в нём - Чтобы запустить остановленный сеанс заново, запустите
claude respawn <id>с ID из сообщения или нажмитеEnterдважды на его строке в представлении агента - Если сеанс завершил ответ и вы всё ещё видите этот отказ в версии до 2.1.214, нечитаемая папка в
~/.claude/projectsмогла заставить сканирование стенограммы пропустить сохранённый разговор; обновитесь до версии 2.1.214 или позже, которая допускает нечитаемые папки во время сканирования
Этот сеанс работает в другом терминале
Вы открыли строку остановленного сеанса в представлении агента, и его сохранённый разговор уже открыт в другом живом процессе Claude Code на этой машине, поэтому Claude Code отказывает в запуске второго процесса, который писал бы в ту же стенограмму. Какое сообщение вы видите, зависит от того, что держит разговор:
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: терминал держит разговор, например тот, где вы возобновили его с помощьюclaude --resumeили/resume. Строка также показываетOpen in a terminal.already open in another running Claude session: другой неинтерактивный процесс Claude Code держит его, например процесс фонового сеанса для того же разговора, который ещё не вышел.
Claude Code сохраняет ответ, который вы напечатали при открытии строки, и отправляет его как следующий запрос сеанса, когда сеанс в следующий раз запустится.
Что делать:
- Продолжите разговор в процессе, который его имеет, или выйдите из этого процесса и откройте строку снова
До версии 2.1.248 существовал только отказ already open in another running Claude session: разговор, возобновленный в терминале, не считался открытым, и открытие строки запускало второй процесс Claude Code, пишущий в тот же разговор.
Сохранённый разговор этого сеанса больше не находится на диске
Вы открыли фоновый сеанс, который завершился, пока фоновая служба была отключена, и очистка стенограммы с тех пор удалила его сохранённый разговор, например после того, как машина была отключена в течение недель. Открытие такой строки обычно возобновляет её сохранённый разговор. Когда нечего возобновлять, Claude Code отказывает вместо того, чтобы повторно запустить исходный запрос сеанса без вопроса:
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> выводит этот текст. В представлении агента нижний колонтитул короче и заканчивается ctrl+x deletes the row.
Что делать:
- Запустите
claude rm <id>для удаления строки. Когда применяется один из сохраняемых случаев,claude rmсохраняет строку и worktree вместо этого и называет причину - Чтобы запустить исходный запрос сеанса снова как новый разговор, запустите
claude respawn <id>
До версии 2.1.248 открытие такой строки повторно запускало исходный запрос сеанса вместо отказа, вытягивая задачу, которая была неделю назад, на передний план.
Worktree имеет коммиты, которые не отправлены никуда
Вы попытались удалить фоновый сеанс, чей worktree содержит коммиты, которые Claude Code не может подтвердить, что они сохранены где-то ещё. Claude Code сохраняет worktree и строку сеанса вместо того, чтобы уничтожить коммиты без присмотра. claude rm называет ветвь и неотправленные коммиты и говорит, как действовать:
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
Когда Claude Code не может суммировать коммиты, сообщение читается The worktree has unpushed commits вместо этого. В представлении агента строка сеанса показывает not deleted с той же причиной.
Коммиты на удалённом хранилище не блокируют удаление. Также не блокируют коммиты на локальной копии ветви по умолчанию вашего удалённого хранилища origin, пока эта ветвь проверена в вашей основной проверке, в самом каталоге репозитория, а не в worktree.
Что делать:
- Чтобы сохранить коммиты, отправьте ветвь worktree или объедините её в ветвь по умолчанию, проверенную в вашей основной проверке, затем удалите сеанс снова
- Чтобы отклонить коммиты, запустите команду
claude rm <id> --discard-unpushed, которую выводит сообщение, или нажмитеCtrl+Xдважды на строке сеанса в представлении агента снова. Это удаляет сеанс и worktree вместе с его ветвью, неотправленными коммитами и любыми незафиксированными изменениями. Если worktree получил коммит с момента отказа, Claude Code сохраняет его снова и показывает обновленное состояние - Когда сообщение говорит, что worktree также записан другим завершённым сеансом, удаление снова не отклоняет его: отправьте коммиты, затем удалите сеанс снова
До версии 2.1.268 claude rm помещал сводку коммитов на саму строку kept. Когда claude rm не мог суммировать коммиты, строка kept читалась worktree has commits that are not pushed anywhere вместо сводки.
До версии 2.1.260 сообщение не называло ветвь или коммиты, и удаление снова отклонялось так же: удаление сеанса без отправки означало удаление worktree самостоятельно с помощью git worktree remove --force <path>, затем запуск claude rm <id> снова.
До версии 2.1.248 ветвь по умолчанию, проверенная в вашей основной проверке, не считалась: ветвь, которую вы уже объединили там, всё ещё вызывала этот отказ, пока её коммиты не достигали удалённого хранилища.
Процесс хоста терминала умер
Каждый терминал фонового сеанса работает в процессе хоста под фоновой службой, и этот процесс умер, пока служба всё ещё держала его соединение, поэтому сеанс не мог быть достигнут.
На Linux и WSL фоновая служба проверяет каждый процесс хоста каждые несколько секунд, отмечает сеанс как неудачный, когда процесс вышел, но его соединение со службой никогда не закрывалось, и показывает причину на его строке в представлении агента:
terminal host process died — press Enter to restart
Если вы откроете строку до запуска проверки, нижний колонтитул показывает This session's terminal host process died (the conversation is saved) — press Enter to restart it и строка становится неудачной.
Из оболочки claude attach <id> перезапускает сеанс, уже отмеченный как неудачный для мёртвого хоста, и в противном случае выводит причину и выходит:
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.
Разговор сохраняется в любом случае.
Строка, работающая с командой оболочки вместо этого, показывает terminal host process died — its output is gone; the command was not run again, и claude attach выводит This command's terminal host process died — its output is gone and the command was not run again. Claude Code никогда не повторно запускает команду для вас.
Что делать:
- В представлении агента нажмите
Enterна неудачной строке; сеанс перезапускается на свежем процессе хоста и разговор возобновляется - Из оболочки запустите
claude attach <id>снова. Claude Code выводитSession <id>'s terminal host died — restarting it on a fresh one…и повторно открывает сеанс - Вы не можете перезапустить строку shell-command таким образом; отправьте команду снова для её повторного запуска
До версии 2.1.247 мёртвый процесс хоста мог пройти каждую проверку живучести, которую запускала фоновая служба, поэтому открытие сеанса показывало opening… · esc to cancel бесконечно и claude attach <id> ждал без сообщения об ошибке.
Сеанс не отвечает
Вы открыли фоновый сеанс и фоновая служба приняла открытие, но никакой выход не прибыл примерно за десять секунд, поэтому Claude Code заключает, что процесс, передающий терминал сеанса, не может доставить выход, и заканчивает попытку вместо ожидания.
В представлении агента Claude Code предлагает перезапуск в нижнем колонтитуле:
Press enter again to restart this session — it isn't responding (its conversation is saved and resumes).
Из оболочки claude attach <id> выводит причину и выходит:
Couldn't attach to <id> — Session isn't responding — `claude stop <id>`, then `claude attach <id>` restarts it (the conversation is saved).
Claude Code никогда не перезапускает строку, работающую с командой оболочки для вас, потому что перезапуск запустил бы команду снова.
Что делать:
- В представлении агента нажмите
Enterна той же строке снова. Claude Code останавливает неответивший процесс и перезапускает сеанс, и разговор возобновляется. Ничего не останавливается без этого второго нажатия - Из оболочки запустите
claude stop <id>, затемclaude attach <id> - Для строки shell-command нажмите
Ctrl+Xв представлении агента или запуститеclaude stop <id>для её остановки; отправьте команду снова для её повторного запуска
Сеанс был остановлен, пока перезапуск был в полёте
Вы открыли фоновый сеанс, чей процесс не работал, и пока Claude Code его перезапускал, другой процесс Claude Code остановил его, например claude stop в другом терминале. Claude Code держит сеанс остановленным:
Session <id> was stopped while the respawn was in flight
Открытие сеанса, который вы только что отправили, пока его процесс всё ещё запускается, ждёт процесса вместо этого. До версии 2.1.246 открытие его в этот момент могло остановить его и показать это сообщение.
Что делать:
- Если вы не остановили сеанс, откройте его строку снова в представлении агента или запустите
claude respawn <id>для его перезапуска - Если вы остановили его сами, ничего не остаётся делать: сеанс остаётся остановленным
Агент сеанса больше не доступен
Вы возобновили сеанс, который работал пользовательским агентом, запущенным с --agent или параметром agent, и Claude Code не нашёл агента с таким именем. Он сначала ищет в исходном каталоге сеанса, когда вы доверили это рабочее пространство, затем в каталоге, из которого вы возобновляете. Сеанс всё ещё возобновляется, но с инструментами по умолчанию, поэтому ограничения инструментов агента больше не применяются:
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>.
Предупреждение называет только каталоги, которые Claude Code искал, и оно появляется в возобновленном разговоре, пробудите ли вы фоновый сеанс, запустите /resume или claude --resume, или возобновите в неинтерактивном режиме, где оно также идёт в stderr. Сеансы, использующие --input-format stream-json, не показывают его, потому что Agent SDK поставляет агентов после запуска.
Claude Code не сохраняет откат в сеанс, поэтому предупреждение повторяется при каждом возобновлении, пока вы не действуете. Встроенный агент claude не вызывает предупреждение, так как откат к инструментам по умолчанию ничего не меняет для него. До версии 2.1.216 Claude Code молча продолжал как агент по умолчанию, и поиск охватывал только каталог, из которого вы возобновляли, поэтому агент, ограниченный проектом, был потерян при любом возобновлении из другого каталога.
Что делать:
- Пересоздайте файл агента в
.claude/agents/<name>.mdв проекте сеанса или в~/.claude/agents/<name>.mdдля личного агента, затем возобновите снова - Или возобновите с
--agent <name>, называя агента, который действительно существует, для запуска сеанса как этого агента вместо этого - Если агент ограничен проектом и вы не доверили исходному каталогу сеанса, запустите Claude Code там один раз, примите диалог доверия, затем возобновите снова
Ошибки средства запуска CLAUDE\_CODE\_PROCESS\_WRAPPER
CLAUDE_CODE_PROCESS_WRAPPER установлен, и его значение не может быть использовано, поэтому Claude Code отказывает в запуске затронутого процесса вместо того, чтобы запустить его без средства запуска. Проблемы конфигурации сообщаются сообщением, которое начинается с имени переменной и указывает причину, например:
CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file
Средство запуска, которое запускается, но выходит без замены себя на Claude Code, не удаётся сеансу, который оно запускало, и строка сеанса в представлении агента сообщает, что средство запуска must exec, not daemonize, за которым следует всё, что выводило средство запуска. Сеанс, который не может запуститься или достичь фоновую службу из-за средства запуска, сообщает проблему средства запуска как причину внутри Couldn't reach the background service (...).
Что делать:
- Установите переменную на абсолютный путь исполняемого файла, который заканчивается вызовом
exec "$@". Смотрите контракт средства запуска для полного контракта - Проверьте
/status, который показывает разрешённую команду запуска в его записи Self-exec и предупреждает, когда работающая фоновая служба не совпадает с ней, или запуститеclaude daemon statusиз оболочки - После исправления значения в блоке
envпараметров, перезапустите фоновую службу с помощьюclaude daemon stop --any, чтобы следующая отправка запустила завёрнутую
EUNKNOWN при запуске фонового сеанса
Windows отказала в запуске программы с кодом ошибки, который не имеет стандартного имени, поэтому сбой появляется как EUNKNOWN. Обычный триггер — это политика ограничения программного обеспечения, такая как Group Policy или AppLocker, блокирующая запускаемую программу. Ошибка появляется, когда вы запускаете фоновый сеанс с /background или claude --bg:
Couldn't reach the background service (spawn background service: EUNKNOWN: unknown error, uv_spawn) — run 'claude daemon status'
На некоторых учётных записях сообщение говорит daemon вместо background service.
При установке npm ошибка EUNKNOWN, которая появляется, пока npm install -g @anthropic-ai/claude-code заменяет двоичный файл, имеет ту же причину, что и EACCES при переустановке, и очищается, когда вы повторяете попытку после завершения установки.
Claude Code запускает фоновую службу через PowerShell, чтобы служба пережила закрытие терминала, используя PowerShell 7, когда он установлен, и Windows PowerShell 5.1 в противном случае. Когда ни один PowerShell не может работать, Claude Code запускает службу напрямую вместо этого, поэтому политика, которая блокирует только PowerShell, не вызывает эту ошибку. Если вы видите её, пока не запущена установка npm, политика блокирует сам исполняемый файл Claude Code.
До версии 2.1.212 Claude Code использовал только Windows PowerShell 5.1 для запуска службы, поэтому любая машина, где Group Policy блокировал PowerShell 5.1, не удавалась с Couldn't start the session — EUNKNOWN: unknown error, uv_spawn, даже с установленным PowerShell 7.
Что делать:
- Если сообщение читается
Couldn't start the session, обновитесь до версии 2.1.212 или позже. На более ранних версиях вы также можете запуститьclaude daemon runв отдельном терминале сначала, затем запустить фоновый сеанс снова. Эта команда запускает фоновую службу на переднем плане терминала, поэтому служба длится только столько, сколько этот терминал остаётся открытым. - Если установка npm заменяла двоичный файл, дождитесь её завершения, затем запустите фоновый сеанс снова
- Если ошибка появляется в версии 2.1.212 или позже, пока не запущена установка npm, попросите администратора Windows разрешить исполняемый файл Claude Code в политике ограничения
- Если фоновая служба останавливается при закрытии терминала, Claude Code запустил её без PowerShell. Установите PowerShell 7 или попросите администратора разблокировать PowerShell, чтобы служба могла пережить терминал.
EACCES при запуске фонового сеанса
Claude Code не мог запустить свой собственный двоичный файл для запуска фоновой службы, которая размещает фоновые сеансы. При установке npm это обычно означает, что npm install -g @anthropic-ai/claude-code заменял двоичный файл в этот момент, запустили ли вы его или автоматическое обновление сделало это. Ошибка появляется, когда вы открываете сеанс из представления агента:
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'
Когда вы запускаете сеанс с /background или claude --bg, та же причина появляется внутри Couldn't reach the background service (...). Во время того же окна переустановки ошибка может называть другой код вместо этого, например ENOENT или ENOEXEC, или EUNKNOWN или EPERM на Windows; EUNKNOWN, который сохраняется при повторных попытках, имеет другую причину.
При установке npm Claude Code ждёт завершения переустановки и повторяет попытку самостоятельно: до десяти секунд и до двух минут, пока установка npm Claude Code явно всё ещё работает на машине, что охватывает другой процесс Claude Code, загружающий обновление. Когда установка превышает это ожидание, сбой называет обновление вместо простого кода ошибки:
Claude Code is being updated by npm on this machine (still not runnable after 2 min, EACCES) — try again when the update finishes
До версии 2.1.257 ожидание остановилось в десять секунд в каждом случае, поэтому эта ошибка появилась, пока другой процесс Claude Code всё ещё загружал обновление. До версии 2.1.246 Claude Code не удавался сразу же, без ожидания.
Что делать:
- Подождите несколько секунд, затем откройте сеанс или отправьте снова. Когда сообщение говорит, что Claude Code обновляется, повторите попытку после завершения обновления.
- Если ошибка сохраняется, пока не запущена установка npm, ваш пользователь не может запустить установленный двоичный файл. Проверьте его разрешения и его каталога, или переустановите Claude Code.
Фоновая служба вышла до того, как стала доступной
Процесс, который Claude Code запустил как фоновую службу, вышел до того, как он принял соединения, поэтому Claude Code не мог открыть ваш сеанс. Когда служба выводила ошибку перед выходом, причина в скобках даёт код выхода или сигнал и первую строку, которую служба выводила, которая называет то, что её остановило:
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'
Когда вы открываете сеанс из представления агента, та же причина следует Couldn't start the background service —. Когда служба ничего не выводила перед выходом, сообщение говорит nothing on stderr вместо этого.
Claude Code сообщает об ошибке с линией ошибки службы. До версии 2.1.246 ошибка появлялась только после ожидания в 45 секунд, как background service did not become reachable within 45s, без линии ошибки службы.
Две цитируемые причины имеют известные причины:
Error: claude native binary not installed.: установка npm заменяла двоичный файл Claude Code в этот момент, поэтому служба запускала заполнитель npm вместо этого. Повторите попытку после завершения установки; если строка сохраняется без запущенной установки, завершите установку npm. До версии 2.1.257 самообновление npm на macOS производило эту ошибку при каждом запуске во время окна установки.nothing on stderrс кодом выхода 1, при каждом запуске, на Windows:daemon.lockназывает процесс, который Claude Code не может ни сигнализировать, ни доказать, что он ушёл, поэтому каждая новая служба заключает, что другая держит блокировку и выходит. Блокировка, чей писатель Claude Code может доказать, что ушёл, заменяется самостоятельно и не производит эту ошибку. Когда ошибка повторяется при каждом запуске, удалите~/.claude/daemon.lock, затем откройте сеанс или отправьте снова. До версии 2.1.257 такая блокировка блокировала каждый запуск, пока вы не удалили файл.
Что делать:
- Если сообщение цитирует строку, исправьте то, что она называет, затем откройте сеанс или отправьте снова. Следующая попытка запускает службу снова
- Запустите
claude daemon statusдля проверки, работает ли служба сейчас
Рабочий каталог больше не существует при запуске фонового сеанса
Вы попытались запустить фоновый сеанс в каталоге, который больше не существует. Это происходит, когда вы отправляете из представления агента или запускаете /background после того, как каталог, в котором вы работаете, был удалён или перемещён. Это также происходит, когда вы подключаетесь к или перезапускаете сеанс, чей процесс вышел и чей каталог ушёл, потому что новый процесс запустился бы в том же каталоге. Claude Code не запускает сеанс, и сообщение называет отсутствующий каталог:
Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)
До версии 2.1.257 сеанс казался запущенным и затем показывался в представлении агента как неудачная строка с той же причиной.
Что делать:
- Пересоздайте каталог, который называет сообщение, или отправьте из каталога, который существует, затем попробуйте снова
Ошибки обёртки и IDE
Эти ошибки исходят от программы, которая запустила Claude Code для вас, такой как расширение IDE или приложение Agent SDK, а не от самого Claude Code.
Claude Code process exited with code N
Базовый процесс claude завершился с ненулевым кодом. Сам код выхода не говорит, что не удалось: реальная ошибка находится в собственном выводе процесса, который обёртка добавляет, если она что-то захватила, в противном случае она хранит это в своих логах.
Error: Claude Code process exited with code 1
На Windows встроенная сборка может завершиться с кодом 4294967295 сразу после завершения хода. Когда этот выход происходит на границе хода, без ожидающего сообщения и без выполняющейся фоновой задачи, расширение VS Code закрывает сеанс без уведомления вместо отображения этой ошибки. Ваше следующее сообщение возобновляет разговор.
До версии 2.1.273 расширение показывало ошибку для этого выхода на каждой границе хода, хотя ничего не было потеряно.
Что делать:
- В VS Code перейдите по ссылке View output logs, показанной с ошибкой, чтобы увидеть основную ошибку
- В приложении Agent SDK перехватите ошибку вокруг вашего цикла сообщений. Записи в разделе CLI process exit охватывают то, что ваш код получает в каждом языке SDK.
- Запустите
claudeв терминале в том же проекте. Ошибка обычно воспроизводится там с её реальным сообщением об ошибке, которое вы затем можете найти на этой странице. - Запустите
claude doctorв терминале, чтобы проверить установку и конфигурацию
Could not locate the Claude CLI on PATH
Расширение VS Code показывает эту ошибку в Windows, когда вы открываете Claude Code в интегрированном терминале, оболочка терминала — это PowerShell, и расширение не может найти установленный исполняемый файл claude в PATH. Расширение отказывается запускать Claude Code, пока не найдёт установленный claude в PATH.
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.
Что делать:
- Откройте новое окно PowerShell вне VS Code и запустите
where.exe claude. Если оно не выводит путь, CLI не находится в вашем PATH: добавьте его каталог установки, следуя Verify your PATH. Если оно выводит путь, запись поступает из вашего профиля PowerShell или из изменения PATH, которое VS Code ещё не подхватил; следующие два шага охватывают эти случаи. - Установите запись PATH как переменную окружения пользователя или системы, а не в вашем профиле PowerShell. Расширение не запускает ваш профиль, поэтому редактирование PATH, которое существует только там, никогда до него не доходит.
- Перезагрузите VS Code после изменения PATH. Расширение проверяет PATH, который VS Code захватил при запуске, поэтому изменение PATH вступает в силу только после перезагрузки.
The connection to Claude Code ended before this message completed
Расширение VS Code отправило ваше сообщение процессу claude, и соединение завершилось без ошибки до того, как процесс подтвердил или завершил его. Расширение не может определить, было ли сообщение обработано, поэтому оно просит вас отправить его снова:
The connection to Claude Code ended before this message completed — it may not have been processed, so please send it again.
Что делать:
- Отправьте сообщение снова. Следующее сообщение запускает свежий процесс
claude, который возобновляет разговор. - Если это повторяется, запустите
claudeв терминале в том же проекте. Ошибка, которая продолжает завершать процесс, обычно воспроизводится там с её реальным сообщением об ошибке.
Предупреждения и ошибки Rewind
Эти сообщения поступают из восстановления кода /rewind. Restored the code, but skipped N files — это предупреждение о том, что Claude Code пропустил некоторые пути. No files were restored — это ошибка, которая означает, что ничего не было восстановлено.
Restored the code, but skipped files
Восстановление кода /rewind пропустило один или несколько отслеживаемых путей вместо того, чтобы записать или удалить их. Claude Code пропускает путь, когда:
- это символическая ссылка, жёсткая ссылка или другой нерегулярный файл, или он стал таким
- его директория изменилась с момента создания контрольной точки
- его резервную копию невозможно безопасно прочитать
Пропущенные пути сохраняют своё текущее содержимое. До версии 2.1.216 /rewind записывал и удалял данные через ссылки на отслеживаемых путях и не сообщал о частичном восстановлении.
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.
Что делать:
- Определите, какие файлы были пропущены, чтобы вы могли обработать каждый из них, следуя приведённым ниже шагам. Сообщение содержит только количество; журнал отладки в
~/.claude/debug/<session-id>.txtуказывает каждый пропущенный путь по мере выполнения восстановления, поэтому включите логирование отладки с помощью/debugперед следующим восстановлением. На macOS или Linux вы можете вместо этого найти ссылки напрямую:find . -type lдля символических ссылок иfind . -type f -links +1для жёстко связанных файлов. - Если пропущенный файл — это ссылка, которую вы создали намеренно, например файл конфигурации, управляемый менеджером dotfile, или файл, жёстко связанный инструментами вроде pnpm, то rewind оставил его содержимое без изменений. Чтобы отменить изменения сеанса в этом файле, попросите Claude отменить редактирование или отредактируйте файл самостоятельно
- Если вы не создавали ссылку, проверьте путь перед тем, как доверять его содержимому: что-то заменило файл после создания контрольной точки
No files were restored
Claude Code показывает это сообщение, когда вы восстанавливаете код с помощью /rewind и Claude Code не может восстановить ни один из файлов в этой контрольной точке. Для каждого файла либо резервная копия, которую Claude Code сохранил перед редактированием, отсутствует, либо Claude Code не смог записать или удалить файл.
Failed to restore the code:
No files were restored: 1 file failed (backup missing, or the file could not be updated)
Claude Code удаляет резервные копии сеанса при очистке хранения, по умолчанию примерно через 30 дней после того, как сеанс последний раз их сохранил. Если вы возобновите сеанс после этого, /rewind по-прежнему будет отображать его контрольные точки, но восстановление одной из них может завершиться ошибкой. Если сообщение также говорит N paths were skipped for link safety, см. раздел Restored the code, but skipped files для этих путей.
Что делать:
- Отмените изменения другим способом: попросите Claude отменить его редактирование или восстановите файлы из системы контроля версий. Когда резервные копии удалены, повторный запуск
/rewindзавершится с той же ошибкой. - Если Claude Code не смог записать или удалить файл, исправьте то, что блокирует запись, например разрешения на файл, а затем снова запустите
/rewind. - Чтобы сохранять резервные копии дольше в будущих сеансах, увеличьте значение
cleanupPeriodDays.
До версии 2.1.260 Claude Code молча пропускал файлы, резервные копии которых отсутствовали, и восстановление казалось успешным.
Предупреждения о сохранении сеанса
Claude Code показывает эти предупреждения на постоянной строке ниже поля ввода, когда он не сохраняет транскрипт вашего сеанса. Сеанс продолжает работать в любом случае; предупреждения говорят вам, что сеанс может отсутствовать при --resume позже.
Запись транскрипта не удаётся
Claude Code сохраняет транскрипт на диск по мере работы, и его записи в файл транскрипта не удаются. Сообщение указывает причину с кодом базовой ошибки, например полный диск:
Transcript writes are failing (disk full — ENOSPC) · recent messages may not be saved for resume
Предупреждение появляется в разных точках в зависимости от ошибки:
- При первом сбое для условий, которые не исчезают сами по себе: полный диск, превышена квота диска, файловая система только для чтения, путь превышает лимит длины файловой системы, или на macOS и Linux — ошибка разрешения
- После повторных сбоев, длящихся не менее минуты, для всего остального, включая ошибки разрешения на Windows, где сканирование антивируса может привести к сбою одной записи, которая затем успешно выполняется при повторной попытке
До версии 2.1.217 Claude Code отбрасывал неудачные записи без предупреждения, и позже отсутствие недавних сообщений при --resume было первым признаком.
Что делать:
- Исправьте условие, которое указывает код ошибки: освободите место на диске для
ENOSPC; повысьте или очистите квоту дляEDQUOT; восстановите доступ на запись в расположение транскрипта дляEACCES,EPERMилиEROFS - Предупреждение исчезает само по себе при следующей успешной записи; перезагрузка не требуется
- Сообщения, отправленные во время отображения предупреждения, могут по-прежнему отсутствовать при возобновлении сеанса позже
Сохранение транскрипта отключено, потому что установлена переменная CLAUDE\_CODE\_SKIP\_PROMPT\_HISTORY
Этот сеанс начался с установленной переменной CLAUDE_CODE_SKIP_PROMPT_HISTORY, поэтому Claude Code не записывает для него транскрипт или историю подсказок:
Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set · --resume will not find this session; if unintended, unset it and restart
Переменная является преднамеренным отказом для эфемерных скриптовых сеансов, но она также может достичь сеанса через профиль оболочки, скрипт-обёртку или родительский процесс, который её экспортировал.
Что делать:
- Если вы установили переменную намеренно, никаких действий не требуется; уведомление подтверждает, что сеанс не будет отображаться в
--resume,--continueили истории стрелки вверх - Если нет, удалите переменную из оболочки или скрипта, который запускает
claude, затем начните новый сеанс. Сообщения из текущего сеанса не сохраняются задним числом.
Сохранение транскрипта отключено из-за унаследованного маркера CLAUDE\_CODE\_CHILD\_SESSION
Claude Code устанавливает CLAUDE_CODE_CHILD_SESSION в подпроцессах, которые он порождает, и рассматривает интерактивный сеанс, который его наследует, как вложенный: Claude Code не сохраняет для него транскрипт, поэтому сеансы, которые сам Claude запускает, не заполняют ваш список --resume. Это уведомление означает, что ваш текущий сеанс унаследовал маркер:
Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker · restart with CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1 to keep future transcripts
Уведомление ожидается, когда вы запустили claude изнутри другого сеанса Claude Code; оно сигнализирует о неправильной классификации, когда маркер просочился через долгоживущий посредник, например терминал, сеанс screen или средство запуска, которое первоначально запустил сеанс Claude Code.
Внутри tmux Claude Code обнаруживает маркер, который прибыл через глобальную среду сервера tmux, и продолжает сохранять, поэтому это уведомление не появляется для этого случая.
Что делать:
- Если вы запустили этот сеанс изнутри другого сеанса Claude Code намеренно, никаких действий не требуется
- Если это сеанс верхнего уровня, выйдите и перезагрузитесь с установленной переменной
CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1. Сохранение применяется с момента перезагрузки, поэтому сообщения, отправленные до неё, не сохраняются. - Чтобы исправить будущие запуски из того же терминала или средства запуска, удалите
CLAUDE_CODE_CHILD_SESSIONиз его среды
Предупреждения о конфигурации
Claude Code записывает большинство этих сообщений в stderr, а не в беседу, и выводит большинство из них при запуске. Запись указывает, когда её сообщение появляется в другом месте, например в журнале отладки или как уведомление при запуске в представлении беседы, или в другое время, например диагностическая строка unrecognized-model во время запроса.
Fullscreen renderer didn't finish starting
Предыдущий сеанс fullscreen на этом компьютере завершился до того, как закончил запускаться, поэтому Claude Code запускает этот сеанс на классическом renderer и выводит одно из этих уведомлений:
Claude Code's fullscreen renderer didn't finish starting last time on this machine, so this launch is using the classic renderer. It will try fullscreen again next launch; /tui default keeps the classic renderer.
Claude Code's fullscreen renderer has repeatedly failed to start on this machine, so it has been turned off here. Run /tui fullscreen to try it again (this also resets after an update).
Что делать:
- Следуйте инструкциям Fullscreen rendering. Там указано, какое уведомление вы получите, что Claude Code делает в последующих сеансах и как снова попробовать fullscreen или оставить классический renderer.
- Если сеанс, который завершился, вывел сообщение об выходе, см. Claude Code exited after an unrecoverable interface error для получения информации о том, что оно называет.
До версии 2.1.236 Claude Code не выводил уведомление и продолжал запускать сеансы в fullscreen rendering после неудачного запуска.
Claude Code exited after an unrecoverable interface error
Claude Code выводит это сообщение при выходе, потому что его интерфейс терминала столкнулся с ошибкой, от которой он не может восстановиться, в любом из renderer. Второе предложение появляется только когда ошибка произошла во время запуска fullscreen renderer:
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).
Что делать:
- Запустите Claude Code снова. Чтобы продолжить беседу, выполните
claude --resumeв том же каталоге. - Если сообщение называет fullscreen renderer, Fullscreen rendering говорит, что делает следующий запуск, что зависит от того, как вы включили fullscreen, и как снова попробовать fullscreen или оставить классический renderer.
До версии 2.1.236 Claude Code выходил без вывода сообщения после этого вида ошибки.
Agent descriptions are over the 15.0k-token limit
Claude Code показывает это предупреждение как уведомление при запуске в представлении беседы, а не на stderr. Объединённые описания ваших subagents, кроме встроенных, превышают 15 000 токенов в соответствии с оценкой Claude Code. Каждый агент считает своё имя плюс его frontmatter description. Claude Code загружает каждого агента независимо от того, превышен ли лимит, поэтому предупреждение не меняет то, что загружается.
Agent descriptions are over the 15.0k-token limit (~16.2k tokens) · ask Claude to trim agent descriptions in .claude/agents/
Что делать:
- Сократите frontmatter
descriptionваших файлов агентов или попросите Claude сократить их для вас. - Удалите файлы агентов, которые вы больше не используете.
Workspace has not been trusted
Claude Code обнаружил правила permissions.allow или записи permissions.additionalDirectories в файле .claude/settings.json или .claude/settings.local.json проекта и не применил их, потому что правила allow из параметров проекта требуют доверия рабочей области. Количество, имя параметра и имя файла в сообщении варьируются в зависимости от вашей конфигурации. На правила deny и ask это не влияет.
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.
Что делать:
- Выполните
claudeв каталоге и примите диалог доверия. Project allow rules and workspace trust говорит, какую папку охватывает это принятие. - В non-interactive mode с
-pдиалог не показывается. Установите записьhasTrustDialogAcceptedв~/.claude.json, используя точный ключprojects, который выводит сообщение. - Если сообщение называет
.claude/settings.local.jsonи вы запустили Claude Code вне репозитория git или в вашем домашнем каталоге, обновитесь до версии 2.1.200 или позже. Версии 2.1.196 по 2.1.199 рассматривали ваш собственный.claude/settings.local.jsonкак предоставленный репозиторием в этих рабочих областях. На версии 2.1.207 и позже обновления недостаточно вне репозитория git, если вы не доверили папке: определение того, что папка не находится внутри репозитория, запускает git, и Claude Code запускает эту проверку только после того, как вы примете диалог доверия, поэтому используйте первый шаг. Ваш домашний каталог и любой другой configuration home освобождены и не ждут диалога. См. Project allow rules and workspace trust.
Working directory is a network path
Claude Code не добавляет сетевые пути как рабочие каталоги. Поиск сетевого пути может связаться с хостом, который он называет, и на Windows этот контакт может отправить хосту ваши учётные данные, поэтому Claude Code отказывает в пути без его поиска. Вы видите это сообщение при выполнении /add-dir с таким путём или как предупреждение при запуске. Когда оно появляется при запуске, Claude Code запускается без этого каталога.
\\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).
Пути, которые Claude Code отказывает таким образом, включают:
- UNC shares такие как
\\server\share - Automount paths такие как
/net/<host>, если вы не запустили Claude Code из каталога под automount этого хоста - Локальные пути, которые достигают сетевого расположения через символическую ссылку или junction
Сопоставленные буквы дисков и пути \\wsl$ не считаются сетевыми путями.
Что делать:
- На Windows сопоставьте share с буквой диска, например с помощью
net use Z: \\server\share, и передайте диск при запуске сclaude --add-dir Z:\. - На macOS или Linux смонтируйте share в локальный путь и добавьте этот путь вместо этого.
- Если путь находится в
permissions.additionalDirectories, удалите его из файла параметров, который его перечисляет.
До версии 2.1.257 Claude Code принимал достижимый сетевой путь как рабочий каталог.
Remote managed settings failed to load
Ваш сеанс имеет право на server-managed settings, но Claude Code не смог их получить, поэтому он показывает это предупреждение в интерактивных сеансах. Причина в скобках называет то, что не удалось, например network error, request timed out или authentication rejected (401), а остальная часть строки говорит, какую политику запускает сеанс:
- Settings cached from an earlier successful fetch: Claude Code запускает сеанс на этой кэшированной политике, кроме withheld environment variables, и строка читается
using cached policy. - No cache: Claude Code запускает сеанс без server-managed settings, и строка читается
no remote policy applied.
Что делать:
- Действуйте в соответствии с причиной, которую называет сообщение: для сетевой причины проверьте, что эта машина может достичь
api.anthropic.com; для причины аутентификации проверьте вашу регистрацию с помощью/status - Выполните
/statusилиclaude doctorдля полной диагностики
До версии 2.1.248 Claude Code сообщал о неудачной выборке параметров только в журнале отладки.
Managed settings were not approved
server-managed settings вашей организации включают параметры, которые требуют вашего одобрения, и вы отклонили security approval dialog, поэтому Claude Code выходит без их применения:
Managed settings were not approved; exiting without applying them.
Что делать:
- Запустите Claude Code снова и одобрите диалог, чтобы продолжить в соответствии с параметрами вашей организации. Отклонённый диалог не запоминается, поэтому он появляется снова при следующем запуске.
- Если вы не уверены в параметре, который перечисляет диалог, спросите того, кто поддерживает управляемые параметры вашей организации, перед одобрением
MCP server is blocked by enterprise managed policy
Вы выбрали Reconnect на сервере в /mcp или снова включили отключённый сервер там, и параметр, который restricts MCP servers блокирует этот сервер. Claude Code отказывает в подключении и показывает:
MCP server <name> is blocked by enterprise managed policy
Любой из этих параметров может создать сообщение:
- Запись
deniedMcpServers, которая соответствует серверу, включая одну в вашем собственном~/.claude/settings.jsonили в.claude/settings.jsonпроекта - Список
allowedMcpServers, которому сервер не соответствует strictPluginOnlyCustomizationс заблокированнымmcp, который блокирует серверы, настроенные в~/.claude.jsonи.mcp.jsondisableClaudeAiConnectors, когда сервер является claude.ai connector
Что делать:
- Проверьте ваши собственные файлы параметров пользователя и проекта на наличие одного из этих параметров и измените или удалите его
- Если ни один из ваших собственных параметров не объясняет блокировку, спросите вашего администратора, какой управляемый параметр блокирует сервер
До версии 2.1.257 Reconnect и повторное включение в /mcp могли подключить сервер, который обновление политики в середине сеанса заблокировало.
Managed settings document could not be parsed
Ваша организация развёртывает managed settings, и один из развёрнутых документов присутствует, но не может быть проанализирован как объект JSON, поэтому Claude Code выходит с кодом 1 при запуске вместо запуска без политики, которую несёт документ. Строка называет неудачный источник перед сообщением:
/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.
Источник является одним из:
- Путь файла
managed-settings.jsonили drop-in файла подmanaged-settings.d - Профиль управляемых параметров macOS,
per-user managed preferencesилиdevice-level managed preferences - Значение реестра Windows,
Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings
Find entries Claude Code dropped перечисляет то, что делает каждый источник непарсируемым.
Claude Code отказывает в запуске даже когда другой источник администратора доставляет действительную политику. Вы видите эту ошибку в интерактивных сеансах, claude -p, сеансах Agent SDK, background sessions и большинстве подкоманд, включая claude doctor. Отказ закрывается намеренно: параметры в документе, который Claude Code не может проанализировать, не могут быть применены, и запуск в любом случае запустил бы сеансы без элементов управления организации.
Проблема схемы в парсируемом документе не создаёт эту ошибку. Find entries Claude Code dropped охватывает то, что Claude Code делает с одной.
Когда каталог managed-settings.d/ существует, но не может быть перечислен, Claude Code сообщает Managed settings drop-in directory could not be read: с последующей базовой ошибкой вместо этого. Find entries Claude Code dropped охватывает, когда отказ при чтении выходит при запуске.
Что делать:
- Если вы администрируете машину, исправьте названный документ так, чтобы он анализировался как объект JSON, или удалите файл, профиль или значение реестра. Пустой
managed-settings.jsonсчитается{}и не блокирует запуск. - Если нет, попросите вашего администратора исправить развёрнутый документ. Ничто в ваших собственных файлах параметров не вызывает и не очищает эту ошибку.
headersHelper not run
Claude Code подключил MCP сервер с его статическими headers только и пропустил headersHelper сервера, потому что помощник является shell командой и папка не имеет сохранённого доверия. Папка получает сохранённое доверие, когда вы устанавливаете её запись в ~/.claude.json вручную или, вне вашего домашнего каталога, когда вы принимаете диалог доверия для неё в интерактивном сеансе. См. Trust a folder before its headersHelper runs для того, какие серверы применяется эта проверка.
Claude Code записывает эту строку в non-interactive mode только, один раз на сервер. В интерактивном сеансе он записывает тот же отказ в журнал отладки вместо этого.
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.
Ключ projects, который выводит сообщение, является папкой, на которой Project allow rules and workspace trust говорит Claude Code ключи доверия. Принятие диалога доверия для родительской папки не удовлетворяет проверку, и сеанс -p или SDK не удовлетворяет её либо.
Что делать:
- Выполните
claudeв папке, которую называет сообщение, примите диалог доверия, затем выполните вашу команду-pили SDK снова - Установите запись
hasTrustDialogAcceptedв~/.claude.jsonсамостоятельно, используя точный ключprojects, который выводит сообщение - Если вы запустили сеанс в вашем домашнем каталоге, работайте из каталога проекта, которому вы доверяете. Когда вы принимаете диалог доверия в вашем домашнем каталоге, Claude Code держит это доверие только для текущего сеанса.
Malformed Tool(content) rule
permission rule в одном из ваших файлов параметров не имеет формы Tool или Tool(content), например потому что текст следует за закрывающей скобкой или одна из скобок отсутствует. Claude Code пропускает правило и перечисляет его в диалоге недействительных параметров при запуске интерактивного сеанса и в выводе 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
Что делать:
- В файле параметров, указанном в сообщении, переписать правило так, чтобы оно заканчивалось на закрывающей скобке, например
Bash(ls *)вместоBash(ls) x - Оставьте скобки внутри содержимого как они есть. Они буквальные, поэтому правило такое как
Edit(./Finance (2024)/**)действительно без экранирования
До версии 2.1.260 Claude Code сообщал о правиле с несовпадающими скобками как Mismatched parentheses.
Is not matched by file permission checks
Claude Code обнаружил Write, NotebookEdit, MultiEdit или Glob permission rule с путём в одном из ваших settings files, в managed settings или в значении флага --allowedTools, --disallowedTools или --settings. Он проверяет разрешения файлов только против правил Edit и Read, поэтому он никогда не консультирует правило пути, которое называет один из других инструментов файлов. Он сохраняет правило и ничего больше не меняет; предупреждение называет правило, его источник в скобках и замену для записи:
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).
Что делать:
- Замените
Write(path),NotebookEdit(path)и устаревшиеMultiEdit(path)правила наEdit(path). ПравилаEditохватывают все инструменты редактирования файлов. - Кроме как в
--allowedTools, где Claude Code принимает правилоGlobбез предупреждения, замените правилаGlob(path)наRead(path). - Исправьте правило в источнике, который называет предупреждение в скобках: путь файла параметров или сам флаг для
--allowed-toolsи--disallowed-tools. Путьclaude-settings-<hash>.json, который не существует на диске, обозначает встроенное значение--settings. Исправьте JSON, который вы передаёте этому флагу. - Оставьте простые правила имён инструментов такие как
WriteилиGlobв покое. Claude Code соответствует им на tool level и не предупреждает о них. - Если источник читает
managed policy settings, перенаправьте предупреждение тому, кто поддерживает ваши управляемые параметры, так как вы не можете очистить его самостоятельно.
В background session или с --output-format json или stream-json, Claude Code записывает предупреждение в журнал отладки вместо stderr, поэтому вывод, читаемый машиной, остаётся чистым. Выполните с --debug для захвата его в ~/.claude/debug/<session-id>.txt. До версии 2.1.210 Claude Code принимал эти правила без предупреждения.
Has a wildcard before the rest of the command
Claude Code обнаружил правило allow Bash, чей * приходит перед более поздним словом, которое определяет, какая это команда, например Bash(git * main) или Bash(git -C * status *), в одном из ваших settings files, в managed settings или в значении флага --allowedTools или --settings. * соответствует любому тексту, включая опции, вставленные в этой позиции: Bash(git * main) также одобряет git -c core.fsmonitor=<script> diff main, где -c заставляет git запустить программу, которую называет команда. Wildcard patterns показывает правила соответствия.
Предупреждение существует, чтобы вы могли сузить правило, чей подстановочный знак шире, чем вы предполагали. Claude Code сохраняет правило и ничего не меняет о том, как оно соответствует; предупреждение называет правило и его источник в скобках:
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 *)).
Что делать:
- Замените
*перед подкомандой на точное значение, которое вы имеете в виду:Bash(git checkout main)вместоBash(git * main). - Переместите каждый
*после подкоманды:Bash(git status *)вместоBash(git -C * status *). Напишите одно правило на подкоманду, которую вы хотите разрешить. - Исправьте правило в источнике, который называет предупреждение в скобках: путь файла параметров или сам флаг
--allowed-tools. Путьclaude-settings-<hash>.json, который не существует на диске, обозначает встроенное значение--settings. Исправьте JSON, который вы передаёте этому флагу. - Если источник читает
managed policy settings, перенаправьте предупреждение тому, кто поддерживает ваши управляемые параметры, так как вы не можете очистить его самостоятельно.
Claude Code не предупреждает о правилах deny и ask с той же формой: он отказывает или запрашивает дополнительные команды, которые они соответствуют, а не одобряет их. Он также не предупреждает о правилах, чья подкоманда приходит перед первым *, например Bash(git commit *), или правилах, в которых ни одно слово, кроме опции, не следует за *, например Bash(git *), или о правилах префикса :* такие как Bash(git:*).
В background session или с --output-format json или stream-json, Claude Code записывает предупреждение в журнал отладки вместо stderr, поэтому вывод, читаемый машиной, остаётся чистым. Выполните с --debug для захвата его в ~/.claude/debug/<session-id>.txt. До версии 2.1.246 Claude Code принимал эти правила без предупреждения.
crossSessionInbound must be one of accept, hold, refuse
Файл параметров устанавливает crossSessionInbound на значение, которое Claude Code не распознаёт, например опечатка "reject". Второе предложение предупреждения зависит от того, какой файл содержит значение; в пользовательском, проектном, локальном или файле --settings оно читается:
"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.
В managed settings Claude Code рассматривает нераспознанное значение как refuse, наиболее ограничивающее значение, и предупреждение говорит, что сообщения между сеансами отклоняются до тех пор, пока администратор не исправит это. Для того, как hold объединяется со значениями в ваших других файлах параметров, см. crossSessionInbound.
Что делать:
- Установите ключ на
"accept","hold"или"refuse"или удалите его - Когда предупреждение называет управляемые параметры, попросите администратора исправить значение
До версии 2.1.248 Claude Code игнорировал нераспознанное значение без предупреждения.
The 200K limit isn't enforced
Вы установили CLAUDE_CODE_DISABLE_1M_CONTEXT=1, что обычно заставляет auto-compaction держать сеансы на 1M-context моделях в окне 200K, но нет порога compaction, который ограничивает этот сеанс на или ниже 200K, поэтому беседа может расти за его пределы.
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 применяет лимит 200K самостоятельно для каждой модели, которую он распознаёт как имеющую собственное окно 1M, и для ID моделей, которые он не распознаёт, он compacts в окне, которое он предполагает. Предупреждение появляется, когда другая конфигурация побеждает это применение:
- ID модели не является одним, который Claude Code распознаёт, например LLM gateway alias, и вы установили
CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1или повысили предполагаемое окно выше 200K сCLAUDE_CODE_MAX_CONTEXT_TOKENS. В этом случае сообщение также предлагаетor update to a Claude Code version that recognizes <model>как средство. - Beta
context-1mзапрошенный черезANTHROPIC_BETASили флаг--betasвсё ещё запрашивает API для окна 1M на модели, которая принимает эту бету, в то время как ничего не compacts сеанс на 200K
Что делать:
- Установите
CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000или параметрautoCompactWindowна200000, чтобы auto-compaction compacts на границе 200K - Если сообщение называет ID модели, который эта версия не распознаёт, выполните
claude update. Версия, которая распознаёт ID как 1M-context модель, применяет лимит без дополнительной конфигурации. - Если вы хотите, чтобы сеанс использовал полное окно модели вместо этого, отмените
CLAUDE_CODE_DISABLE_1M_CONTEXT; предупреждение сообщает только, что лимит 200K не применяется
В background session или с --output-format json или stream-json, Claude Code записывает предупреждение в журнал отладки вместо stderr.
Unrecognized model ID on a request
Claude Code отправил запрос для ID модели, который ваша версия Claude Code не распознаёт, и не нашёл запись modelOverrides, которая отображает этот ID на модель, которую он распознаёт. Claude Code всё ещё отправляет запрос с ID, как вы его настроили, и не выходит и не переключает модели.
[claude-code:unrecognized_model] {"model":"my-proxy-model","query_source":"sdk"}
В скрипте или harness, который читает stderr, совпадайте с префиксом [claude-code:unrecognized_model]. После префикса и одного пробела Claude Code записывает однострочный объект JSON. Claude Code может добавлять поля к нему в более поздней версии, поэтому игнорируйте любое поле, которое вы не ожидаете. Он записывает по крайней мере эти два:
model: строка модели, как вы её настроилиquery_source: путь запроса, который использовал модель. Claude Code сообщаетsdkдля запуска-pи значение, которое начинается сagent:для subagent.
Claude Code записывает строку в одно из двух мест, в зависимости от того, как вы его запускаете:
- В non-interactive mode с
-p, Claude Code записывает её в stderr под каждым--output-format, поэтому вы можете анализировать stdout без фильтрации строки - В интерактивном сеансе или background session, Claude Code записывает её в журнал отладки вместо этого; выполните с
--debugдля захвата её в~/.claude/debug/<session-id>.txt
Claude Code записывает строку один раз на строку модели на процесс. Он записывает отдельную строку для каждого дополнительного нераспознанного ID, например одного, который subagent или background functionality использует.
Claude Code не записывает строку для ID поставщиков, которые он разрешает на модель, которую он распознаёт, например Amazon Bedrock us.anthropic.claude-... ID, ID Google Cloud's Agent Platform с суффиксом версии @ и имена развёртывания Microsoft Foundry, которые содержат ID модели Claude. Claude Code проверяет модель позади Amazon Bedrock application inference profile ARN а не сам ARN. Он не записывает строку для ARN, который он не может разрешить, например неправильно введённый.
Что делать:
-
Если вы установили ID намеренно, например LLM gateway alias, добавьте запись
modelOverridesв ваш settings file с ID как его значение. Используйте ID модели Anthropic как ключ, а не семейный alias такой какopus. Дляmy-proxy-modelиз примера строки добавьте эту запись:{ "modelOverrides": { "claude-opus-4-6": "my-proxy-model" } }Claude Code затем рассматривает
my-proxy-modelкакclaude-opus-4-6и прекращает записывать строку. -
Если ID называет модель новее, чем ваша версия Claude Code, выполните
claude update -
Если ID является опечаткой, исправьте его в любом из places you can set a model или alias variables, который его содержит. Если
query_sourceначинается сagent:, исправьте его там, где вы устанавливаете subagent's model вместо этого.
До версии 2.1.233 Claude Code не записывал строку, когда отправлял запрос для ID модели, который он не распознавал.
Stale sandbox mask files left by a killed session
claude doctor выводит это предупреждение в своей диагностике, и /status перечисляет ту же строку. Оно появляется на Linux и WSL2, когда sandboxing включена с изоляцией файловой системы.
Пока выполняется sandboxed команда, sandbox держит отказ в записи на файл, который ещё не существует, создавая 0-байтовый заполнитель только для чтения там, и удаляет его впоследствии. Сеанс, убитый перед тем, как эта очистка запустится, например SIGKILL, оставляет заполнители позади. Более поздние сеансы привязывают их только для чтения снова при каждом запуске, поэтому запись параметров такая как сохранение "Yes, and don't ask again" не удаётся там, где она сидит.
- 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
Что делать:
- Выйдите из любого другого сеанса Claude Code, работающего в этом проекте, затем удалите каждый перечисленный файл с
rm. Предупреждение называет до трёх файлов и считает остальное, поэтому переустановитеclaude doctorпосле удаления до тех пор, пока предупреждение больше не появляется. Заполнитель, который sandbox другого сеанса всё ещё использует, является живой частью защиты от записи этого сеанса - Если выбор разрешения, который вы сохранили с "Yes, and don't ask again" не прижился, сохраните его снова после удаления заполнителя
До версии 2.1.257 claude doctor не отмечал эти файлы; более ранние версии оставляют те же заполнители позади, когда сеанс убивается.
Ответы кажутся ниже обычного качества
Если ответы Claude кажутся менее способными, чем вы ожидаете, но ошибка не отображается, причина обычно в состоянии разговора, а не в самой модели. Claude Code не молча меняет версии модели. Он может переключиться на резервную модель в трёх конкретных случаях:
- Настроенный
--fallback-modelберёт на себя управление после ошибки доступности только для этого хода с уведомлением в расшифровке - Проверка запуска Amazon Bedrock или Google Cloud's Agent Platform обнаруживает, что ваша модель по умолчанию недоступна
- Автоматический переход на резервную модель на Fable 5.1, Fable 5 и Opus 5 переводит сеанс на резервную модель категории с флагом, когда у этой категории она есть, и показывает уведомление в расшифровке
Проверка выбора модели ниже ловит второй и третий случаи; первый появляется как уведомление в расшифровке, а не как изменение /model. Конфигурация модели объясняет, когда применяется каждый переход на резервную модель.
Сначала проверьте следующее:
- Выбор модели: запустите
/model, чтобы подтвердить, что вы используете ожидаемую модель. Предыдущий выбор/modelили переменная окруженияANTHROPIC_MODELмогут привести вас к меньшей модели, чем вы предполагали. - Уровень усилий: запустите
/effort, чтобы проверить текущий уровень рассуждений и повысить его для сложной отладки или проектной работы. Значения по умолчанию варьируются в зависимости от модели, поэтому проверьте перед тем, как предполагать, что вы ниже максимума. См. Отрегулируйте уровень усилий для значений по умолчанию для каждой модели и сокращениеultrathink. - Давление контекста: запустите
/context, чтобы увидеть, насколько заполнено окно. Если оно близко к ёмкости, запустите/compactв естественной точке разрыва или/clear, чтобы начать заново. См. Изучите окно контекста, чтобы узнать, как auto-compact влияет на предыдущие ходы. - Устаревшие инструкции: большие или устаревшие файлы
CLAUDE.mdи определения инструментов MCP потребляют контекст и могут направлять ответы. Проверка/doctorотмечает файлы памяти большого размера и неиспользуемые расширения, а/contextпоказывает использование токенов инструментов MCP. До версии 2.1.205/doctorоткрывал экран диагностики, который отмечал файлы памяти большого размера и определения подагентов.
Когда ответ идёт неправильно, откат обычно работает лучше, чем ответ с исправлениями. Нажмите Esc дважды или запустите /rewind, чтобы вернуться к моменту перед неправильным ходом, затем переформулируйте подсказку с большей конкретикой. Исправление в потоке сохраняет неправильную попытку в контексте, что может привязать более поздние ответы к ней. См. Контрольные точки.
Если качество всё ещё кажется неправильным после проверки вышеуказанного, запустите /feedback и опишите, что вы ожидали в сравнении с тем, что вы получили. Обратная связь, отправленная таким образом, включает расшифровку разговора, что является самым быстрым способом для Anthropic диагностировать реальную регрессию. См. Сообщить об ошибке, если /feedback недоступен в вашей среде.
Если Claude предупреждает о подозреваемой инъекции подсказки или отказывает в запросе из-за подозреваемой инъекции, и текст, который называет предупреждение, — это контекст, который Claude Code добавляет к разговору автоматически, а не содержимое файла или веб-сайта, запустите claude update и повторите попытку. Если предупреждение повторяется после обновления, сообщите об этом вместо того, чтобы вставлять отмеченное содержимое обратно в подсказку. До версии 2.1.201 Sonnet 5 отказывал в некоторых запросах таким же образом.
Сообщить об ошибке
Для ошибок компонентов, которые не рассматриваются на этой странице, см. соответствующее руководство:
- Серверу MCP не удалось подключиться или пройти аутентификацию: MCP
- Скрипт hook не выполнился или заблокировал инструмент: Debug hooks
- Отказано в доступе или ошибки файловой системы при установке: Troubleshoot installation and login
Если ошибка не указана здесь или предложенное исправление не помогает:
- Запустите
/feedbackвнутри Claude Code, чтобы отправить стенограмму и описание в Anthropic. Команда также предлагает открыть предварительно заполненную проблему GitHub. Отправка в Anthropic требует аутентификации. На Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и других сторонних поставщиков, или когда учетные данные Anthropic не настроены,/feedbackсохраняет локальный архив, который вы можете отправить представителю вашей учетной записи Anthropic. - Запустите
claude doctorиз вашей оболочки для диагностики только для чтения вашей установки или запустите проверку/doctorвнутри Claude Code, чтобы найти и исправить проблемы настройки - Проверьте status.claude.com на наличие активных инцидентов
- Поищите существующие проблемы на GitHub