diff --git a/ru/errors.md b/ru/errors.md index a9cefcbf7d41c6012b0fbeb1156af94679719fd6..8a6bc43c198fcad56ac75870e933a230ddfd4602 100644 --- a/ru/errors.md +++ b/ru/errors.md @@ -8,7 +8,7 @@ На этой странице перечислены ошибки времени выполнения, которые отображает Claude Code, и способы восстановления после каждой из них, а также что проверить, когда ответы кажутся неправильными без ошибки. Для ошибок установки, таких как `command not found` или сбои TLS во время установки, см. [Устранение неполадок при установке и входе](/docs/ru/troubleshoot-install). -За исключением [ошибок Wrapper и IDE](#wrapper-and-ide-errors), которые выводит запускающая программа, а не сам Claude Code, эти ошибки и команды восстановления применяются во всех интерфейсах: CLI, [приложении Desktop](/docs/ru/desktop) и [Claude Code в веб-версии](/docs/ru/claude-code-on-the-web), поскольку все три используют один и тот же Claude Code CLI. Для других проблем, специфичных для конкретного интерфейса, см. раздел устранения неполадок на странице этого интерфейса. +За исключением [ошибок Wrapper и IDE](#wrapper-and-ide-errors), которые выводит запускающая программа, а не сам Claude Code, эти ошибки и команды восстановления применяются во всех интерфейсах: CLI, [приложении Desktop](/docs/ru/desktop) и [облачных сессиях](/docs/ru/claude-code-on-the-web), поскольку все три используют один и тот же Claude Code CLI. Для других проблем, специфичных для конкретного интерфейса, см. раздел устранения неполадок на странице этого интерфейса. Claude Code вызывает Claude API для получения ответов модели, поэтому большинство ошибок времени выполнения соответствуют базовому коду ошибки API. На этой странице описано, что означает каждая ошибка в Claude Code и как восстановиться. Для определений кодов состояния HTTP в исходном виде см. [справочник по ошибкам платформы Claude](https://platform.claude.com/docs/en/api/errors). @@ -25,7 +25,7 @@ | `API Error: 500 Internal server error` | [Server errors](#api-error-500-internal-server-error) | | `API Error: Repeated 529 Overloaded errors` | [Server errors](#api-error-repeated-529-overloaded-errors) | | `Opus is experiencing high load` / `Fable is experiencing high load` | [Server errors](#api-error-repeated-529-overloaded-errors) | -| `Request timed out` | [Server errors](#request-timed-out), или [Network](#unable-to-connect-to-api) если сообщение упоминает вашу интернет-соединение | +| `Request timed out` | [Server errors](#request-timed-out), или [Network](#unable-to-connect-to-api) если сообщение упоминает ваше интернет-соединение | | `API Error: No response from API` | [Server errors](#no-response-from-api) | | `Server error mid-response. The response above may be incomplete.` | [Server errors](#the-response-above-may-be-incomplete) | | `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [Server errors](#the-response-above-may-be-incomplete) | @@ -75,7 +75,11 @@ | `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) | | `Remote Control stopped — the app running this session is signed out of Claude` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) | | `Couldn't verify your organization's policy for remote control` | [Troubleshoot Remote Control](/docs/ru/remote-control#couldnt-verify-your-organizations-policy-for-remote-control) | +| `Remote Control is disabled by your organization's policy` | [Troubleshoot Remote Control](/docs/ru/remote-control#remote-control-is-disabled-by-your-organizations-policy) | +| `Remote Control was turned off by your organization's policy` | [Troubleshoot Remote Control](/docs/ru/remote-control#remote-control-was-turned-off-by-your-organizations-policy) | | `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) | +| `Failed to authenticate: OAuth token revoked` | [Authentication](#oauth-token-revoked-or-expired) | +| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Authentication](#oauth-token-revoked-or-expired) | | `API Error: 401 Invalid authentication credentials` | [Authentication](#api-error-401-invalid-authentication-credentials) | | `Login expired · Please run /login` | [Authentication](#login-expired) | | `Failed to start OAuth callback server` | [Authentication](#failed-to-start-oauth-callback-server) | @@ -164,6 +168,7 @@ | `Can't switch to the default model` | [Request errors](#cant-switch-to-the-default-model) | | `Model switch ... blocked by a PreModelSwitch hook` | [Request errors](#model-switch-was-blocked-by-a-premodelswitch-hook) | | `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [Request errors](#couldnt-save-it-as-your-default) | +| `is less capable than the current main model` / `Advisor will not activate on the main model` / `cannot advise` | [Request errors](#advisor-is-less-capable-than-the-current-main-model) | | `thinking.type.enabled is not supported for this model` | [Request errors](#thinking-type-enabled-is-not-supported-for-this-model) | | `Effort '' isn't available with thinking turned off on this model` | [Request errors](#effort-isnt-available-with-thinking-turned-off) | | `effort '' is not supported when thinking is disabled` | [Request errors](#effort-isnt-available-with-thinking-turned-off) | @@ -186,6 +191,7 @@ | `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) | | `Download timed out: exceeded the total deadline` | [Installation errors](#the-connection-dropped-while-downloading-the-update) | | `--bg and --print conflict` | [Command-line errors](#conflict-between-bg-and-print) | +| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Command-line errors](#conflict-between-a-system-prompt-flag-and-its-file-form) | | `Cloud sessions cannot be created from a --restricted session` | [Command-line errors](#cloud-sessions-cannot-be-created-from-a-restricted-session) | | `Cloud sessions are disabled by your organization's policy` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) | | `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) | @@ -203,6 +209,7 @@ | `Could not read Claude Code config` | [Command-line errors](#could-not-read-claude-code-config) | | `Could not import : ` | [Command-line errors](#could-not-import-a-server-from-claude-desktop) | | `Cannot add MCP server to scope: managed` | [Command-line errors](#cannot-add-mcp-server-to-the-managed-scope) | +| `Cannot add MCP server: your organization's managed settings allow only MCP servers that plugins provide` | [Command-line errors](#cannot-add-mcp-server-when-managed-settings-allow-only-plugin-servers) | | `is Anthropic-hosted and doesn't support local OAuth` | [Command-line errors](#anthropic-hosted-and-doesnt-support-local-oauth) | | `Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes` | [Command-line errors](#cant-read-mcp-json) | | `MCP server "" was not saved to` / `was not removed from` | [Command-line errors](#mcp-server-was-not-saved-or-removed) | @@ -215,6 +222,7 @@ | `Shell command permission check failed for pattern "..."`, from a skill that injects dynamic context | [Command-line errors](#security-review-fails-without-origin-head) | | ``Skill requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Command-line errors](#security-review-fails-without-origin-head) | | `Input must be provided either through stdin or as a prompt argument when using --print` | [Command-line errors](#input-must-be-provided-when-using-print) | +| `Claude Code can't read the keyboard here: stdin is not a terminal` | [Command-line errors](#claude-code-cant-read-the-keyboard-here) | | `Error: Input contained only whitespace` | [Command-line errors](#input-contained-only-whitespace) | | `Blank prompt — the message was only whitespace, so nothing was sent to the model.` | [Command-line errors](#input-contained-only-whitespace) | | `Error: stream-json input carried over 256M characters with no newline` | [Command-line errors](#stream-json-input-carried-over-256m-characters-with-no-newline) | @@ -227,6 +235,9 @@ | `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Command-line errors](#the-github-app-preflight-failed-transiently) | | `Not uploading this working tree` with `the upload cannot follow that setting` | [Command-line errors](#the-repository-upload-cant-follow-a-git-setting) | | `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Command-line errors](#github-isnt-connected-to-your-claude-account) | +| `Your GitHub organization has an IP allowlist that is blocking Claude` | [Command-line errors](#a-github-organization-policy-is-blocking-claude) | +| `Your GitHub organization requires single sign-on` | [Command-line errors](#a-github-organization-policy-is-blocking-claude) | +| `Your GitHub organization's identity provider (Microsoft Entra ID) has a Conditional Access policy that is blocking Claude` | [Command-line errors](#a-github-organization-policy-is-blocking-claude) | | `Single sign-on authorization needed` | [Command-line errors](#single-sign-on-authorization-needed) | | `Failed to resume the conversation` | [Command-line errors](#failed-to-resume-the-conversation) | | `No conversation found with session ID: ` | [Command-line errors](#no-conversation-found-with-the-session-id) | @@ -240,16 +251,21 @@ | `Skill usage reports are not available on this connection.` | [Command-line errors](#skill-usage-reports-are-not-available-on-this-connection) | | `Custom output styles can't be selected over Remote Control or from a relayed message` | [Command-line errors](#custom-output-styles-cant-be-selected-over-remote-control) | | `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Command-line errors](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) | +| `/recap only runs when you ask for it yourself in this session` | [Command-line errors](#recap-only-runs-when-you-ask-for-it-yourself) | | `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Plugin errors](#plugin-eval-is-currently-in-early-access) | | `Marketplace "" is registered from an untrusted source` | [Plugin errors](#marketplace-is-registered-from-an-untrusted-source) | | `Claude Code refuses the marketplace name ""` | [Plugin errors](#claude-code-refuses-the-marketplace-name) | | `Marketplace name impersonates an official Anthropic/Claude marketplace` | [Plugin errors](#claude-code-refuses-the-marketplace-name) | | `Marketplace "" is already added from a different source` | [Plugin errors](#marketplace-is-already-added-from-a-different-source) | | `"" is another spelling of "", a reserved marketplace name` | [Plugin errors](#marketplace-name-is-another-spelling-of-a-reserved-name) | +| `Marketplace "" is added but ignored` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#marketplace-is-added-but-ignored) | +| `Marketplace "" is registered but was refused (see the debug log)` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#marketplace-is-added-but-ignored) | | `references ${user_config.*} in a shell-form command` | [Plugin errors](#plugin-command-references-user-config) | | `Monitor "" from plugin references ${user_config.*} in its command` | [Plugin errors](#plugin-command-references-user-config) | | `headersHelper for MCP server '' references ${user_config.*}` | [Plugin errors](#plugin-command-references-user-config) | | `Plugin archive integrity check failed` | [Plugin errors](#plugin-archive-integrity-check-failed) | +| `An npm plugin source must name a registry package` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) | +| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#the-packages-it-lists-are-not-installed) | | `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) | | `path could not be checked` | [Plugin errors](#path-could-not-be-checked) | | `its marketplace entry path does not stay inside the marketplace directory` | [Plugin errors](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) | @@ -260,6 +276,7 @@ | `"" was not uninstalled: it is still switched on in ` | [Plugin errors](#plugin-was-not-uninstalled) | | `"" was not uninstalled: is there and could not be read` | [Plugin errors](#plugin-was-not-uninstalled) | | `Plugin "" was not uninstalled: installed_plugins.json` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) | +| `Error: No such tool available: ` | [Tool errors](#no-such-tool-available) | | `would be spawned with zero tools — refusing` | [Tool errors](#agent-would-be-spawned-with-zero-tools) | | `File is covered by a Read deny rule in your permission settings` | [Tool errors](#file-is-covered-by-a-read-deny-rule) | | `cannot contain null bytes (\0)` | [Tool errors](#path-cannot-contain-null-bytes) | @@ -287,6 +304,7 @@ | `Command output was lost: the temp filesystem at is full` / `is out of inodes` | [Tool errors](#disk-quota-or-temp-filesystem-is-full) | | `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) | | `the source file has the replacement character U+FFFD` | [Tool errors](#the-source-file-is-not-valid-utf-8-text) | +| `Not published: that file is on a network share` | [Tool errors](#not-published-that-file-is-on-a-network-share) | | `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Tool errors](#reading-a-local-file-from-outside-the-connected-folders) | | `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [Tool errors](#reading-a-local-file-from-outside-the-connected-folders) | | `WebFetch cannot fetch localhost or other hostnames without a dot` | [Tool errors](#webfetch-cannot-fetch-localhost) | @@ -342,6 +360,7 @@ | `Unable to read managed policy settings` | [Configuration warnings](#unable-to-read-managed-policy-settings) | | `otelHeadersHelper failed; telemetry is not being exported. See /status: ...` | [Configuration warnings](#otelheadershelper-failed) | | `"crossSessionInbound" must be one of "accept", "hold", "refuse"` | [Configuration warnings](#crosssessioninbound-must-be-one-of-accept-hold-refuse) | +| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [Configuration warnings](#anthropic-foundry-resource-must-be-a-foundry-resource-name) | | `headersHelper not run — this workspace has no persisted trust` | [Configuration warnings](#headershelper-not-run) | | `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [Configuration warnings](#malformed-tool-content-rule) | | `... is not matched by file permission checks` | [Configuration warnings](#is-not-matched-by-file-permission-checks) | @@ -359,47 +378,48 @@ Claude Code повторяет временные сбои до 10 раз с э 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 никогда не отвечает заголовками ответа, на соединении, где [первый байт дедлайна работает](/docs/ru/network-config#streaming-idle-watchdogs): Claude Code прерывает его в дедлайне и повторно отправляет его максимум один раз за запрос модели, в пределах бюджета повторных попыток, затем завершает ход с [No response from API](#no-response-from-api), если эта попытка также остаётся без ответа. На других соединениях запрос ждёт `API_TIMEOUT_MS`. Когда вы устанавливаете `CLAUDE_CODE_RETRY_WATCHDOG`, ограничение на одну повторную попытку не применяется. -* Временные дроссели 429, но не лимит расходов шлюза `429`, который не является дросселем; см. [Spend limit reached](#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 мог повторно отправить уменьшенный запрос, который всё ещё не подходил, например когда бюджет расширенного размышления превышал оставшийся контекст, пока не закончился бюджет повторных попыток. +* Ошибки сервера, перегруженные ответы и таймауты запросов, которые приходят до того, как какая-либо часть ответа Claude начнёт передаваться потоком. +* Ошибка сервера или ответ о перегрузке, который приходит после того, как Claude завершил размышления, но до того, как он начал какой-либо текст или вызов инструмента. В этот момент Claude Code повторяет попытку при ошибке сервера до двух раз. До v2.1.284 Claude Code в этот момент завершал ход с ошибкой. +* Разорванные соединения. Когда соединение разрывается в середине запроса до того, как 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 никогда не отвечает заголовками ответа, на соединении, где [действует дедлайн первого байта](/docs/ru/network-config#streaming-idle-watchdogs): Claude Code прерывает его по истечении дедлайна и повторно отправляет его максимум один раз за запрос модели, в пределах бюджета повторных попыток, затем завершает ход с [No response from API](#no-response-from-api), если эта попытка также остаётся без ответа. На других соединениях запрос ждёт `API_TIMEOUT_MS`. Когда вы устанавливаете `CLAUDE_CODE_RETRY_WATCHDOG`, ограничение на одну повторную попытку не применяется. +* Временные дроссели 429, но не `429` лимита расходов шлюза, который не является дросселем; см. [Spend limit reached](#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](/docs/ru/google-vertex-ai), или учётные данные AWS, которые не загружаются на вашей машине. Claude Code отбрасывает свои кэшированные учётные данные и повторяет попытку до двух раз, затем сообщает об ошибке, чтобы вы могли повторно пройти аутентификацию сразу же, как описано в разделе [Could not load AWS or Google Cloud credentials](#could-not-load-aws-or-google-cloud-credentials). До v2.1.228 Claude Code повторял неудачные учётные данные Google Cloud через полный бюджет повторных попыток перед отображением ошибки. -* `401` или `403` из Anthropic API, напрямую или через [LLM gateway](/docs/ru/llm-gateway), пока скрипт [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) предоставляет учётные данные. Claude Code повторно запускает скрипт и повторяет попытку с его свежим выводом, в пределах полного бюджета повторных попыток. Когда сам скрипт не работает при повторном запуске, Claude Code вместо этого показывает [Your apiKeyHelper script is failing](#your-apikeyhelper-script-is-failing). +* `401` или `403` из Anthropic API, напрямую или через [LLM-шлюз](/docs/ru/llm-gateway), пока скрипт [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) предоставляет учётные данные. Claude Code повторно запускает скрипт и повторяет попытку с его свежим выводом, в пределах полного бюджета повторных попыток. Когда сам скрипт не работает при повторном запуске, Claude Code вместо этого показывает [Your apiKeyHelper script is failing](#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](#ssl-certificate-errors). Claude Code по-прежнему повторяет временные условия TLS, такие как тайм-аут рукопожатия. До v2.1.199 Claude Code повторял сбои сертификатов через полный бюджет повторных попыток перед отображением ошибки. -* Ошибка сервера, разорванное соединение или застопорившийся поток, который приходит после того, как Claude завершил блок текста или вызов инструмента, или начал один после завершения своего размышления, но до завершения ответа. Claude Code не повторно запускает запрос, потому что это может выполнить одни и те же вызовы инструментов дважды. Он сохраняет то, что Claude завершил, запускает любые вызовы инструментов, которые Claude завершил, и продолжает ход из их результатов. Для того, что вы видите в интерактивном сеансе и в неинтерактивном, прочитайте [The response above may be incomplete](#the-response-above-may-be-incomplete). До v2.1.199 Claude Code отбрасывал частичный вывод и сообщал об всём ходе как об ошибке, когда ошибка сервера приходила в середине потока. +* Сбой проверки сертификата TLS, такой как TLS-инспектирующий прокси, отсутствующий пакет `NODE_EXTRA_CA_CERTS` или истёкший сертификат. Claude Code сообщает об ошибке при первой попытке, чтобы вы могли сразу же исправить настройку сертификата; см. [SSL certificate errors](#ssl-certificate-errors). Claude Code по-прежнему повторяет временные условия TLS, такие как таймаут рукопожатия. До v2.1.199 Claude Code повторял сбои сертификатов через полный бюджет повторных попыток перед отображением ошибки. +* Ошибка сервера, разорванное соединение или застопорившийся поток, который приходит после того, как Claude завершил блок текста или вызов инструмента, или начал один после завершения своих размышлений, но до завершения ответа. Claude Code не запускает запрос повторно, потому что это может выполнить одни и те же вызовы инструментов дважды. Он сохраняет то, что Claude завершил, запускает любые вызовы инструментов, которые Claude завершил, и продолжает ход из их результатов. О том, что вы видите в интерактивной сессии и в неинтерактивной, прочитайте [The response above may be incomplete](#the-response-above-may-be-incomplete). До v2.1.199 Claude Code отбрасывал частичный вывод и сообщал обо всём ходе как об ошибке, когда ошибка сервера приходила в середине потока. * Сбой, который приходит после того, как Claude завершил ответ: повторная попытка не требуется, поэтому Claude Code сохраняет полный ответ и завершает ход нормально. * [Amazon Bedrock streaming response with an unexpected content-type](#bedrock-streaming-response-has-an-unexpected-content-type), потому что шлюз или прокси, переписывающие ответ, переписали бы повторную попытку таким же образом. Требуется Claude Code v2.1.208 или позже. -* Неполная повторная попытка потокового запроса, который получает статус успеха, но [no Claude API message in the body](#api-returned-an-empty-or-malformed-response). Claude Code завершает ход с этой ошибкой. -* Запрос, который проверка политики вашей организации отклонила, который отображается как строка `API Error:`, содержащая сообщение об отказе. Администраторы вашей организации настроили проверку с помощью [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks), функции Claude Enterprise, и сообщение заканчивается инструкциями, которые они настроили, или по умолчанию говорит вам связаться с ними. Claude Code не повторно отправляет отклонённый запрос на ту же модель или на [fallback model](/docs/ru/model-config#fallback-model-chains), потому что отказ касается содержимого запроса, а не модели. До v2.1.239 Claude Code мог повторно отправить отклонённый запрос без потока или на настроенную резервную модель перед отображением отказа. +* Непотоковая повторная попытка неудавшегося потокового запроса, которая получает статус успеха, но [no Claude API message in the body](#api-returned-an-empty-or-malformed-response). Claude Code завершает ход с этой ошибкой. +* Запрос, который проверка политики вашей организации отклонила, который отображается как строка `API Error:`, содержащая сообщение об отказе. Администраторы вашей организации настроили проверку с помощью [Inference hooks](https://platform.claude.com/docs/en/manage-claude/inference-hooks), функции Claude Enterprise, и сообщение заканчивается инструкциями, которые они настроили, или по умолчанию говорит вам связаться с ними. Claude Code не отправляет отклонённый запрос повторно на ту же модель или на [резервную модель](/docs/ru/model-config#fallback-model-chains), потому что отказ касается содержимого запроса, а не модели. До v2.1.239 Claude Code мог повторно отправить отклонённый запрос без потоковой передачи или на настроенную резервную модель перед отображением отказа.

Что вы видите, пока Claude Code повторяет или ждёт

-Во время повторной попытки спиннер показывает обратный отсчёт `Retrying in Ns · attempt x/y` после метки ошибки. Метка называет конкретную причину с первой попытки для сбоев, на которые вы можете действовать сразу же: сеть отключена, рукопожатие TLS не удалось, или вы достигли лимита скорости. Для других ошибок сначала читается `API error`. Начиная с v2.1.198 он переключается на конкретную причину с третьей попытки, или при последней попытке, когда `CLAUDE_CODE_MAX_RETRIES` позволяет менее трёх; более ранние версии переключаются только при последней попытке. +Во время повторной попытки спиннер показывает обратный отсчёт `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, или хост поставщика или шлюза, названный в сообщении на других конфигурациях. +Начиная с v2.1.198 обычный совет спиннера подавляется во время повторных попыток. После того как причина ошибки раскрыта, если сбой является перегрузкой 529, строка ниже обратного отсчёта также называет, где проверить статус услуги: `status.claude.com` на Anthropic API, или хост поставщика или шлюза, названный в сообщении, в других конфигурациях. -Если никакие данные не поступают в поток ответа в течение 20 секунд, пока запрос всё ещё ожидается, спиннер показывает `Waiting for API response · will retry in … · check your network` перед началом любой повторной попытки. Запрос ещё не завершился: обратный отсчёт работает до точки, где Claude Code прерывает застопорившееся соединение. После прерывания то, что вы видите, зависит от того, как далеко продвинулся ответ: +Если никакие данные не поступают в поток ответа в течение 20 секунд, пока запрос всё ещё ожидается, спиннер показывает `Waiting for API response · will retry in … · check your network` перед началом любой повторной попытки. Запрос ещё не завершился неудачей: обратный отсчёт идёт до момента, когда Claude Code прерывает застопорившееся соединение. После прерывания то, что вы видите, зависит от того, как далеко продвинулся ответ: -* До того, как Claude завершил блок текста или вызов инструмента, или начал один после завершения своего размышления, Claude Code повторяет запрос или завершает ход с ошибкой. [Automatic retries](#automatic-retries) говорит, какие застои он повторяет и сколько раз. -* После того, как Claude завершил блок текста или вызов инструмента, или начал один после завершения своего размышления, но до того, как Claude завершил ответ, Claude Code сохраняет то, что Claude завершил, продолжает ход из любых вызовов инструментов, которые Claude завершил, и показывает [The response above may be incomplete](#the-response-above-may-be-incomplete). В неинтерактивном сеансе и для ответа подагента в любом сеансе Claude Code может сначала предложить Claude продолжить ответ; эта запись говорит, когда это происходит и когда вы всё ещё видите уведомление там. +* До того, как Claude завершил блок текста или вызов инструмента, или начал один после завершения своих размышлений, Claude Code повторяет запрос или завершает ход с ошибкой. [Automatic retries](#automatic-retries) говорит, какие застои он повторяет и сколько раз. +* После того, как Claude завершил блок текста или вызов инструмента, или начал один после завершения своих размышлений, но до того, как Claude завершил ответ, Claude Code сохраняет то, что Claude завершил, продолжает ход из любых вызовов инструментов, которые Claude завершил, и показывает [The response above may be incomplete](#the-response-above-may-be-incomplete). В неинтерактивной сессии и для ответа субагента в любой сессии Claude Code может сначала предложить Claude продолжить ответ; эта запись говорит, когда это происходит и когда вы всё ещё видите уведомление там. * После того, как Claude завершил ответ, Claude Code завершает ход нормально. Баннер очищается сам по себе, как только данные возобновляются или повторная попытка успешна. Если он появляется при каждой попытке, рассматривайте это как [network issue](#unable-to-connect-to-api). До v2.1.185 баннер появлялся через 10 секунд с другой формулировкой. -Пока Claude консультируется с [advisor](/docs/ru/advisor), баннер появляется через 90 секунд без данных вместо 20, потому что длительный обзор советника может не отправлять ничего более 20 секунд. До v2.1.214 порог в 20 секунд применялся и во время вызовов советника, поэтому баннер появлялся во время обзоров советника даже когда ничего не было неправильно. +Пока Claude консультируется с [advisor](/docs/ru/advisor), баннер появляется через 90 секунд без данных вместо 20, потому что длительный обзор советника может не отправлять ничего более 20 секунд. До v2.1.214 порог в 20 секунд применялся и во время вызовов советника, поэтому баннер появлялся во время обзоров советника, даже когда всё было в порядке.

Настройка поведения повторных попыток @@ -409,16 +429,16 @@ Claude Code не повторяет эти сбои: | Переменная | По умолчанию | Эффект | | :- | :- | :- | -| [`CLAUDE_CODE_MAX_RETRIES`](/docs/ru/env-vars) | 10 | Количество попыток повторной попытки. Ограничено 15 начиная с v2.1.186; начиная с v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` повышает значение по умолчанию и удаляет ограничение. Снизьте его, чтобы быстрее выявлять сбои в скриптах. | -| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ru/env-vars) | не установлено | Установите на `1` в автоматических сеансах, таких как задания CI, чтобы повторять ошибки пропускной способности `429` и `529` бесконечно вместо отказа после `CLAUDE_CODE_MAX_RETRIES` попыток. Claude Code отказывает сразу же при `429`, который сообщает о лимите расходов или исчерпанных кредитах использования, даже при одном из [gateway spend cap](#spend-limit-reached), который сбрасывается по расписанию. До v2.1.239 сторож повторял эти бесконечно. На v2.1.199 или позже он также повышает количество повторных попыток по умолчанию для других временных ошибок, таких как ошибки сервера, тайм-ауты и разорванные соединения, до 300, примерно три часа задержки, и удаляет ограничение 15 на `CLAUDE_CODE_MAX_RETRIES`, если вы явно установите эту переменную. Для запросов в режиме быстрого выполнения см. [Handle rate limits](/docs/ru/fast-mode#handle-rate-limits). | -| [`API_TIMEOUT_MS`](/docs/ru/env-vars) | 600000 | Тайм-аут для каждого запроса в миллисекундах. Повысьте его для медленных сетей или прокси. Он также ограничивает, как долго Claude Code ждёт заголовков ответа, описано в [No response from API](#no-response-from-api). | -| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/ru/env-vars) | не установлено | Дедлайн в миллисекундах для первого байта ответа потокового запроса. Требуется Claude Code v2.1.242 или позже. Для того, как Claude Code выбирает дедлайн, когда это не установлено, см. [No response from API](#no-response-from-api). | +| [`CLAUDE_CODE_MAX_RETRIES`](/docs/ru/env-vars) | 10 | Количество повторных попыток. Ограничено 15 начиная с v2.1.186; начиная с v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` повышает значение по умолчанию и удаляет ограничение. Снизьте его, чтобы быстрее выявлять сбои в скриптах. | +| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ru/env-vars) | не установлено | Установите значение `1` в автоматических сессиях, таких как задания CI, чтобы повторять ошибки пропускной способности `429` и `529` бесконечно вместо отказа после `CLAUDE_CODE_MAX_RETRIES` попыток. Claude Code сразу завершается с ошибкой, когда запрос со стандартной скоростью получает `429`, который сообщает о лимите расходов или исчерпанных кредитах использования, даже если это `429` от [gateway spend cap](#spend-limit-reached), который сбрасывается по расписанию. До v2.1.239 сторож повторял такие запросы бесконечно. Для запросов в быстром режиме см. [Handle rate limits](/docs/ru/fast-mode#handle-rate-limits). На v2.1.199 или позже он также повышает количество повторных попыток по умолчанию для других временных ошибок, таких как ошибки сервера, таймауты и разорванные соединения, до 300, примерно три часа задержки, и удаляет ограничение 15 на `CLAUDE_CODE_MAX_RETRIES`, если вы явно установите эту переменную. | +| [`API_TIMEOUT_MS`](/docs/ru/env-vars) | 600000 | Таймаут для каждого запроса в миллисекундах. Повысьте его для медленных сетей или прокси. Он также ограничивает, как долго Claude Code ждёт заголовков ответа, как описано в [No response from API](#no-response-from-api). | +| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/ru/env-vars) | не установлено | Дедлайн в миллисекундах для первого байта ответа потокового запроса. Требуется Claude Code v2.1.242 или позже. О том, как Claude Code выбирает дедлайн, когда эта переменная не установлена, см. [No response from API](#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](#auto-mode-cannot-determine-the-safety-of-an-action) и [Agent terminated early due to an API error](#agent-terminated-early-due-to-an-api-error) также охватывают причины на вашей стороне, такие как учетная запись Amazon Bedrock, которая не может вызвать модель классификатора, или подагент, который достиг лимита использования. +Большинство этих ошибок поступают от поставщика вывода: сервиса Anthropic на Anthropic API и сервиса за эндпоинтом этого поставщика на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или пользовательском шлюзе. Разделы [Auto mode cannot determine the safety of an action](#auto-mode-cannot-determine-the-safety-of-an-action) и [Agent terminated early due to an API error](#agent-terminated-early-due-to-an-api-error) также охватывают причины на вашей стороне, например учетную запись Amazon Bedrock, которая не может вызвать модель классификатора, или субагента, который достиг лимита использования.

API Error: 500 Internal server error @@ -430,39 +450,39 @@ Claude Code отображает код состояния и сообщение 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` указывает на хост шлюза. +Завершающее предложение указывает, где проверить состояние сервиса, и зависит от поставщика. Для конфигураций Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry указывается страница статуса этого поставщика. Для пользовательского `ANTHROPIC_BASE_URL` указывается хост шлюза. -5xx от самого API указывает на неожиданный сбой внутри API. Это не вызвано вашим приглашением, настройками или учетной записью. +Ошибка 5xx от самого API указывает на неожиданный сбой внутри API. Она не вызвана вашим промптом, настройками или учетной записью. -Когда прокси, балансировщик нагрузки или шлюз отвечает страницей ошибки HTML, сообщение показывает код состояния и заголовок страницы, такой как `API Error: 502 Bad Gateway`. Для страницы без заголовка сообщение показывает код состояния и его стандартное имя вместо этого. До v2.1.281 код состояния был удален, когда страница имела заголовок, и разметка страницы была напечатана в сыром виде, когда она не имела. +Когда прокси, балансировщик нагрузки или шлюз отвечает HTML-страницей ошибки, сообщение показывает код состояния и заголовок страницы, например `API Error: 502 Bad Gateway`. Для страницы без заголовка сообщение вместо этого показывает код состояния и его стандартное название. До v2.1.281 код состояния терялся, если у страницы был заголовок, а если заголовка не было, выводилась необработанная разметка страницы. **Что делать:** * Проверьте [status.claude.com](https://status.claude.com) или страницу статуса поставщика, указанную в сообщении, на предмет активных инцидентов -* Подождите минуту, затем отправьте сообщение еще раз. Ваше исходное сообщение все еще находится в разговоре, поэтому для длинного приглашения вы можете ввести `try again` вместо вставки всего текста. -* Если ошибка сохраняется без опубликованного инцидента, запустите `/feedback`, чтобы Anthropic могла расследовать детали вашего запроса. См. [Report an error](#report-an-error), если `/feedback` недоступен в вашей среде. +* Подождите минуту, затем отправьте сообщение еще раз. Ваше исходное сообщение все еще находится в диалоге, поэтому для длинного промпта вы можете ввести `try again` вместо вставки всего текста. +* Если ошибка сохраняется без опубликованного инцидента, запустите `/feedback`, чтобы Anthropic могла расследовать проблему с деталями вашего запроса. См. [Сообщить об ошибке](#report-an-error), если `/feedback` недоступен в вашей среде.

API Error: Repeated 529 Overloaded errors

-API временно работает на полную мощность для всех пользователей. Claude Code уже несколько раз повторил попытку перед отображением этого сообщения: +API временно работает на пределе мощности для всех пользователей. Claude Code уже несколько раз повторил попытку перед отображением этого сообщения: ```text theme={null} 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 выше. +Завершающее предложение зависит от поставщика так же, как в ошибке 500 выше. -529 — это не ваш лимит использования и не учитывается в вашей квоте. +Ошибка 529 — это не ваш лимит использования, и она не учитывается в вашей квоте. **Что делать:** -* Проверьте [status.claude.com](https://status.claude.com) или страницу статуса поставщика, указанную в сообщении, на предмет уведомлений о емкости +* Проверьте [status.claude.com](https://status.claude.com) или страницу статуса поставщика, указанную в сообщении, на предмет уведомлений о нехватке мощности * Повторите попытку через несколько минут -* Запустите `/model` и переключитесь на другую модель, чтобы продолжить работу, так как емкость отслеживается для каждой модели. Claude Code предлагает вам это сделать, когда одна модель испытывает особенно высокую нагрузку, например `Opus is experiencing high load, please use /model to switch to Sonnet`. На моделях Fable сообщение называет Fable. +* Запустите `/model` и переключитесь на другую модель, чтобы продолжить работу, так как мощность отслеживается для каждой модели отдельно. Claude Code предлагает вам это сделать, когда одна модель испытывает особенно высокую нагрузку, например `Opus is experiencing high load, please use /model to switch to Sonnet`. На моделях Fable сообщение называет Fable. - В сессии, которую запускает приложение Claude Desktop, такой как вкладка Code или Cowork, сообщение читается как `Opus is experiencing high load. Switch to Sonnet.` и вы переключаете модели с помощью средства выбора модели приложения. + В сессии, которую запускает приложение Claude Desktop, например во вкладке Code или в Cowork, сообщение выглядит как `Opus is experiencing high load. Switch to Sonnet.`, и вы переключаете модели с помощью средства выбора модели в приложении.

Request timed out @@ -474,45 +494,45 @@ API не ответил до истечения срока подключени Request timed out ``` -Это может произойти в периоды высокой нагрузки или когда модель генерирует очень большой ответ. Время ожидания запроса по умолчанию составляет 10 минут. +Это может произойти в периоды высокой нагрузки или когда модель генерирует очень большой ответ. Таймаут запроса по умолчанию составляет 10 минут. **Что делать:** * Повторите запрос -* Если причина в медленной сети или прокси, увеличьте `API_TIMEOUT_MS`, как описано в [Automatic retries](#automatic-retries) -* Если тайм-ауты частые и ваша сеть в остальном здорова, см. [Network and connection errors](#network-and-connection-errors) ниже +* Если причина в медленной сети или прокси, увеличьте `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](#tune-retry-behavior) позволяет. Когда повторная попытка также остается без ответа, ход завершается этим сообщением, которое показывает, как долго ждала каждая попытка. Когда вы устанавливаете [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ru/env-vars), ограничение на одну повторную попытку не применяется и Claude Code повторяет попытки в соответствии с бюджетом, описанным в [Tune retry behavior](#tune-retry-behavior). +Claude Code отправил потоковый запрос, и API не вернул заголовки ответа в течение срока ожидания первого байта, поэтому Claude Code прервал запрос вместо ожидания полного таймаута запроса `API_TIMEOUT_MS`, по умолчанию 10 минут. Claude Code отправляет запрос повторно не более одного раза, если это позволяет [бюджет повторных попыток](#tune-retry-behavior). Когда повторная попытка тоже остается без ответа, ход завершается этим сообщением, которое показывает, сколько ждала каждая попытка. Когда вы устанавливаете [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ru/env-vars), ограничение в одну повторную попытку не применяется, и Claude Code повторяет попытки в рамках бюджета, описанного в разделе [Настройка поведения повторных попыток](#tune-retry-behavior). ```text theme={null} 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 Code задает время ожидания заголовков ответа для первой попытки и для повторной попытки отдельно: -* **Первая попытка**: [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/ru/env-vars) когда вы устанавливаете его на 1 или более, ограничено между 10 секундами и 30 минутами. В противном случае Claude Code использует тайм-аут байт-уровня watchdog, указанный в [Streaming idle watchdogs](/docs/ru/network-config#streaming-idle-watchdogs), поэтому переменные, которые изменяют этот тайм-аут, изменяют это ожидание тоже. В любом случае Claude Code добавляет одну секунду на каждые 32 КБ тела запроса. -* **Повторная попытка**: на одну секунду меньше `API_TIMEOUT_MS`, чуть менее 10 минут по умолчанию, чтобы повторная попытка могла пережить прокси или шлюз, который держит ответ до завершения генерации. На Amazon Bedrock повторная попытка использует тот же срок, что и первая попытка, и сообщение показывает одну длительность вместо двух. +* **Первая попытка**: [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/ru/env-vars), если вы установили значение 1 или больше, ограниченное диапазоном от 10 секунд до 30 минут. В противном случае Claude Code использует таймаут байтового watchdog, указанный в разделе [Streaming idle watchdogs](/docs/ru/network-config#streaming-idle-watchdogs), поэтому переменные, изменяющие этот таймаут, изменяют и это ожидание. В любом случае Claude Code добавляет одну секунду на каждые 32 КБ тела запроса. +* **Повторная попытка**: на одну секунду меньше `API_TIMEOUT_MS`, по умолчанию чуть менее 10 минут, чтобы повторная попытка могла дождаться прокси или шлюза, который удерживает ответ до завершения генерации. На Amazon Bedrock повторная попытка использует тот же срок, что и первая, и сообщение показывает одну длительность вместо двух. -Ни одно ожидание не превышает одну секунду меньше положительного `API_TIMEOUT_MS`, и положительный `API_TIMEOUT_MS` менее 11 секунд отключает срок. Байт-уровневый watchdog начинается только после получения заголовков ответа, поэтому ответ, который перестает отправлять байты после этого, следует [stalled-stream rules](#automatic-retries) вместо этого срока. +Ни одно ожидание не превышает положительное значение `API_TIMEOUT_MS` минус одна секунда, а положительное значение `API_TIMEOUT_MS` менее 11 секунд отключает этот срок. Байтовый watchdog запускается только после получения заголовков ответа, поэтому ответ, который после этого перестает отправлять байты, подчиняется [правилам для зависших потоков](#automatic-retries), а не этому сроку. **Что делать:** -* Отправьте сообщение еще раз. Ваше исходное сообщение все еще находится в разговоре, поэтому для длинного приглашения вы можете ввести `try again` вместо вставки всего текста. -* Если это повторяется, рассматривайте это как [network or proxy problem](#unable-to-connect-to-api). -* Если прокси или шлюз в вашей сети держит ответы до их завершения, увеличьте `API_TIMEOUT_MS`, чтобы повторная попытка ждала дольше. На Amazon Bedrock также увеличьте `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`. -* Если первая попытка продолжает истекать по времени, а повторная попытка затем успешна, увеличьте `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`, чтобы первая попытка также ждала достаточно долго. +* Отправьте сообщение еще раз. Ваше исходное сообщение все еще находится в диалоге, поэтому для длинного промпта вы можете ввести `try again` вместо вставки всего текста. +* Если это повторяется, рассматривайте это как [проблему сети или прокси](#unable-to-connect-to-api). +* Если прокси или шлюз в вашей сети удерживает ответы до их завершения, увеличьте `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 повторная попытка ждала тот же срок, что и первая попытка, и сообщение не показывало длительности. +До v2.1.242 Claude Code ждал полного таймаута запроса `API_TIMEOUT_MS`, по умолчанию 10 минут, прежде чем завершить потоковый запрос без ответа ошибкой. До v2.1.261 повторная попытка ждала тот же срок, что и первая, и сообщение не показывало длительности.

The response above may be incomplete

-Потоковый запрос не удался, пока ответ был еще в процессе, после того как Claude завершил блок текста или вызов инструмента, или начал один после завершения своего мышления. Повторная отправка запроса может запустить одни и те же вызовы инструментов дважды, поэтому Claude Code сохраняет выходные данные, которые Claude завершил, и добавляет это уведомление вместо отказа от хода. Какой вариант вы видите, указывает на причину: +Потоковый запрос завершился сбоем, когда ответ еще формировался, после того как Claude завершил блок текста или вызов инструмента либо начал его после завершения размышлений. Повторная отправка запроса может привести к двойному выполнению тех же вызовов инструментов, поэтому Claude Code сохраняет вывод, который Claude успел завершить, и добавляет это уведомление вместо того, чтобы отбросить ход. Вариант сообщения указывает на причину: ```text theme={null} API Error: Server error mid-response. The response above may be incomplete. @@ -523,42 +543,42 @@ API Error: Part of the response never arrived. The response above may be incompl API Error: The response stream was malformed. 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 рассматривает соединение как разорванное и прекращает чтение из него. -* `Part of the response never arrived`: событие потока было потеряно между API и Claude Code, поэтому более позднее событие ссылалось на содержимое, которое никогда не прибыло. До v2.1.281 этот случай завершал ход с `API Error: Content block not found`. -* `The response stream was malformed`: событие прибыло для блока содержимого, который уже завершился, или событие прибыло поврежденным. Поврежденное событие — это событие, чьи данные не являются действительным JSON, чье содержимое отсутствует или чье содержимое не соответствует типу события. До v2.1.284 ошибка парсера, такая как начинающаяся с `API Error: JSON Parse error`, появлялась вместо этого, когда событие с недействительным JSON прибыло после того, как Claude завершил свое мышление, блок текста или вызов инструмента. -* `The response stopped arriving`: соединение оставалось открытым, но перестало доставлять данные, поэтому потоковый idle watchdog прервал его. До v2.1.222 Claude Code также мог сообщить об этом сбое на [gateway](/docs/ru/gateways) соединениях, достигнутых через `ANTHROPIC_BASE_URL` или `ANTHROPIC_AWS_BASE_URL`, пока пинги keep-alive сервера все еще поступали, потому что он считал только проанализированные события ответа там; обновление останавливает эти ложные тайм-ауты на этих маршрутах. Шлюзы, достигнутые через URL базы поставщика, такой как `ANTHROPIC_BEDROCK_BASE_URL`, не обернуты байт-уровневым watchdog; см. [Streaming idle watchdogs](/docs/ru/network-config#streaming-idle-watchdogs). +* `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 считает соединение разорванным и прекращает чтение из него. +* `Part of the response never arrived`: событие потока было потеряно между API и Claude Code, поэтому более позднее событие ссылалось на содержимое, которое так и не поступило. До v2.1.281 в этом случае ход завершался с `API Error: Content block not found`. +* `The response stream was malformed`: поступило событие для блока содержимого, который уже завершился, или событие поступило поврежденным. Поврежденное событие — это событие, данные которого не являются допустимым JSON, содержимое которого отсутствует или не соответствует типу события. До v2.1.284 вместо этого появлялась необработанная ошибка парсера, например начинающаяся с `API Error: JSON Parse error`, когда событие с недопустимым JSON поступало после того, как Claude завершил размышления, блок текста или вызов инструмента. +* `The response stopped arriving`: соединение оставалось открытым, но перестало доставлять данные, поэтому потоковый idle watchdog прервал его. До v2.1.222 Claude Code также мог сообщать об этом сбое на соединениях со [шлюзом](/docs/ru/gateways) через `ANTHROPIC_BASE_URL` или `ANTHROPIC_AWS_BASE_URL`, пока от сервера все еще поступали keep-alive пинги, потому что там он учитывал только разобранные события ответа; обновление устраняет эти ложные таймауты на этих маршрутах. Шлюзы, к которым обращаются через базовый URL поставщика, например `ANTHROPIC_BEDROCK_BASE_URL`, не охватываются байтовым watchdog; см. [Streaming idle watchdogs](/docs/ru/network-config#streaming-idle-watchdogs). -До v2.1.227 `Connection lost mid-response` читалось как `Connection closed mid-response` и `The response stopped arriving` читалось как `Response stalled mid-stream`. +До v2.1.227 `Connection lost mid-response` выглядело как `Connection closed mid-response`, а `The response stopped arriving` — как `Response stalled mid-stream`. -Когда опущенное, дублированное или поврежденное событие потока прибывает до того, как Claude начал какой-либо текст или вызов инструмента, вы не видите это уведомление: +Когда потерянное, дублированное или поврежденное событие потока поступает до того, как Claude начал какой-либо текст или вызов инструмента, вы не видите это уведомление: -* Если Claude завершил только свое мышление, Claude Code переиздает запрос. Когда переизданные потоки ломаются таким же образом, ход завершается с `Part of the response never arrived and no response was produced. Try again.` или `The response stream was malformed and no response was produced. Try again.` -* Если ничего не завершилось, Claude Code повторно отправляет запрос без потоковой передачи вместо этого. Если вы отключили этот fallback с помощью [`CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK`](/docs/ru/env-vars), ход завершается с `API Error: Content block not found` для опущенного события или `API Error: Content block already closed` для дублированного. Для поврежденного события с отключенным fallback ход завершается с `API Error: Stream event unreadable` или ошибкой парсера. +* Если Claude завершил только размышления, Claude Code отправляет запрос заново. Если повторные потоки прерываются таким же образом, ход завершается с `Part of the response never arrived and no response was produced. Try again.` или `The response stream was malformed and no response was produced. Try again.` +* Если ничего не было завершено, Claude Code вместо этого повторно отправляет запрос без потоковой передачи. Если вы отключили этот резервный вариант с помощью [`CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK`](/docs/ru/env-vars), ход завершается с `API Error: Content block not found` для потерянного события или `API Error: Content block already closed` для дублированного. Для поврежденного события при отключенном резервном варианте ход завершается с `API Error: Stream event unreadable` или необработанной ошибкой парсера. -В четырех случаях Claude Code обрабатывает сбой без отображения этого уведомления сразу: +В четырех случаях Claude Code обрабатывает сбой, не показывая это уведомление сразу: -* Ранее в ответе Claude Code либо повторяет попытку сбоя, либо завершает ход с другой ошибкой. См. [Automatic retries](#automatic-retries). -* Когда один из этих сбоев поступает после того, как Claude завершил ответ, Claude Code сохраняет полный ответ и завершает ход нормально, без этого уведомления. До v2.1.222 Claude Code показывал это уведомление, когда соединение разорвалось или застопорилось после завершения ответа, и сообщал ход как ошибку, даже если ответ был полным. -* В [non-interactive session](/docs/ru/headless), такой как запуск `-p`, запуск [Agent SDK](/docs/ru/agent-sdk/overview) или [cloud session](/docs/ru/claude-code-on-the-web), вам не нужно отправлять `continue` самостоятельно, когда обрезанный ответ находится в основном разговоре и содержит текст, но не вызовы инструментов: Claude Code сохраняет частичный выход и предлагает Claude продолжить с того места, где он остановился, до трех раз подряд. Вы видите это уведомление для такого ответа только после того, как Claude Code исчерпал эти продолжения. До v2.1.246 Claude Code завершал неинтерактивный ход с этим уведомлением при первом обрезании. -* В [subagent](/docs/ru/sub-agents#api-errors-in-subagents), независимо от того, интерактивна ли сессия или нет: когда его обрезанный ответ содержит текст, но не вызовы инструментов, Claude Code предлагает подагенту продолжить. Уведомление становится последним сообщением подагента только после того, как эти продолжения исчерпаны. До v2.1.257 подагент показывал это уведомление при первом обрезании. +* На более раннем этапе ответа Claude Code либо повторяет попытку после сбоя, либо завершает ход с другой ошибкой. См. [Автоматические повторные попытки](#automatic-retries). +* Когда один из этих сбоев происходит после того, как Claude завершил ответ, Claude Code сохраняет полный ответ и завершает ход обычным образом, без этого уведомления. До v2.1.222 Claude Code показывал это уведомление, когда соединение разрывалось или зависало после завершения ответа, и сообщал о ходе как об ошибке, хотя ответ был полным. +* В [неинтерактивной сессии](/docs/ru/headless), например при запуске с `-p`, запуске через [Agent SDK](/docs/ru/agent-sdk/overview) или в [облачной сессии](/docs/ru/claude-code-on-the-web), вам не нужно самостоятельно отправлять `continue`, когда обрезанный ответ находится в основном диалоге и содержит текст, но не содержит вызовов инструментов: Claude Code сохраняет частичный вывод и предлагает Claude продолжить с того места, где он остановился, до трех раз подряд. Вы видите это уведомление для такого ответа только после того, как Claude Code исчерпал эти продолжения. До v2.1.246 Claude Code завершал неинтерактивный ход с этим уведомлением при первом же обрыве. +* В [субагенте](/docs/ru/sub-agents#api-errors-in-subagents), независимо от того, интерактивна ли сессия: когда его обрезанный ответ содержит текст, но не содержит вызовов инструментов, Claude Code предлагает субагенту продолжить. Уведомление становится последним сообщением субагента только после того, как эти продолжения исчерпаны. До v2.1.257 субагент показывал это уведомление при первом же обрыве. **Что делать:** -* В интерактивной сессии прочитайте ответ, который остается на экране: Claude Code сохраняет каждый блок, который Claude завершил перед ошибкой, но отбрасывает прерванный финальный блок, когда ход заканчивается, поэтому финальные предложения или вызовы инструментов могут отсутствовать. Ответьте с `continue`, чтобы Claude продолжил с его последнего завершенного блока. -* В [non-interactive mode](/docs/ru/headless) (`-p`): - * С выходом текста по умолчанию Claude Code печатает последний завершенный блок текста, который он все еще держит с более ранней части хода, за которым следует это сообщение. Когда он не держит ничего, Claude Code печатает только это сообщение, например, потому что Claude Code сжал разговор в середине хода и очистил этот текст. До v2.1.219 Claude Code печатал только это сообщение в выходе текста `-p` и отбрасывал ответ, который он уже произвел. - * С `--output-format json` или `stream-json` Claude Code сообщает об этом сообщении в поле `result`. - * Чтобы продолжить ход после стабилизации соединения, возобновите сессию и отправьте `continue`, как описано в [Continue conversations](/docs/ru/headless#continue-conversations). +* В интерактивной сессии прочитайте ответ, оставшийся на экране: Claude Code сохраняет каждый блок, который Claude завершил до ошибки, но отбрасывает прерванный последний блок при завершении хода, поэтому последние предложения или вызовы инструментов могут отсутствовать. Ответьте `continue`, чтобы Claude продолжил с последнего завершенного блока. +* В [неинтерактивном режиме](/docs/ru/headless) (`-p`): + * При текстовом выводе по умолчанию Claude Code выводит последний завершенный блок текста, который у него еще сохранился с более ранней части хода, а за ним это сообщение. Если такого блока нет, Claude Code выводит только это сообщение — например, потому что Claude Code сжал диалог посреди хода и очистил этот текст. До v2.1.219 Claude Code выводил только это сообщение в текстовом выводе `-p` и отбрасывал уже сформированный ответ. + * При `--output-format json` или `stream-json` Claude Code передает это сообщение в поле `result`. + * Чтобы продолжить ход после стабилизации соединения, возобновите сессию и отправьте `continue`, как описано в разделе [Продолжение диалогов](/docs/ru/headless#continue-conversations).

Auto mode cannot determine the safety of an action

-Модель, которую [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) использует для классификации действий, не смогла принять решение, поэтому auto mode не одобрил действие автоматически. Сообщение, которое вы видите, зависит от того, как классификатор не удался. +Модель, которую [авторежим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) использует для классификации действий, не смогла вынести решение, поэтому авторежим не одобрил действие автоматически. Сообщение, которое вы видите, зависит от характера сбоя классификатора. -Чтения, поиски и редактирования внутри вашего рабочего каталога пропускают классификатор, поэтому они продолжают работать во всех этих случаях. +Чтение, поиск и редактирование внутри вашего рабочего каталога не проходят через классификатор, поэтому во всех этих случаях они продолжают работать. Когда модель классификатора недоступна: @@ -566,19 +586,19 @@ API Error: The response stream was malformed. The response above may be incomple is temporarily unavailable, so auto mode cannot determine the safety of right now. Wait a moment and then try this action again. ``` -Когда Claude Code может определить категорию сбоя, он называет категорию в скобках после `temporarily unavailable`, например ` is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of right now`. Категории: `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` и `(connection failed)`. Если `(timed out)` или `(connection failed)` повторяется, проверьте ваше соединение; см. [Unable to connect to API](#unable-to-connect-to-api). До v2.1.229 сообщение никогда не называло категорию и читалось как `Wait briefly and then try this action again`. +Когда Claude Code может определить категорию сбоя, он указывает ее в скобках после `temporarily unavailable`, например ` is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of right now`. Категории: `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` и `(connection failed)`. Если `(timed out)` или `(connection failed)` повторяется, проверьте соединение; см. [Unable to connect to API](#unable-to-connect-to-api). До v2.1.229 сообщение никогда не указывало категорию и выглядело как `Wait briefly and then try this action again`. -Когда ни одна категория не подходит, сообщение появляется без категории в скобках; более одного сбоя производит эту форму. На [Amazon Bedrock](/docs/ru/amazon-bedrock), включая [Mantle endpoint](/docs/ru/amazon-bedrock#use-the-mantle-endpoint), это также появляется, когда ваша учетная запись AWS не может вызвать модель, указанную в сообщении, и этот сбой повторяется при каждой повторной попытке, пока вашей учетной записи не будет предоставлен доступ к модели. +Когда ни одна категория не подходит, сообщение появляется без категории в скобках; эту форму дают и несколько сбоев одновременно. На [Amazon Bedrock](/docs/ru/amazon-bedrock), включая [эндпоинт Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint), оно также появляется, когда ваша учетная запись AWS не может вызвать модель, указанную в сообщении, и этот сбой повторяется при каждой повторной попытке, пока вашей учетной записи не будет предоставлен доступ к модели. **Что делать:** -* Повторите попытку через несколько секунд; Claude видит то же сообщение и обычно повторяет попытку самостоятельно. Временный сбой не связан с [auto mode eligibility](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode); вам не нужно менять настройки -* Если повторные попытки продолжают не удаваться, продолжайте с задачами только для чтения и вернитесь к заблокированному действию позже -* На Amazon Bedrock, если сообщение возвращается при каждой повторной попытке, проверьте, что ваша учетная запись может вызвать модель, которую оно называет: для стандартных моделей Amazon Bedrock подтвердите, что ваша [IAM policy](/docs/ru/amazon-bedrock#iam-configuration) позволяет вызывать ее; для ID моделей Mantle [свяжитесь с вашей командой учетной записи AWS](/docs/ru/amazon-bedrock#mantle-endpoint-errors) +* Повторите попытку через несколько секунд; Claude видит то же сообщение и обычно повторяет попытку самостоятельно. Временный сбой не связан с [доступностью авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode); менять настройки не нужно +* Если повторные попытки продолжают завершаться неудачей, продолжайте работу с задачами только для чтения и вернитесь к заблокированному действию позже +* На Amazon Bedrock, если сообщение появляется при каждой повторной попытке, проверьте, может ли ваша учетная запись вызвать указанную в нем модель: для стандартных моделей Amazon Bedrock убедитесь, что ваша [политика IAM](/docs/ru/amazon-bedrock#iam-configuration) разрешает ее вызов; для ID моделей Mantle [свяжитесь с командой вашей учетной записи AWS](/docs/ru/amazon-bedrock#mantle-endpoint-errors) -Когда запрос классификатора не удается, потому что ваш OAuth токен истек или был повернут другой сессией, Claude Code обновляет токен и повторяет запрос один раз, поэтому обычное истечение токена не появляется как это сообщение. До v2.1.216 истекший или повернутый токен не удавался при каждом запросе классификатора, и auto mode отрицал каждое проверенное действие с этим сообщением, пока токен не был обновлен. +Когда запрос классификатора завершается сбоем, потому что ваш OAuth-токен истек или был заменен другой сессией, Claude Code обновляет токен и повторяет запрос один раз, поэтому обычное истечение срока действия токена не приводит к этому сообщению. До v2.1.216 истекший или замененный токен приводил к сбою каждого запроса классификатора, и авторежим отклонял каждое проверяемое действие с этим сообщением, пока токен не был обновлен. -Когда классификатор вернул непарсируемый ответ: +Когда классификатор вернул ответ, который не удалось разобрать: ```text theme={null} Auto mode could not evaluate this action and is blocking it for safety — run with --debug for details @@ -586,84 +606,84 @@ Auto mode could not evaluate this action and is blocking it for safety — run w **Что делать:** -* Повторите действие; это обычно успешно при следующей попытке -* Запустите `claude --debug` и повторите действие для деталей в журнале отладки +* Повторите действие; обычно следующая попытка проходит успешно +* Запустите `claude --debug` и повторите действие, чтобы получить подробности в логе отладки -Когда отдельная проверка безопасности API заблокировала запрос классификатора из-за более раннего содержимого разговора: +Когда отдельная проверка безопасности API заблокировала запрос классификатора из-за более раннего содержимого диалога: ```text theme={null} 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](/docs/ru/permission-modes#when-auto-mode-falls-back). В [non-interactive](/docs/ru/headless) запуске `-p` Claude Code не останавливает запуск. То, что получает Claude, зависит от того, где оно запросило действие: +Claude Code отклоняет действие, но сообщает Claude, что это не оценка действия как небезопасного, и что следует продолжить другие задачи, а не повторять попытку. Эти отказы не учитываются в [порогах приостановки авторежима](/docs/ru/permission-modes#when-auto-mode-falls-back). При [неинтерактивном](/docs/ru/headless) запуске с `-p` Claude Code не останавливает выполнение. Что получает Claude, зависит от того, где было запрошено действие: -* К [background subagent](/docs/ru/sub-agents#run-subagents-in-foreground-or-background) в запуске `-p` без `--input-format stream-json` Claude Code возвращает результат ошибки, содержащий `Agent aborted: auto mode classifier request refused by the safety safeguard in headless mode` -* Везде, включая интерактивные сессии и основной разговор запуска `-p`, Claude Code возвращает это отрицание Claude +* [Фоновому субагенту](/docs/ru/sub-agents#run-subagents-in-foreground-or-background) при запуске с `-p` без `--input-format stream-json` Claude Code возвращает результат с ошибкой, содержащий `Agent aborted: auto mode classifier request refused by the safety safeguard in headless mode` +* Во всех остальных случаях, включая интерактивные сессии и основной диалог запуска с `-p`, Claude Code возвращает Claude этот отказ -До v2.1.225 Claude Code считал эти отказы в направлении пороговых значений паузы и возвращал то же самое отклонение, что и подлинный блок классификатора. +До v2.1.225 Claude Code учитывал эти отказы в порогах приостановки и возвращал то же сообщение об отклонении, что и при настоящей блокировке классификатором. **Что делать:** -* Это не решение о вашем действии. Содержимое, уже находящееся в вашем разговоре, вызвало фильтр безопасности на API, когда auto mode отправил разговор классификатору -* Повторная попытка не поможет; то же содержимое разговора снова вызовет фильтр -* В интерактивной сессии переключитесь на другой [permission mode](/docs/ru/permission-modes), чтобы вы могли одобрить действие при появлении запроса -* Начните свежий разговор без содержимого, вызывающего срабатывание +* Это не решение относительно вашего действия. Содержимое, уже находящееся в вашем диалоге, вызвало срабатывание фильтра безопасности на стороне API, когда авторежим отправил диалог классификатору +* Повторная попытка не поможет; то же содержимое диалога снова вызовет срабатывание фильтра +* В интерактивной сессии переключитесь на другой [режим разрешений](/docs/ru/permission-modes), чтобы вы могли одобрить действие при появлении запроса +* Начните новый диалог без содержимого, вызывающего срабатывание -Когда разговор вырос больше, чем контекстное окно классификатора: +Когда диалог превысил размер контекстного окна классификатора: ```text theme={null} Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size) ``` -То, что происходит с действием, зависит от того, где Claude его запросил: +Что происходит с действием, зависит от того, где Claude его запросил: -* В интерактивной сессии auto mode возвращается к обычному приглашению разрешения для этого действия, чтобы вы могли одобрить или отрицать его вручную -* К [background subagent](/docs/ru/sub-agents#run-subagents-in-foreground-or-background) в [non-interactive](/docs/ru/headless) запуске `-p` без `--input-format stream-json` Claude Code возвращает результат ошибки, содержащий `Agent aborted: auto mode classifier transcript exceeded context window in headless mode`, и запуск продолжается -* В другом месте в запуске `-p` без [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) нет приглашения для возврата, поэтому действие не выполняется и запуск продолжается +* В интерактивной сессии авторежим переключается на обычный запрос разрешения для этого действия, чтобы вы могли одобрить или отклонить его вручную +* [Фоновому субагенту](/docs/ru/sub-agents#run-subagents-in-foreground-or-background) при [неинтерактивном](/docs/ru/headless) запуске с `-p` без `--input-format stream-json` Claude Code возвращает результат с ошибкой, содержащий `Agent aborted: auto mode classifier transcript exceeded context window in headless mode`, и выполнение продолжается +* В других местах запуска с `-p` без [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) запросить разрешение негде, поэтому действие не выполняется, а выполнение продолжается **Что делать:** -* В интерактивной сессии одобрите или отрицайте действие в появившемся приглашении -* В интерактивной сессии запустите `/compact`, чтобы уменьшить размер разговора, чтобы последующие действия снова подходили в окно классификатора +* В интерактивной сессии одобрите или отклоните действие в появившемся запросе +* В интерактивной сессии запустите `/compact`, чтобы уменьшить размер диалога и последующие действия снова помещались в окно классификатора

The server returned no safety verdict

-В [server-side classifier review](/docs/ru/permission-modes#server-side-classifier-review) auto mode отрицает действие, когда сервер не дает вердикт для него. Отрицание называет категорию в скобках, когда Claude Code может определить одну, такую как `(timed out)`: +При [проверке классификатором на стороне сервера](/docs/ru/permission-modes#server-side-classifier-review) авторежим отклоняет действие, когда сервер не выносит по нему вердикт. Отказ указывает категорию в скобках, если Claude Code может ее определить, например `(timed out)`: ```text theme={null} The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of . ``` -Остальная часть сообщения говорит Claude, может ли одна повторная попытка помочь. До некоторых из этих отказов Claude Code ждет, чтобы следующая попытка Claude не следовала сразу. Во время ожидания в интерактивной сессии спиннер показывает `Auto mode check unavailable` с обратным отсчетом, и нажатие `Esc` прерывает ход. +Остальная часть сообщения сообщает Claude, может ли помочь одна повторная попытка. Перед некоторыми из этих отказов Claude Code делает паузу, чтобы следующая попытка Claude не последовала сразу. Во время ожидания в интерактивной сессии индикатор показывает `Auto mode check unavailable` с обратным отсчетом, а нажатие `Esc` прерывает ход. -После десяти ответов подряд без вердикта auto mode останавливает ход: +После десяти ответов подряд без вердикта авторежим останавливает ход: ```text theme={null} Auto mode is unavailable — the server returned no safety verdict for the last 10 responses, so Claude stopped. Send a message to try again, or switch out of auto mode. ``` -Сообщение об остановке появляется в другом месте в каждом типе сессии: +Сообщение об остановке появляется в разных местах в зависимости от типа сессии: -* В интерактивной сессии сообщение появляется как предупреждение в транскрипте и ход заканчивается -* В [non-interactive](/docs/ru/headless) запуске `-p` запуск заканчивается и сообщает об ошибке выполнения. С выходом текста по умолчанию сообщение печатается на stderr. -* Когда [subagent](/docs/ru/sub-agents) достиг лимита, подагент останавливается перед завершением, и Claude получает то, что он произвел, с примечанием, что auto mode остановил его +* В интерактивной сессии сообщение появляется как предупреждение в транскрипте, и ход завершается +* При [неинтерактивном](/docs/ru/headless) запуске с `-p` выполнение завершается с ошибкой выполнения. При текстовом выводе по умолчанию сообщение выводится в stderr. +* Когда лимит достигнут [субагентом](/docs/ru/sub-agents), субагент останавливается, не завершив работу, и Claude получает то, что он успел сформировать, с пометкой, что его остановил авторежим **Что делать:** -* Отправьте другое сообщение, чтобы Claude попробовал снова. Счет ответов начинается заново. -* Если остановка повторяется и ваши запросы проходят через [LLM gateway or proxy](/docs/ru/llm-gateway), проверьте, сокращает ли он потоковые ответы или переписывает их. [Server-side classifier review](/docs/ru/permission-modes#server-side-classifier-review) говорит, какое поведение шлюза вызывает отказы, и [gateway compatibility guide](/docs/ru/llm-gateway-protocol#feature-pass-through) перечисляет, что пропустить без изменений. -* Установите `CLAUDE_CODE_AUTO_MODE_SERVER=0` перед запуском Claude Code, чтобы использовать его собственные запросы классификатора вместо этого. До v2.1.281 Claude Code не читал переменную на прямом соединении с Anthropic API. -* Чтобы одобрить действия самостоятельно, [switch out of auto mode](/docs/ru/permission-modes#switch-permission-modes) +* Отправьте еще одно сообщение, чтобы Claude попробовал снова. Счетчик ответов начинается заново. +* Если остановка повторяется и ваши запросы проходят через [LLM-шлюз или прокси](/docs/ru/llm-gateway), проверьте, не обрывает ли он потоковые ответы или не переписывает ли их. В разделе [Проверка классификатором на стороне сервера](/docs/ru/permission-modes#server-side-classifier-review) описано, какое поведение шлюза вызывает отказы, а [руководство по совместимости шлюзов](/docs/ru/llm-gateway-protocol#feature-pass-through) перечисляет, что нужно пропускать без изменений. +* Установите `CLAUDE_CODE_AUTO_MODE_SERVER=0` перед запуском Claude Code, чтобы вместо этого использовать его собственные запросы к классификатору. До v2.1.281 Claude Code не учитывал эту переменную при прямом подключении к Anthropic API. +* Чтобы вместо этого одобрять действия самостоятельно, [выйдите из авторежима](/docs/ru/permission-modes#switch-permission-modes) -До v2.1.280 Claude Code отрицал каждое действие из ответа без вердикта немедленно и никогда не останавливал ход. +До v2.1.280 Claude Code немедленно отклонял каждое действие из ответа без вердикта и никогда не останавливал ход.

Agent terminated early due to an API error

-Запрос API [subagent](/docs/ru/sub-agents) не удался окончательно, например, потому что был достигнут лимит использования или повторные попытки для ошибки сервера исчерпаны, поэтому подагент остановился перед завершением своей задачи. Это сообщение требует Claude Code v2.1.199 или позже; до этого текст ошибки API был возвращен Claude, как если бы это был результат подагента. +API-запрос [субагента](/docs/ru/sub-agents) окончательно завершился сбоем, например потому что был достигнут лимит использования или были исчерпаны повторные попытки после ошибки сервера, поэтому субагент остановился, не завершив задачу. Это сообщение требует Claude Code v2.1.199 или новее; до этого текст ошибки API возвращался Claude так, как если бы это был результат субагента. ```text theme={null} Agent terminated early due to an API error: @@ -671,10 +691,10 @@ Agent terminated early due to an API error: **Что делать:** -* Сопоставьте деталь ошибки после двоеточия с его собственным разделом на этой странице, такой как [Usage limits](#usage-limits) или [Server errors](#server-errors), и следуйте шагам этого раздела -* После того как основная ошибка исчезнет, попросите Claude повторить задачу или [resume the subagent](/docs/ru/sub-agents#resume-subagents) +* Найдите на этой странице раздел, соответствующий описанию ошибки после двоеточия, например [Лимиты использования](#usage-limits) или [Ошибки сервера](#server-errors), и следуйте шагам из этого раздела +* После устранения исходной ошибки попросите Claude повторить задачу или [возобновите субагента](/docs/ru/sub-agents#resume-subagents) -Когда ограничение скорости, перегрузка или ошибка сервера прерывает подагент переднего плана, который уже произвел текстовый выход, Claude получает этот частичный выход, отмеченный как неполный, вместо этой ошибки. Подагент, единственным выходом которого были вызовы инструментов, также получает эту ошибку; в v2.1.199 эта форма возвращала пустой частичный результат вместо этого. См. [API errors in subagents](/docs/ru/sub-agents#api-errors-in-subagents). +Когда ограничение частоты запросов, перегрузка или ошибка сервера прерывает субагента переднего плана, который уже сформировал текстовый вывод, Claude вместо этой ошибки получает этот частичный вывод с пометкой о неполноте. Субагент, весь вывод которого состоял из вызовов инструментов, тоже получает эту ошибку; в v2.1.199 в таком случае вместо этого возвращался пустой частичный результат. См. [Ошибки API в субагентах](/docs/ru/sub-agents#api-errors-in-subagents).

Ограничения использования @@ -697,7 +717,7 @@ 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](/docs/ru/interactive-mode#wait-for-a-usage-limit-to-reset) для информации о том, что вы видите, как начать или отменить ожидание и как отключить автоматическое продолжение. До версии v2.1.234 Claude Code не предлагал это ожидание. +В интерактивной сессии, в которую выполнен вход с подпиской claude.ai, Claude Code также может ждать в открытой сессии и продолжить прерванную задачу вскоре после сброса. См. [Wait for a usage limit to reset](/docs/ru/interactive-mode#wait-for-a-usage-limit-to-reset), чтобы узнать, что вы увидите, как начать или отменить ожидание и как отключить автоматическое продолжение. До версии v2.1.234 Claude Code не предлагал это ожидание. Использование учитывается одновременно в лимитах сеанса и недели. Один всплеск интенсивной деятельности, такой как большой fanout рабочего процесса, может исчерпать недельный лимит до сброса окна сеанса. @@ -885,103 +905,107 @@ Could not update your spend limit: Ошибки аутентификации

-Эти ошибки означают, что Claude Code не может подтвердить вашу личность перед API. Запустите `/status` в любой момент, чтобы увидеть, какие учетные данные в настоящее время активны. +Эти ошибки означают, что Claude Code не может подтвердить API вашу личность. Запустите `/status` в любой момент, чтобы узнать, какие учётные данные сейчас активны.

- Not logged in + Не выполнен вход

-Для этого сеанса нет доступных действительных учетных данных. +Для этой сессии нет действительных учётных данных. ```text theme={null} Not logged in · Please run /login ``` -В сеансе, который запускает приложение Claude Desktop, например на вкладке Code или Cowork, сообщение читается как `Authentication required · Sign in again to continue`, и вы снова входите из приложения. +В сессии, которую запускает приложение Claude Desktop, например на вкладке Code или в Cowork, сообщение выглядит как `Authentication required · Sign in again to continue`, и повторный вход выполняется из приложения. + +Если вы входите со своей учётной записью claude.ai в другом окне Claude Code, которое использует тот же [каталог конфигурации](/docs/ru/claude-directory), интерактивная сессия, показывающая это сообщение, начинает использовать этот вход самостоятельно. Перезапускать её не нужно. + +До версии v2.1.286 в macOS сессия могла продолжать показывать это сообщение после того, как вы вошли из другого окна. В этих версиях перезапустите сессию, которая показывает сообщение. **Что делать:** -* Запустите `/login` для аутентификации с помощью вашей подписки Claude или учетной записи Console -* Если вы ожидали, что переменная окружения будет вас аутентифицировать, убедитесь, что `ANTHROPIC_API_KEY` установлена и экспортирована в оболочке, где вы запустили `claude` +* Запустите `/login`, чтобы пройти аутентификацию с подпиской Claude или учётной записью Console +* Если вы ожидали, что аутентификация пройдёт через переменную окружения, убедитесь, что `ANTHROPIC_API_KEY` задана и экспортирована в оболочке, в которой вы запустили `claude` * Для CI или автоматизации, где интерактивный вход невозможен, настройте скрипт [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), который получает ключ при запуске -* См. [Authentication precedence](/docs/ru/authentication#authentication-precedence), чтобы понять, какие учетные данные Claude Code использует, когда присутствует несколько +* См. [Приоритет аутентификации](/docs/ru/authentication#authentication-precedence), чтобы понять, какие учётные данные использует Claude Code, когда их несколько -Если вам предлагается войти повторно, см. [Not logged in or token expired](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired) для проверки системных часов и шагов восстановления хранилища учетных данных macOS. +Если вам многократно предлагают войти, см. [Не выполнен вход или токен истёк](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired), где описаны проверки системных часов и шаги восстановления хранилища учётных данных macOS.

- Could not resolve authentication method + Не удалось определить метод аутентификации

-Сеанс достиг клиента API без каких-либо учетных данных. [Background sessions](/docs/ru/agent-view) и облачные сеансы показывают это сообщение, когда рабочий процесс запускается без учетных данных. Интерактивные, `-p` и запуски Agent SDK сообщают о том же состоянии, что и [Not logged in](#not-logged-in), и записывают эту строку только в свой журнал отладки, поэтому если вы нашли ее там, следуйте этой записи вместо этого. +Сессия обратилась к API-клиенту без каких-либо учётных данных. [Фоновые сессии](/docs/ru/agent-view) и облачные сессии показывают это сообщение, когда рабочий процесс запускается без учётных данных. Интерактивные запуски, запуски с `-p` и запуски Agent SDK сообщают о том же состоянии как [Не выполнен вход](#not-logged-in) и записывают эту строку только в свой отладочный лог, поэтому если вы нашли её там, следуйте указаниям из того раздела. ```text theme={null} 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.174 фоновая сессия, назначенная простаивающему предварительно инициализированному рабочему процессу, могла завершаться этой ошибкой, даже когда были настроены действительные учётные данные. До версии v2.1.176 то же могло происходить с облачной сессией, которая простаивала до того, как её забрали. Обновитесь, чтобы устранить проблему. **Что делать:** -* Обновитесь до v2.1.176 или более поздней версии, если это появляется в фоновом или облачном сеансе и ваши учетные данные уже настроены -* Убедитесь, что `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` или ваши учетные данные облачного провайдера установлены в окружении, которое запускает рабочий процесс, а не только в вашей интерактивной оболочке -* Для Agent SDK см. [authentication setup in the quickstart](/docs/ru/agent-sdk/quickstart#setup) -* Запустите `/status` в интерактивном сеансе в том же окружении, чтобы подтвердить, какой источник учетных данных разрешается +* Обновитесь до версии v2.1.176 или новее, если это появляется в фоновой или облачной сессии, а ваши учётные данные уже настроены +* Убедитесь, что `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` или учётные данные вашего облачного провайдера заданы в окружении, которое запускает рабочий процесс, а не только в вашей интерактивной оболочке +* Для Agent SDK см. [настройку аутентификации в быстром старте](/docs/ru/agent-sdk/quickstart#setup) +* Запустите `/status` в интерактивной сессии в том же окружении, чтобы проверить, какой источник учётных данных определяется

- Invalid API key + Недействительный API-ключ

-Переменная окружения `ANTHROPIC_API_KEY` или скрипт `apiKeyHelper` вернули ключ, который API отклонил, или Claude Code заблокировал ключ из `ANTHROPIC_API_KEY` перед его отправкой. +Переменная окружения `ANTHROPIC_API_KEY` или скрипт `apiKeyHelper` вернули ключ, который API отклонил, или Claude Code заблокировал ключ из `ANTHROPIC_API_KEY` до его отправки. ```text theme={null} 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](#invalid-request-header-value), чтобы узнать, как прочитать описание и исправить значение. +Если после `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](https://platform.claude.com/settings/keys) -* В той же оболочке запустите `env | grep ANTHROPIC`, или в PowerShell `Get-ChildItem Env:ANTHROPIC*`. Такие инструменты, как direnv, плагины dotenv shell и терминалы IDE, могут загружать устаревший ключ из файла `.env` в вашем проекте без явной установки. -* Отмените установку `ANTHROPIC_API_KEY` и запустите `/login` для использования аутентификации подписки вместо этого -* Если ключ поступает из скрипта [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), запустите скрипт напрямую, чтобы подтвердить, что он выводит действительный ключ на stdout -* Запустите `/status`, чтобы подтвердить, какой источник учетных данных Claude Code на самом деле использует +* Проверьте наличие опечаток и убедитесь, что ключ не был отозван в [Console](https://platform.claude.com/settings/keys) +* В той же оболочке выполните `env | grep ANTHROPIC` или в PowerShell `Get-ChildItem Env:ANTHROPIC*`. Такие инструменты, как direnv, плагины оболочки dotenv и терминалы IDE, могут загружать устаревший ключ из файла `.env` в вашем проекте без того, чтобы вы задавали его явно. +* Сбросьте `ANTHROPIC_API_KEY` и запустите `/login`, чтобы использовать аутентификацию по подписке +* Если ключ поступает из скрипта [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), запустите скрипт напрямую, чтобы убедиться, что он выводит действительный ключ в stdout +* Запустите `/status`, чтобы проверить, какой источник учётных данных фактически использует Claude Code

- Your apiKeyHelper script is failing + Ваш скрипт apiKeyHelper завершается с ошибкой

-Claude Code запустил команду в вашей настройке [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) и не получил ключ обратно. Без него запрос достигает API с учетными данными-заполнителем, и API отклоняет его с `401`. Панель `Authentication` в терминале показывает, что произошло: +Claude Code выполнил команду из вашей настройки [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) и не получил ключ. Без него запрос доходит до API с учётными данными-заглушкой, и API отклоняет его с `401`. Панель `Authentication` в терминале показывает, что именно произошло: -* Команда завершилась с ошибкой или истекло время ожидания -* Команда ничего не вывела на stdout -* Команда вывела что-то, кроме ключа, например баннер входа или строку журнала. Панель показывает `returned output that cannot be used as an API key` и говорит, что не так, без повторения вывода. До v2.1.227 Claude Code отправлял все, что выводила команда, после обрезки окружающих пробелов. +* Команда завершилась с ошибкой или по таймауту +* Команда ничего не вывела в stdout +* Команда вывела что-то помимо ключа, например баннер входа или строку лога. Панель показывает `returned output that cannot be used as an API key` и сообщает, что не так, не повторяя сам вывод. До версии v2.1.227 Claude Code отправлял всё, что выводила команда, после удаления окружающих пробелов. ```text theme={null} 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](/docs/ru/headless) stderr также содержит конкретную причину с префиксом `apiKeyHelper failed:`. +В [неинтерактивном режиме](/docs/ru/headless) stderr также содержит конкретную причину с префиксом `apiKeyHelper failed:`. -Claude Code повторно запускает скрипт и повторяет попытку запроса еще два раза перед отображением этого сообщения, поэтому сбой проявляется в течение трех попыток. До v2.1.208 Claude Code тратил полный [retry budget](#automatic-retries), повторно отправляя запрос с учетными данными-заполнителем, а затем сообщал об общей ошибке аутентификации `401` вместо сбоя скрипта. +Перед показом этого сообщения Claude Code повторно запускает скрипт и повторяет запрос ещё до двух раз, поэтому сбой проявляется в пределах трёх попыток. До версии v2.1.208 Claude Code тратил весь [лимит повторных попыток](#automatic-retries) на повторную отправку запроса с учётными данными-заглушкой, а затем сообщал об общей ошибке аутентификации `401` вместо сбоя скрипта. -Запуск `/login` здесь не помогает: вывод помощника [takes precedence](/docs/ru/authentication#authentication-precedence) над сохраненным входом, пока параметр присутствует. +Запуск `/login` здесь не помогает: вывод хелпера [имеет приоритет](/docs/ru/authentication#authentication-precedence) над сохранённым входом, пока эта настройка присутствует. **Что делать:** -* Запустите команду, настроенную в `apiKeyHelper`, непосредственно в вашей оболочке, чтобы воспроизвести сбой -* Если команда сообщает об истекшем сеансе, повторно аутентифицируйтесь с помощью вашего поставщика учетных данных, например, снова войдя в свой SSO или хранилище секретов -* Исправьте команду так, чтобы она выводила только ключ на stdout как один токен печатаемого ASCII до 16 384 символов и выходила с кодом 0. См. [rotate credentials with apiKeyHelper](/docs/ru/llm-gateway-connect#rotate-credentials-with-apikeyhelper) для рабочей установки. -* Запустите `/status`, чтобы увидеть сбой и подтвердить, что `apiKeyHelper` является активным источником учетных данных. Строка `apiKeyHelper` показывает `Failing` с деталью последнего сбоя, такой как код выхода и вывод ошибки команды, и исчезает после следующего успешного запуска. До v2.1.274 `/status` показывал только источник учетных данных, а не сбой. -* Каждый раз, когда команда не выполняется, ее код выхода и вывод ошибки также появляются в панели `Authentication` в терминале. До v2.1.212 панель была озаглавлена `Cloud authentication`. +* Запустите команду, настроенную в `apiKeyHelper`, напрямую в оболочке, чтобы воспроизвести сбой +* Если команда сообщает об истёкшей сессии, пройдите повторную аутентификацию у своего провайдера учётных данных, например снова войдите в SSO или хранилище секретов +* Исправьте команду так, чтобы она выводила в stdout только ключ — один токен из печатаемых символов ASCII длиной до 16 384 символов — и завершалась с кодом выхода 0. Рабочую настройку см. в разделе [ротация учётных данных с помощью apiKeyHelper](/docs/ru/llm-gateway-connect#rotate-credentials-with-apikeyhelper). +* Запустите `/status`, чтобы увидеть сбой и убедиться, что `apiKeyHelper` — активный источник учётных данных. Строка `apiKeyHelper` показывает `Failing` с подробностями последнего сбоя, такими как код выхода и вывод ошибки команды, и исчезает после следующего успешного запуска. До версии v2.1.274 `/status` показывал только источник учётных данных, но не сбой. +* При каждом сбое команды её код выхода и вывод ошибки также появляются в панели `Authentication` в терминале. До версии v2.1.212 панель называлась `Cloud authentication`.

- Invalid request header value + Недопустимое значение заголовка запроса

-Значение, которое Claude Code собирался отправить как заголовок запроса, содержит символ, который HTTP-заголовки не могут передавать: разрыв строки, байт NUL или символ выше `U+00FF`, такой как фигурная кавычка или нулевой пробел. Claude Code останавливает запрос перед отправкой чего-либо и называет переменную или параметр для исправления. Обычная причина — учетные данные, вставленные из документа или чата, которые содержали невидимый символ или случайный разрыв строки. +Значение, которое Claude Code собирался отправить как заголовок запроса, содержит символ, который не может передаваться в HTTP-заголовках: перевод строки, байт NUL или символ выше `U+00FF`, например фигурную кавычку или пробел нулевой ширины. Claude Code останавливает запрос до какой-либо отправки и называет переменную или настройку, которую нужно исправить. Обычная причина — учётные данные, вставленные из документа или чата, которые содержали невидимый символ или случайный перевод строки. -Claude Code запускает эту проверку при отправке запросов к Claude API напрямую или через [LLM gateway](/docs/ru/llm-gateway). На стороннем облачном провайдере, таком как [Amazon Bedrock](/docs/ru/amazon-bedrock), Claude Code не запускает ее перед отправкой. +Claude Code выполняет эту проверку, когда отправляет запросы к Claude API напрямую или через [LLM-шлюз](/docs/ru/llm-gateway). При использовании стороннего облачного провайдера, например [Amazon Bedrock](/docs/ru/amazon-bedrock), Claude Code не выполняет её перед отправкой. ```text theme={null} Invalid auth token · Fix external auth token @@ -989,13 +1013,13 @@ Invalid ANTHROPIC_CUSTOM_HEADERS · Fix the environment variable Invalid request header from the environment · Fix the environment variable ``` -Первая часть сообщения зависит от того, откуда поступило плохое значение: +Первая часть сообщения зависит от того, откуда пришло неверное значение: -* `Invalid auth token`: токен-носитель из [`ANTHROPIC_AUTH_TOKEN`](/docs/ru/env-vars) или [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) -* `Invalid ANTHROPIC_CUSTOM_HEADERS`: имя заголовка или значение, которое вы установили в [`ANTHROPIC_CUSTOM_HEADERS`](/docs/ru/env-vars). Описание подсчитывает, какая пара `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`. Описание называет переменную для исправления. +* `Invalid auth token`: Bearer-токен из [`ANTHROPIC_AUTH_TOKEN`](/docs/ru/env-vars) или [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) +* `Invalid ANTHROPIC_CUSTOM_HEADERS`: имя или значение заголовка, которое вы задали в [`ANTHROPIC_CUSTOM_HEADERS`](/docs/ru/env-vars). Описание указывает порядковый номер проблемной пары `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](#invalid-api-key), с тем же завершающим описанием. Он сообщает о плохих сохраненных учетных данных `/login` как [Not logged in](#not-logged-in) вместо этого; запустите `/login`, чтобы сохранить свежие. Вывод скрипта [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) никогда не достигает этой проверки: Claude Code проверяет его при запуске скрипта, и вывод, который HTTP-заголовок не может передавать, завершается ошибкой [Your apiKeyHelper script is failing](#your-apikeyhelper-script-is-failing). +О неверном `ANTHROPIC_API_KEY`, обнаруженном этой проверкой, Claude Code сообщает как о [Недействительном API-ключе](#invalid-api-key), с тем же описанием в конце. О неверных сохранённых учётных данных `/login` он сообщает как о [Не выполненном входе](#not-logged-in); запустите `/login`, чтобы сохранить новые. Вывод скрипта [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) никогда не попадает в эту проверку: Claude Code проверяет его при запуске скрипта, и вывод, который не может передаваться в HTTP-заголовке, приводит к ошибке [Ваш скрипт apiKeyHelper завершается с ошибкой](#your-apikeyhelper-script-is-failing). После второго `·` сообщение описывает проблему, как в этом полном примере: @@ -1003,19 +1027,19 @@ Claude Code сообщает о плохом `ANTHROPIC_API_KEY`, перехва 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`. +Позиции символов отсчитываются с единицы. Описание строится из фиксированных фраз и счётчиков символов, поэтому никогда не содержит само значение. Оно называет проблемный символ только тогда, когда это общеизвестный невидимый или типографский символ, например метка порядка байтов, пробел нулевой ширины или фигурная кавычка, а обо всём остальном сообщает как `a non-ASCII character`. **Что делать:** -* Переустановите переменную или параметр, который называет сообщение, переписав символы вокруг указанной позиции, а не вставляя из того же источника снова -* Для `ANTHROPIC_CUSTOM_HEADERS` держите одну пару `Name: Value` на строку и переписывайте пару, которую считает сообщение -* Запустите `/status`, чтобы подтвердить, какой источник учетных данных активен +* Заново задайте переменную или настройку, указанную в сообщении, перепечатав символы вокруг указанной позиции вручную, а не вставляя их снова из того же источника +* Для `ANTHROPIC_CUSTOM_HEADERS` указывайте по одной паре `Name: Value` на строку и перепишите пару, номер которой указан в сообщении +* Запустите `/status`, чтобы проверить, какой источник учётных данных активен

- This organization has been disabled + Эта организация отключена

-Claude Code использует устаревший `ANTHROPIC_API_KEY` из отключенной организации Console. Когда у вас есть сохраненный вход подписки, ключ переопределяет его. +Claude Code использует устаревший `ANTHROPIC_API_KEY` из отключённой организации Console. Если у вас есть сохранённый вход по подписке, ключ имеет приоритет над ним. ```text theme={null} Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead @@ -1023,22 +1047,22 @@ Your ANTHROPIC_API_KEY belongs to a disabled organization · Update or unset the API Error: 400 ... This organization has been disabled. ``` -Подсказка после `·` зависит от ваших сохраненных учетных данных: первая форма появляется, когда сохраненный `/login` может взять верх после отмены установки ключа, а вторая, когда ключ является вашим единственным учетным данным. +Подсказка после `·` зависит от ваших сохранённых учётных данных: первая форма появляется, когда сохранённый `/login` может взять управление на себя после сброса ключа, а вторая — когда ключ является вашими единственными учётными данными. -Переменные окружения имеют приоритет над `/login`, поэтому ключ, экспортированный в профиль вашей оболочки или загруженный из файла `.env`, используется даже при наличии рабочей подписки Pro или Max. В неинтерактивном режиме (`-p`) ключ всегда используется при наличии. +Переменные окружения имеют приоритет над `/login`, поэтому ключ, экспортированный в профиле оболочки или загруженный из файла `.env`, используется даже при наличии работающей подписки Pro или Max. В неинтерактивном режиме (`-p`) ключ всегда используется, если он задан. **Что делать:** -* Отмените установку `ANTHROPIC_API_KEY` в текущей оболочке и удалите его из профиля вашей оболочки, затем перезапустите `claude` -* Если сообщение говорит `Update or unset`, у вас нет сохраненного входа для отката. Отмените установку ключа и запустите `/login`, или замените ключ на ключ из активной организации Console. -* Запустите `/status` после этого, чтобы подтвердить, что активные учетные данные — это ваша подписка -* Если переменная окружения не установлена и ошибка сохраняется, свяжитесь с поддержкой или войдите с другой учетной записью. +* Сбросьте `ANTHROPIC_API_KEY` в текущей оболочке и удалите его из профиля оболочки, затем перезапустите `claude` +* Если в сообщении сказано `Update or unset`, у вас нет сохранённого входа, на который можно переключиться. Сбросьте ключ и запустите `/login` или замените ключ на ключ из активной организации Console. +* После этого запустите `/status`, чтобы убедиться, что активные учётные данные — это ваша подписка +* Если никакая переменная окружения не задана, а ошибка сохраняется, обратитесь в поддержку или войдите с другой учётной записью.

- Your organization has disabled API key authentication + Ваша организация отключила аутентификацию по API-ключу

-Это сообщение требует Claude Code v2.1.169 или более поздней версии. Администратор вашей организации Console отключил аутентификацию по ключу API, поэтому API отклоняет ключ, который отправляет Claude Code. Подсказка восстановления после `·` варьируется в зависимости от того, откуда поступил ключ: +Это сообщение требует Claude Code версии v2.1.169 или новее. Администратор вашей организации Console отключил аутентификацию по API-ключу, поэтому API отклоняет ключ, который отправляет Claude Code. Подсказка по восстановлению после `·` зависит от того, откуда взялся ключ: ```text theme={null} Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account @@ -1048,87 +1072,87 @@ Your organization has disabled API key authentication · Unset the apiKeyHelper Your organization has disabled API key authentication · Sign in again with your claude.ai account ``` -Последняя форма появляется в сеансе, который запускает приложение Claude Desktop, такой как вкладка Code или Cowork, где вы снова входите из приложения. +Последняя форма появляется в сессии, которую запускает приложение Claude Desktop, например на вкладке Code или в Cowork, где повторный вход выполняется из приложения. -Переменные окружения и `apiKeyHelper` имеют приоритет над `/login`, поэтому запуск только `/login` не помогает, пока любой из них все еще предоставляет ключ. См. [Authentication precedence](/docs/ru/authentication#authentication-precedence). +Переменные окружения и `apiKeyHelper` имеют приоритет над `/login`, поэтому один только запуск `/login` не помогает, пока любой из них всё ещё предоставляет ключ. См. [Приоритет аутентификации](/docs/ru/authentication#authentication-precedence). **Что делать:** -* Если сообщение называет `ANTHROPIC_API_KEY`, отмените его установку в текущей оболочке и удалите его из профиля вашей оболочки или файла `.env`, затем перезапустите `claude` -* Если сообщение называет `apiKeyHelper`, удалите параметр [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) из вашего `settings.json` -* Запустите `/login`, чтобы войти с помощью вашей учетной записи claude.ai -* Запустите `/status` после этого, чтобы подтвердить, что активные учетные данные — это ваша подписка, а не ключ API -* Если вам нужна аутентификация по ключу API для автоматизации, попросите администратора вашей организации повторно включить ее в Console +* Если в сообщении названа `ANTHROPIC_API_KEY`, сбросьте её в текущей оболочке и удалите из профиля оболочки или файла `.env`, затем перезапустите `claude` +* Если в сообщении назван `apiKeyHelper`, удалите настройку [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) из своего `settings.json` +* Запустите `/login`, чтобы войти со своей учётной записью claude.ai +* После этого запустите `/status`, чтобы убедиться, что активные учётные данные — это ваша подписка, а не API-ключ +* Если вам нужна аутентификация по API-ключу для автоматизации, попросите администратора организации снова включить её в Console

- Your organization has disabled Claude subscription access + Ваша организация отключила доступ по подписке Claude

-Ваша организация Claude не позволяет входить в Claude Code с помощью входа подписки. Запуск `/login` снова с той же учетной записью возвращает ту же ошибку. +Ваша организация Claude не разрешает вход в Claude Code по подписке. Повторный запуск `/login` с той же учётной записью возвращает ту же ошибку. ```text theme={null} Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access ``` -Это параметр организации на стороне сервера, поэтому его нельзя переопределить из локальных параметров, переменных окружения или флагов CLI. +Это серверная настройка организации, поэтому её нельзя переопределить локальными настройками, переменными окружения или флагами CLI. -Agent SDK и неинтерактивный режим `-p` отображают это как код ошибки `oauth_org_not_allowed`. +Agent SDK и неинтерактивный режим `-p` сообщают об этом кодом ошибки `oauth_org_not_allowed`. **Что делать:** -* Попросите администратора включить доступ Claude Code для вашей организации -* Аутентифицируйтесь с помощью ключа API Console вместо вашей подписки. См. [Claude Console authentication](/docs/ru/authentication#claude-console-authentication) для установки. -* Если вы администратор и не видите опцию для включения доступа, свяжитесь с [Anthropic support](https://support.claude.com) +* Попросите администратора включить доступ к Claude Code для вашей организации +* Пройдите аутентификацию с API-ключом Console вместо подписки. Инструкции по настройке см. в разделе [Аутентификация через Claude Console](/docs/ru/authentication#claude-console-authentication). +* Если вы администратор и не видите возможности включить доступ, обратитесь в [поддержку Anthropic](https://support.claude.com)

- Routines are disabled by your organization's policy + Routines отключены политикой вашей организации

-Владелец в вашей организации Team или Enterprise отключил routines на уровне организации. Ошибка появляется при попытке создать или запустить routine, например из пользовательского интерфейса [Routines](/docs/ru/routines) на claude.ai/code. На Claude Code v2.1.227 или более поздней версии тот же параметр также [hides `/schedule`](/docs/ru/routines#troubleshooting) в CLI. +Owner в вашей организации Team или Enterprise отключил routines на уровне организации. Ошибка появляется, когда вы пытаетесь создать или запустить routine, например из интерфейса [Routines](/docs/ru/routines) на claude.ai/code. В Claude Code версии v2.1.227 или новее та же настройка также [скрывает `/schedule`](/docs/ru/routines#troubleshooting) в CLI. ```text theme={null} Routines are disabled by your organization's policy. ``` -Это параметр на стороне сервера, поэтому его нельзя переопределить из локальных параметров, переменных окружения или флагов CLI. +Это серверная настройка, поэтому её нельзя переопределить локальными настройками, переменными окружения или флагами CLI. **Что делать:** -* Попросите владельца в вашей организации включить переключатель **Routines** на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) -* Для одноразовой запланированной работы, которая не требует routines на уровне организации, см. [scheduled tasks](/docs/ru/scheduled-tasks) +* Попросите Owner в вашей организации включить переключатель **Routines** на странице [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) +* Для разовых запланированных работ, которым не нужны routines на уровне организации, см. [запланированные задачи](/docs/ru/scheduled-tasks)

- Remote Control requires the Anthropic API + Remote Control требует Anthropic API

-Сеанс не разговаривает с Anthropic API напрямую, что требует [Remote Control](/docs/ru/remote-control). +Сессия не обращается к Anthropic API напрямую, а это необходимо для [Remote Control](/docs/ru/remote-control). ```text theme={null} 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 сообщение было только первым предложением. В зависимости от причины сообщение называет: +Второе предложение объясняет, что направило сессию в обход Anthropic API; до версии v2.1.219 сообщение состояло только из первого предложения. В зависимости от причины сообщение называет: -* Переменную поставщика `CLAUDE_CODE_USE_*`, такую как `CLAUDE_CODE_USE_BEDROCK` для [Amazon Bedrock](/docs/ru/amazon-bedrock) или `CLAUDE_CODE_USE_VERTEX` для [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) -* [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars), указывающий на хост, отличный от `api.anthropic.com`, такой как [LLM gateway](/docs/ru/llm-gateway) или прокси, даже при входе с claude.ai; до v2.1.196 пользовательский базовый URL не блокировал Remote Control -* `ANTHROPIC_UNIX_SOCKET` установлен, поэтому сеанс отправляет свои запросы через локальный сокет, а не на `api.anthropic.com` -* Вход в корпоративный [cloud gateway](/docs/ru/claude-apps-gateway) через `/login`, который не поддерживает Remote Control и не имеет переменной для отмены установки +* Переменную провайдера `CLAUDE_CODE_USE_*`, например `CLAUDE_CODE_USE_BEDROCK` для [Amazon Bedrock](/docs/ru/amazon-bedrock) или `CLAUDE_CODE_USE_VERTEX` для [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) +* [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars), указывающую на хост, отличный от `api.anthropic.com`, например на [LLM-шлюз](/docs/ru/llm-gateway) или прокси, даже если вы входите через claude.ai; до версии v2.1.196 пользовательский базовый URL не блокировал Remote Control +* Заданную `ANTHROPIC_UNIX_SOCKET`, из-за которой сессия отправляет запросы через локальный сокет, а не на `api.anthropic.com` +* Вход через корпоративный [облачный шлюз](/docs/ru/claude-apps-gateway), выполненный через `/login`, который не поддерживает Remote Control и не имеет переменной, которую можно сбросить **Что делать:** -* Отмените установку переменной, которую называет сообщение, такой как `CLAUDE_CODE_USE_BEDROCK` или `ANTHROPIC_BASE_URL`, и перезапустите сеанс, или запустите Remote Control из сеанса, который разговаривает с Anthropic API напрямую -* Если переменная не установлена в вашей оболочке, проверьте ключ `env` в ваших [settings files](/docs/ru/settings#where-settings-live), который применяет переменные окружения к каждому сеансу -* Для этого и других сообщений запуска Remote Control см. [Troubleshoot Remote Control](/docs/ru/remote-control#troubleshooting) +* Сбросьте переменную, указанную в сообщении, например `CLAUDE_CODE_USE_BEDROCK` или `ANTHROPIC_BASE_URL`, и перезапустите сессию либо запустите Remote Control из сессии, которая обращается к Anthropic API напрямую +* Если переменная не задана в вашей оболочке, проверьте ключ `env` в ваших [файлах настроек](/docs/ru/settings#where-settings-live), который применяет переменные окружения к каждой сессии +* Об этом и других сообщениях при запуске Remote Control см. [Устранение неполадок Remote Control](/docs/ru/remote-control#troubleshooting)

- Remote Control couldn't refresh your login + Remote Control не удалось обновить ваш вход

-Claude Code запускает живое соединение [Remote Control](/docs/ru/remote-control) на краткосрочных учетных данных, которые он получает и обновляет, используя ваш сохраненный вход claude.ai. Когда claude.ai перестает принимать этот вход, или Claude Code больше не имеет сохраненного входа, Claude Code останавливает Remote Control и просит вас снова войти. Любой сбой может произойти, пока Claude Code все еще подключается, или позже, когда он обновляет учетные данные. +Claude Code поддерживает активное подключение [Remote Control](/docs/ru/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 и повторяет попытку обновления, пока текущие учётные данные подключения ещё действительны. Обновление остаётся без ответа, когда Claude Code не может связаться со службой входа, запрос завершается по таймауту или служба даёт сбой, не отклоняя ваш вход. Если служба входа так и не отвечает к моменту истечения этих учётных данных, Claude Code останавливает Remote Control и сообщает `OAuth token refresh failed`. -Когда Claude Code останавливает Remote Control, он показывает причину в предупреждении и в строке стенограммы, которая начинается с `Remote Control disconnected`. Ваш локальный сеанс продолжает работу без Remote Control. Этот раздел охватывает эти строки: +Когда Claude Code останавливает Remote Control, он показывает причину в предупреждении и в строке транскрипта, начинающейся с `Remote Control disconnected`. Ваша локальная сессия продолжает работать без Remote Control. Этот раздел охватывает следующие строки: ```text theme={null} Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control @@ -1142,87 +1166,97 @@ Remote Control disconnected — Signed out of Claude — run /login, then /remot 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 больше не имеет сохраненного входа для обновления соединения +* `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 переподключается автоматически после входа. +* Запустите `/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 )`. Сообщения `Claude.ai login expired`, `Claude.ai login was rejected` и `OAuth token unavailable` были добавлены в v2.1.225. +До версии 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 )`. Сообщения `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` как только одно обновление входа не получило ответ. +До версии 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 + Remote Control остановлен, потому что сменилась учётная запись, в которую выполнен вход

-Claude Code показывает эту строку во время сеанса [Remote Control](/docs/ru/remote-control), когда вы входите в другую учетную запись claude.ai или организацию на этой машине. Вы сделали переключение вне сеанса Claude Code, например, запустив `/login` в другом терминале. +Claude Code показывает эту строку во время сессии [Remote Control](/docs/ru/remote-control), когда вы входите в другую учётную запись или организацию claude.ai на этой машине. Вы выполнили переключение вне сессии Claude Code, например запустив `/login` в другом терминале. -Сеанс Remote Control, который вы запустили, пока были подписаны через `/login`, принадлежит учетной записи claude.ai и организации, которые были подписаны в то время. +Сессия Remote Control, которую вы запустили, войдя через `/login`, принадлежит той учётной записи и организации claude.ai, в которые был выполнен вход в тот момент. ```text theme={null} 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. +Claude Code останавливает сессию Remote Control, как только claude.ai подтверждает, что учётная запись или организация изменилась. Ваша локальная сессия продолжает работать без Remote Control. **Что делать:** -* Запустите `/remote-control`, чтобы запустить новый сеанс Remote Control под текущей учетной записью или организацией -* Для переключения обратно запустите `/login` и снова войдите в предыдущую учетную запись или организацию. Затем запустите `/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)`. Этот сбой мог произойти часами после переключения. +До версии 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 + Remote Control остановлен, потому что приложение, в котором работает сессия, вышло из учётной записи или сменило её

-Когда приложение Claude desktop или IDE размещает ваш сеанс, Claude Code получает свой токен входа из этого приложения, а не из `/login`. Когда claude.ai отклоняет этот токен, Claude Code просит приложение о новом. Если приложение отвечает, что оно вышло, или что оно теперь подписано на другую учетную запись Claude, Claude Code заканчивает сеанс [Remote Control](/docs/ru/remote-control) и отправляет приложению одну из этих строк: +Когда вашу сессию размещает настольное приложение Claude или IDE, Claude Code получает токен входа от этого приложения, а не от `/login`. Когда claude.ai отклоняет этот токен, Claude Code запрашивает у приложения новый. Если приложение отвечает, что из него выполнен выход или что теперь в нём выполнен вход в другую учётную запись Claude, Claude Code завершает сессию [Remote Control](/docs/ru/remote-control) и отправляет приложению одну из этих строк: ```text theme={null} 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. **Что делать:** -* Если приложение вышло, снова войдите в него, затем включите Remote Control обратно в приложении -* Если приложение переключило учетные записи, Claude Code не может продолжить завершенный сеанс под новой учетной записью. Запустите новый сеанс Remote Control под этой учетной записью. +* Если из приложения выполнен выход, снова войдите в него, затем снова включите Remote Control в приложении +* Если приложение сменило учётную запись, Claude Code не может продолжить завершённую сессию под новой учётной записью. Начните новую сессию Remote Control под этой учётной записью. -До v2.1.238 Claude Code отправлял приложению сообщения `run /login`, перечисленные в [Remote Control couldn't refresh your login](#remote-control-couldnt-refresh-your-login) в обоих случаях. +До версии v2.1.238 в обоих случаях Claude Code отправлял приложению сообщения с `run /login`, перечисленные в разделе [Remote Control не удалось обновить ваш вход](#remote-control-couldnt-refresh-your-login).

- OAuth token revoked or expired + OAuth-токен отозван или истёк

-Ваш сохраненный вход больше не действителен. Отозванный токен означает, что вы вышли везде или администратор удалил доступ; истекший токен означает, что автоматическое обновление не удалось в середине сеанса. +Ваш сохранённый вход больше недействителен. Отозванный токен означает, что вы вышли из всех сессий или администратор отозвал доступ; истёкший токен означает, что автоматическое обновление не удалось посреди сессии. -Оба сообщения сообщают об отклонении, которое API вернул для запроса, отправленного Claude Code. Когда сохраненный вход уже был очищен после неудачного обновления, вы видите [Login expired](#login-expired) вместо этого. Если вы аутентифицируетесь с помощью долгоживущего токена в [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars), вы видите те же сообщения, когда этот токен истекает или отзывается. +Оба сообщения сообщают об отказе, который API вернул на запрос, отправленный Claude Code. Если сохранённый вход уже был удалён после неудачного обновления, вместо этого вы видите [Срок входа истёк](#login-expired). Если вы проходите аутентификацию с долгосрочным токеном в [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars), вы видите те же сообщения, когда этот токен истекает или отзывается. ```text theme={null} OAuth token revoked · Please run /login Please run /login · API Error: 401 OAuth token has expired ... ``` +В [неинтерактивном режиме](/docs/ru/headless) (`-p`) и в [Agent SDK](/docs/ru/agent-sdk/overview) сообщения выглядят следующим образом, а структурированный код ошибки — `authentication_failed`: + +```text theme={null} +Failed to authenticate: OAuth token revoked. Please log in again or contact your administrator. +Failed to authenticate. API Error: 401 OAuth token has expired ... +``` + +До версии v2.1.287 в неинтерактивном режиме и в Agent SDK сообщение об отзыве выглядело как `Your account does not have access to Claude. Please login again or contact your administrator.` + **Что делать:** -* Запустите `/login`, чтобы снова войти -* Если вы аутентифицируетесь с помощью переменной окружения `CLAUDE_CODE_OAUTH_TOKEN`, Claude Code продолжает отправлять установленное вами значение после того, как запрос завершится ошибкой 401, а не переключается на токен сохраненного входа. [`/status`](/docs/ru/commands) показывает это учетное данные как строку `Auth token`, читающую `CLAUDE_CODE_OAUTH_TOKEN`. Создайте свежий токен с помощью [`claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token) и перезапустите с ним, или отмените установку переменной и запустите `/login`. До v2.1.225 Claude Code мог заменить значение переменной в середине сеанса краткосрочным токеном доступа из сохраненного входа, и сеанс снова завершился ошибками 401 после истечения этого токена. -* Для повторных запросов на вход при запусках см. проверки системных часов и шаги восстановления хранилища учетных данных macOS в [Troubleshooting](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired) -* Для других сбоев, включая `403 Forbidden` и проблемы браузера OAuth, см. [Login and authentication](/docs/ru/troubleshoot-install#login-and-authentication) +* Запустите `/login` в промпте Claude Code, чтобы войти снова +* Если ваша команда `-p` или программа Agent SDK использует сохранённый вход, запустите `claude` в том же окружении, выполните `/login`, затем снова запустите команду или программу. Для автоматизации, в которой невозможен интерактивный вход, используйте аутентификацию с [`ANTHROPIC_API_KEY`](/docs/ru/env-vars) или [сгенерируйте долгосрочный токен с помощью `claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token). +* Если вы проходите аутентификацию с переменной окружения `CLAUDE_CODE_OAUTH_TOKEN`, Claude Code продолжает отправлять заданное вами значение после того, как запрос завершается ошибкой 401, а не переключается на токен сохранённого входа. [`/status`](/docs/ru/commands) показывает эти учётные данные как строку `Auth token` со значением `CLAUDE_CODE_OAUTH_TOKEN`. Сгенерируйте новый токен с помощью [`claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token) и перезапустите с ним либо сбросьте переменную и запустите `/login`. До версии v2.1.225 Claude Code мог посреди сессии заменить значение переменной краткосрочным токеном доступа из сохранённого входа, и сессия снова завершалась ошибками 401 после истечения этого токена. +* При повторяющихся предложениях войти при каждом запуске см. проверки системных часов и шаги восстановления хранилища учётных данных macOS в разделе [Устранение неполадок](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired) +* О других сбоях, включая `403 Forbidden` и проблемы с OAuth в браузере, см. [Вход и аутентификация](/docs/ru/troubleshoot-install#login-and-authentication)

API Error: 401 Invalid authentication credentials

-API распознал формат вашего учетного данные, но отклонил учетную запись или организацию позади него. Anthropic возвращает это сообщение, когда учетные данные были недавно отозваны, когда организация была отключена или удалила ваш доступ, или когда сама учетная запись была деактивирована, поэтому истекший токен не является причиной. Учетные данные могут быть вашим сохраненным входом или одобренным `ANTHROPIC_API_KEY`, и исправление отличается, поэтому начните с запуска `/status`, чтобы увидеть, какой из них активен. +API распознал формат ваших учётных данных, но отклонил стоящую за ними учётную запись или организацию. Anthropic возвращает это сообщение, когда учётные данные были недавно отозваны, когда организация была отключена или удалила ваш доступ, или когда сама учётная запись была деактивирована, поэтому причина не в истёкшем токене. Учётными данными может быть ваш сохранённый вход или одобренный `ANTHROPIC_API_KEY`, и способ исправления различается, поэтому начните с запуска `/status`, чтобы узнать, какие из них активны. ```text theme={null} Please run /login · API Error: 401 Invalid authentication credentials @@ -1230,108 +1264,109 @@ Please run /login · API Error: 401 Invalid authentication credentials **Что делать:** -* Если `/status` показывает строку `API key`, которая не отмечена как не используется, одобренный [`ANTHROPIC_API_KEY`](/docs/ru/authentication#authentication-precedence) является активным учетным данием и имеет приоритет над вашим входом, поэтому `/login` не заменяет его. Поверните ключ в Claude Console, или вернитесь к вашей подписке, запустив `unset ANTHROPIC_API_KEY`, или в PowerShell `Remove-Item Env:ANTHROPIC_API_KEY`. -* Если `/status` показывает только ваш вход, запустите `/login` один раз. Если учетные данные были отозваны, свежий вход заменяет его. -* Если то же сообщение возвращается для той же учетной записи входа, учетная запись или организация больше не активны. Проверьте учетную запись и организацию, которые сообщает `/status`, и попросите администратора вашей организации восстановить доступ. -* Если [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars) указывает на [LLM gateway](/docs/ru/llm-gateway), текст после `401` — это сообщение вашего шлюза, а не Anthropic, и `/login` не изменяет его. Исправьте учетные данные, которые ожидает ваш шлюз, вместо этого. +* Если `/status` показывает строку `API key`, которая не помечена как неиспользуемая, активными учётными данными является одобренный [`ANTHROPIC_API_KEY`](/docs/ru/authentication#authentication-precedence), и он имеет приоритет над вашим входом, поэтому `/login` его не заменяет. Выполните ротацию ключа в Claude Console или вернитесь к подписке, выполнив `unset ANTHROPIC_API_KEY` или в PowerShell `Remove-Item Env:ANTHROPIC_API_KEY`. +* Если `/status` показывает только ваш вход, запустите `/login` один раз. Если учётные данные были отозваны, новый вход заменит их. +* Если то же сообщение возвращается для той же учётной записи, учётная запись или организация больше не активна. Проверьте учётную запись и организацию, которые показывает `/status`, и попросите администратора организации восстановить доступ. +* Если [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars) указывает на [LLM-шлюз](/docs/ru/llm-gateway), текст после `401` — это сообщение вашего шлюза, а не Anthropic, и `/login` его не меняет. Вместо этого исправьте учётные данные, которые ожидает ваш шлюз.

- Login expired + Срок входа истёк

-Claude Code попытался обновить ваш сохраненный вход claude.ai, и служба OAuth отклонила сохраненный токен обновления, поэтому Claude Code очистил сохраненные учетные данные. После этого каждый запрос модели останавливается локально с этим сообщением перед тем, как достичь API, потому что только `/login` может создать новые учетные данные. +Claude Code попытался обновить ваш сохранённый вход claude.ai, и служба OAuth отклонила сохранённый токен обновления, поэтому Claude Code удалил сохранённые учётные данные. После этого каждый запрос к модели останавливается локально с этим сообщением, не доходя до API, потому что только `/login` может создать новые учётные данные. -До v2.1.206 Claude Code отправлял запрос модели в любом случае с любыми оставшимися учетными данными в окружении, и каждая модель затем завершалась ошибкой [There's an issue with the selected model](#theres-an-issue-with-the-selected-model) или 401 вместо запроса на вход. +До версии v2.1.206 Claude Code всё равно отправлял запрос к модели с теми учётными данными, которые оставались в окружении, и тогда каждая модель завершалась ошибкой [Проблема с выбранной моделью](#theres-an-issue-with-the-selected-model) или 401 вместо предложения войти. ```text theme={null} Login expired · Please run /login ``` -В [non-interactive mode](/docs/ru/headless) (`-p`) и [Agent SDK](/docs/ru/agent-sdk/overview) сообщение читается следующим образом, и код структурированной ошибки — `authentication_failed`: +В [неинтерактивном режиме](/docs/ru/headless) (`-p`) и в [Agent SDK](/docs/ru/agent-sdk/overview) сообщение выглядит следующим образом, а структурированный код ошибки — `authentication_failed`: ```text theme={null} Failed to authenticate: OAuth session expired and could not be refreshed ``` -Это не то же состояние, что [OAuth token revoked or expired](#oauth-token-revoked-or-expired). Эти сообщения сообщают об отклонении, которое API вернул. Claude Code сам производит `Login expired` для входа, который он уже не смог обновить, поэтому он не отправляет запрос. Когда обновление не удается, потому что сама учетная запись приостановлена, а не потому, что вход устарел, Claude Code показывает [Your account is on hold](#your-account-is-on-hold) вместо этого. +Это не то же состояние, что [OAuth-токен отозван или истёк](#oauth-token-revoked-or-expired). Те сообщения сообщают об отказе, который вернул API. `Login expired` Claude Code формирует сам для входа, который ему уже не удалось обновить, поэтому запрос не отправляется. Когда обновление не удаётся из-за того, что приостановлена сама учётная запись, а не из-за устаревшего входа, Claude Code вместо этого показывает [Ваша учётная запись заблокирована](#your-account-is-on-hold). -Сеансы, аутентифицированные с помощью ключа API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или стороннего поставщика, не используют сохраненный вход и никогда не видят это сообщение. +Сессии, аутентифицированные с помощью API-ключа, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или стороннего провайдера, не используют сохранённый вход и никогда не видят этого сообщения. -Вы можете проверить это состояние перед тем, как запрос завершится ошибкой: [`/status`](/docs/ru/commands) показывает строку `Login`, читающую `Expired — log in again`, плюс организацию и электронную почту, которые она сохранила для истекшего входа. Строка появляется только, когда сохраненный вход является вашим активным учетным данием и больше не может быть обновлен. Сеансы, аутентифицированные другим способом, не показывают строку, даже если истекший вход остается сохраненным. До v2.1.210 `/status` не давал никакого указания в этом состоянии, что вход когда-либо существовал, потому что очищенное учетное данные оставило ему нечего сообщать. +Вы можете проверить это состояние до того, как запрос завершится ошибкой: [`/status`](/docs/ru/commands) показывает строку `Login` со значением `Expired — log in again`, а также организацию и адрес электронной почты, сохранённые для истёкшего входа. Строка появляется только тогда, когда сохранённый вход является вашими активными учётными данными и больше не может быть обновлён. Сессии, аутентифицированные иным способом, не показывают эту строку, даже если истёкший вход остаётся сохранённым. До версии v2.1.210 `/status` в этом состоянии никак не показывал, что вход вообще существовал, потому что удалённые учётные данные не оставляли ему информации для отображения. **Что делать:** -* Запустите `/login`, чтобы снова войти. Повторная попытка без входа показывает то же сообщение при каждом запросе. -* В неинтерактивном режиме запустите `claude` в том же окружении, завершите `/login`, затем повторно запустите вашу команду. Для автоматизации, которая не может войти интерактивно, аутентифицируйтесь с помощью `ANTHROPIC_API_KEY` или [generate a long-lived token with `claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token). -* Если вход продолжает не удаваться, см. [Login and authentication](/docs/ru/troubleshoot-install#login-and-authentication) +* Запустите `/login`, чтобы войти снова. Повторные попытки без входа показывают то же сообщение при каждом запросе. +* Если вы входите со своей учётной записью claude.ai в другом окне Claude Code, см. [Не выполнен вход](#not-logged-in), чтобы узнать, когда эта сессия начинает использовать этот вход самостоятельно. +* В неинтерактивном режиме запустите `claude` в том же окружении, выполните `/login`, затем повторно запустите команду. Для автоматизации, в которой невозможен интерактивный вход, используйте аутентификацию с `ANTHROPIC_API_KEY` или [сгенерируйте долгосрочный токен с помощью `claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token). +* Если вход продолжает завершаться неудачей, см. [Вход и аутентификация](/docs/ru/troubleshoot-install#login-and-authentication)

- Could not refresh your login because another Claude Code process is refreshing it + Не удалось обновить вход, потому что его обновляет другой процесс Claude Code

-Это сообщение не означает, что ваш вход был отклонен. Ваш сохраненный вход claude.ai истек и нуждался в обновлении. Другой процесс Claude Code на той же машине держал общую блокировку обновления, или вышел и оставил ее позади, и обновление не прогрессировало, пока этот сеанс ждал. Claude Code останавливает запрос перед его отправкой: +Это сообщение не означает, что ваш вход был отклонён. Срок действия вашего сохранённого входа claude.ai истёк, и его нужно было обновить. Другой процесс Claude Code на той же машине удерживал общую блокировку обновления или завершился, оставив её, и пока эта сессия ждала, обновление не продвинулось. Claude Code останавливает запрос до отправки: ```text theme={null} Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login ``` -В [non-interactive mode](/docs/ru/headless) (`-p`) и [Agent SDK](/docs/ru/agent-sdk/overview) сообщение читается следующим образом, и код структурированной ошибки — `server_error`: +В [неинтерактивном режиме](/docs/ru/headless) (`-p`) и в [Agent SDK](/docs/ru/agent-sdk/overview) сообщение выглядит следующим образом, а структурированный код ошибки — `server_error`: ```text theme={null} Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again ``` -Сеансы, аутентифицированные с помощью ключа API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или стороннего поставщика, не используют сохраненный вход и никогда не видят это сообщение. +Сессии, аутентифицированные с помощью API-ключа, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или стороннего провайдера, не используют сохранённый вход и никогда не видят этого сообщения. **Что делать:** -* Попробуйте снова через минуту. Если другой процесс завершит обновление первым, этот сеанс использует обновленный вход. -* Если сообщение продолжает возвращаться, закройте другие окна и процессы Claude Code, затем повторите попытку. -* Если оно возвращается без другого запущенного процесса Claude Code, запустите `/login`. Повторный вход не ждет блокировку обновления. +* Повторите попытку через минуту. Если другой процесс завершит обновление первым, эта сессия использует обновлённый вход. +* Если сообщение продолжает появляться, закройте другие окна и процессы Claude Code, затем повторите попытку. +* Если оно появляется, когда никакие другие процессы Claude Code не запущены, запустите `/login`. Повторный вход не ждёт снятия блокировки обновления.

- Couldn't save your login + Не удалось сохранить вход

-Вы вошли с claude.ai, но Claude Code не смог сохранить вход в его хранилище учетных данных, поэтому вход не завершился. На macOS это может произойти, когда цепочка входа блокируется, например, при сне или неактивности, после того как Claude Code уже прочитал или сохранил учетные данные в ней во время того же сеанса. +Вы вошли через claude.ai, но Claude Code не смог сохранить вход в своё хранилище учётных данных, поэтому вход не завершился. В macOS это может произойти, когда связка ключей входа блокируется, например при переходе в сон или простое, после того как Claude Code уже прочитал или сохранил в ней учётные данные в той же сессии. ```text theme={null} Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again. Couldn't save your login. Try logging in again. ``` -Первая форма появляется на macOS, а вторая везде. Временный сбой хранилища учетных данных, такой как тайм-аут или нечитаемое хранилище, производит то же сообщение. +Первая форма появляется в macOS, а вторая — на всех остальных платформах. Временный сбой хранилища учётных данных, например таймаут или нечитаемое хранилище, приводит к тому же сообщению. **Что делать:** -* На macOS разблокируйте цепочку входа, затем запустите `/login` снова -* На других платформах запустите `/login` снова -* Если вход все еще не сохраняется, см. [Not logged in or token expired](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired) для команды разблокировки цепочки и других шагов восстановления хранилища учетных данных +* В macOS разблокируйте связку ключей входа, затем снова запустите `/login` +* На других платформах снова запустите `/login` +* Если вход по-прежнему не сохраняется, см. [Не выполнен вход или токен истёк](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired), где приведена команда разблокировки связки ключей и другие шаги восстановления хранилища учётных данных

- Failed to start OAuth callback server + Не удалось запустить сервер обратного вызова OAuth

-Когда `/login`, `claude auth login`, или `claude setup-token` подписывает вас через браузер, Claude Code открывает прослушивающий порт на `127.0.0.1`, чтобы ваш браузер мог вернуть результат входа ему. Это сообщение означает, что Claude Code не смог открыть этот порт, и вход останавливается перед появлением окна браузера или URL входа: +Когда `/login`, `claude auth login` или `claude setup-token` выполняют вход через браузер, Claude Code открывает прослушивающий порт на `127.0.0.1`, чтобы браузер мог вернуть ему результат входа. Это сообщение означает, что Claude Code не смог открыть этот порт, и вход останавливается до появления окна браузера или URL входа: ```text theme={null} Failed to start OAuth callback server: Failed to start server. Is port 0 in use? ``` -Если ваше сообщение заканчивается на `Is port 0 in use?`, попытка прослушивания адреса IPv4 loopback `127.0.0.1` полностью завершилась ошибкой. Потому что сбой происходит перед существованием URL входа, поток `Paste code here if prompted` недоступен как обходной путь. +Если ваше сообщение заканчивается на `Is port 0 in use?`, попытка прослушивать адрес обратной петли IPv4 `127.0.0.1` полностью не удалась. Поскольку сбой происходит до того, как появляется URL входа, процесс `Paste code here if prompted` недоступен в качестве обходного пути. **Что делать:** -* Чтобы войти прямо сейчас без локального слушателя: если вы используете подписку claude.ai, запустите [`claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token) на машине, где вход работает, и установите токен, который он выводит, как `CLAUDE_CODE_OAUTH_TOKEN` на этой машине. В противном случае установите `ANTHROPIC_API_KEY` на ключ из [Claude Console](https://platform.claude.com/settings/keys). [Authentication precedence](/docs/ru/authentication#authentication-precedence) объясняет, как Claude Code выбирает между учетными данными. -* Чтобы использовать вход в браузер на этой машине вместо этого, Claude Code должен быть в состоянии прослушивать `127.0.0.1`. Если он работает внутри песочницы, проверьте, что политика песочницы позволяет прослушивать локальные порты, затем запустите `/login` снова. Если он должен быть в состоянии и все еще завершается ошибкой, запустите `/feedback`, чтобы отчет включал детали вашего окружения. +* Чтобы войти сразу без локального прослушивателя: если вы используете подписку claude.ai, запустите [`claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token) на машине, где вход работает, и задайте выведенный токен как `CLAUDE_CODE_OAUTH_TOKEN` на этой машине. В противном случае задайте `ANTHROPIC_API_KEY` ключом из [Claude Console](https://platform.claude.com/settings/keys). [Приоритет аутентификации](/docs/ru/authentication#authentication-precedence) объясняет, как Claude Code выбирает между учётными данными. +* Чтобы вместо этого использовать вход через браузер на этой машине, Claude Code должен иметь возможность прослушивать `127.0.0.1`. Если он работает внутри песочницы, проверьте, что политика песочницы разрешает прослушивание локальных портов, затем снова запустите `/login`. Если такая возможность должна быть, но сбой сохраняется, запустите `/feedback`, чтобы отчёт включал сведения о вашем окружении.

- Claude login not accepted + Вход Claude не принят

-Вы попытались запустить [cloud session](/docs/ru/claude-code-on-the-web), и сервер отказался создавать его с 401: он не принял вход Claude, который отправила эта машина, обычно потому, что вход истек или был отозван. +Вы попытались запустить [облачную сессию](/docs/ru/claude-code-on-the-web), и сервер отказался её создавать с ошибкой 401: он не принял вход Claude, отправленный этой машиной, обычно потому, что вход истёк или был отозван. -Первая часть строки — это собственная причина сервера, когда он дает одну. В противном случае строка читается: +Первая часть строки — это собственная причина сервера, если он её сообщает. В противном случае строка выглядит так: ```text theme={null} Claude login not accepted · Run /login, then try again @@ -1339,15 +1374,15 @@ Claude login not accepted · Run /login, then try again **Что делать:** -* Запустите `/login`, завершите вход, затем запустите сеанс снова +* Запустите `/login`, завершите вход, затем снова запустите сессию

- Artifacts need a claude.ai login + Для артефактов нужен вход claude.ai

-Claude Code отказал в публикации или чтении [artifact](/docs/ru/artifacts), потому что сеанс не имеет входа claude.ai, который он может использовать для артефактов. +Claude Code отказался публиковать или читать [артефакт](/docs/ru/artifacts), потому что у сессии нет входа claude.ai, который можно использовать для артефактов. -Каждая форма сообщения начинается с одних и тех же слов, за которыми следует средство, которое зависит от того, как ваш сеанс аутентифицируется. Без конкурирующего учетного данные он читается: +Каждая форма сообщения начинается с одних и тех же слов, за которыми следует способ устранения, зависящий от того, как аутентифицируется ваша сессия. При отсутствии конкурирующих учётных данных оно выглядит так: ```text theme={null} Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials. @@ -1355,90 +1390,94 @@ Artifacts need a claude.ai login. Run /login and select "Claude account with sub **Что делать:** -* Запустите `/login` и выберите **Claude account with subscription**. Опция **Anthropic Console account** не предоставляет учетные данные claude.ai. -* Когда сообщение называет учетное данные, которое имеет приоритет, такое как `ANTHROPIC_API_KEY`, параметр `apiKeyHelper` или ключ Console, сохраненный предыдущим `/login`, удалите его так, как говорит сообщение, затем запустите `/login` -* Когда сообщение говорит, что этот удаленный сеанс аутентифицируется через машину, которая его запустила, войдите в claude.ai на этой машине, затем переподключите сеанс -* Когда сообщение говорит, что учетные данные вводятся окружением хоста сеанса, вы не можете изменить его в этом сеансе; запустите сеанс, который подписан на claude.ai -* См. [Availability](/docs/ru/artifacts#availability) для других требований, которые имеют артефакты, такие как план, поставщик модели и политика организации +* Запустите `/login` и выберите **Claude account with subscription**. Вариант **Anthropic Console account** не предоставляет учётные данные claude.ai. +* Если сообщение называет учётные данные, которые имеют приоритет, например `ANTHROPIC_API_KEY`, настройку `apiKeyHelper` или ключ Console, сохранённый предыдущим `/login`, удалите их так, как указано в сообщении, затем запустите `/login` +* Если сообщение говорит, что эта удалённая сессия аутентифицируется через машину, которая её запустила, войдите в claude.ai на той машине, затем переподключите сессию +* Если сообщение говорит, что учётные данные внедрены хост-окружением сессии, вы не можете изменить их в этой сессии; запустите сессию, в которой выполнен вход в claude.ai +* Другие требования к артефактам, такие как план, провайдер модели и политика организации, см. в разделе [Доступность](/docs/ru/artifacts#availability)

- Administrator policy requires a Cloud gateway sign-in + Политика администратора требует входа через Cloud gateway

-Параметры [managed settings](/docs/ru/managed-settings) администратора на этой машине установили [`forceLoginMethod`](/docs/ru/settings-reference#forceloginmethod) на `"gateway"` или установили [`forceLoginGatewayUrl`](/docs/ru/settings-reference#forcelogingatewayurl). Если вы не выберете облачного поставщика через переменную, такую как `CLAUDE_CODE_USE_BEDROCK`, Claude Code затем принимает только вход [Claude apps gateway](/docs/ru/claude-apps-gateway). Вы видите одно из двух сообщений: +[Управляемые настройки](/docs/ru/managed-settings) администратора на этой машине задают для [`forceLoginMethod`](/docs/ru/settings-reference#forceloginmethod) значение `"gateway"` или задают [`forceLoginGatewayUrl`](/docs/ru/settings-reference#forcelogingatewayurl). Если вы не выбираете облачного провайдера через переменную, например `CLAUDE_CODE_USE_BEDROCK`, Claude Code в этом случае принимает только вход через [шлюз приложений Claude](/docs/ru/claude-apps-gateway). Вы видите одно из двух сообщений: ```text theme={null} Not signed in to the Cloud gateway — run /login. ``` -Запросы модели завершаются ошибкой с этим сообщением, когда сеанс не имеет входа шлюза, например, потому что вы не запустили `/login` с момента достижения политики машины. +Запросы к модели завершаются этим сообщением, когда у сессии нет входа через шлюз, например потому что вы не запускали `/login` с тех пор, как политика поступила на машину. + +Если на машине также есть учётные данные, выданные Anthropic, а управляемые настройки задают `forceLoginMethod` или `forceLoginOrgUUID`, Claude Code вместо этого завершает работу при запуске. Такими учётными данными может быть переменная `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN`, настройка `apiKeyHelper` или API-ключ, сохранённый при предыдущем входе в Claude Console. -Если машина также содержит учетные данные, выданные Anthropic, и параметры управления установили `forceLoginMethod` или `forceLoginOrgUUID`, Claude Code вместо этого выходит при запуске. Это учетное данные может быть переменной `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN`, параметром `apiKeyHelper` или ключом API, сохраненным более ранним входом Claude Console. Сообщение начинается: +Сообщение при запуске называет учётные данные, с которыми настроена сессия, место, где они заданы, и шаг, который их удаляет. Например, если в вашей оболочке задана переменная `ANTHROPIC_API_KEY`, оно выглядит так: ```text theme={null} -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. +Administrator policy requires a Cloud gateway sign-in on this machine, but this session is configured with an API key from ANTHROPIC_API_KEY, which a gateway machine does not accept. + +To continue: unset ANTHROPIC_API_KEY (or run in a shell without it), then run claude and sign in with /login. ``` **Что делать:** -* Запустите `/login` и завершите вход на экране **Cloud gateway** -* Для сообщения при запуске удалите параметр `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`, который вы настроили. Чтобы удалить сохраненный ключ API Console, запустите `claude auth logout`, который также удаляет сохраненный вход claude.ai. Если вы выберете облачного поставщика с `CLAUDE_CODE_USE_*`, сеанс затем запускается без входа. В противном случае запустите `claude` и запустите `/login` -* Если вы считаете, что машина не должна требовать шлюз, попросите администратора, который управляет ею, удалить `forceLoginMethod` и `forceLoginGatewayUrl` из его параметров управления +* Для `Not signed in to the Cloud gateway` запустите `/login` и завершите вход на экране **Cloud gateway** +* Для сообщения при запуске удалите учётные данные, следуя шагам в конце сообщения +* Если вы считаете, что машина не должна требовать шлюз, попросите администратора, который ею управляет, удалить `forceLoginMethod` и `forceLoginGatewayUrl` из её управляемых настроек + +До версии v2.1.284 сообщение при запуске перечисляло возможные учётные данные вместо того, чтобы называть настроенные. Оно начиналось с `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.` Если вы видите эту формулировку и не можете понять, какие учётные данные удалить, обновитесь до версии v2.1.284 или новее и снова запустите `claude`. -На v2.1.265 регрессия также показала первое сообщение в некоторых конфигурациях LLM-gateway и прокси, которые аутентифицируются с помощью ключа API, `apiKeyHelper` или пользовательских заголовков, даже без требования администратора на машине. Обновитесь до v2.1.266 или более поздней версии. Вам не нужно менять вашу конфигурацию. +В версии v2.1.265 из-за регрессии первое сообщение также появлялось в некоторых конфигурациях LLM-шлюзов и прокси, которые аутентифицируются с помощью 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 использовал оставшееся учетное данные там. +До версии v2.1.261 на машинах, где `forceLoginMethod` имеет значение `"gateway"`, Claude Code использовал оставшийся сохранённый вход вместо того, чтобы завершать запросы к модели ошибкой, и сообщал о настроенных учётных данных окружения сообщением `This machine's managed settings require a first-party login` вместо сообщения при запуске.

- Your account is on hold + Ваша учётная запись заблокирована

-Учетная запись Claude позади вашего входа была приостановлена. Claude Code показывает первое сообщение, когда он пытается обновить ваш сохраненный вход и узнает о задержке, и второе, когда завершенный вход в браузер сообщает об этом: +Учётная запись Claude, стоящая за вашим входом, приостановлена. Claude Code показывает первое сообщение, когда пытается обновить ваш сохранённый вход и узнаёт о блокировке, а второе — когда о ней сообщает вход, выполненный вами в браузере: ```text theme={null} 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](/docs/ru/headless) (`-p`) и [Agent SDK](/docs/ru/agent-sdk/overview) код структурированной ошибки — `account_on_hold`. До v2.1.235 Claude Code сообщал о задержанной учетной записи как [Login expired · Please run /login](#login-expired), чьи шаги восстановления не могут очистить задержку. +Повторный вход с той же учётной записью не убирает сообщение, потому что блокировка наложена на учётную запись, а не на вход. В [неинтерактивном режиме](/docs/ru/headless) (`-p`) и в [Agent SDK](/docs/ru/agent-sdk/overview) структурированный код ошибки — `account_on_hold`. До версии v2.1.235 Claude Code сообщал о заблокированной учётной записи как [Login expired · Please run /login](#login-expired), шаги восстановления для которого не могут снять блокировку. **Что делать:** -* Откройте ссылку в сообщении, чтобы просмотреть детали задержки или подать апелляцию -* Если у вас есть другая учетная запись Claude или ключ API, на который не влияет задержка, вы можете продолжить работу, пока задержка разрешается: запустите `/login` с этой учетной записью, или установите ключ с `ANTHROPIC_API_KEY` +* Откройте ссылку в сообщении, чтобы просмотреть подробности блокировки или обжаловать её +* Если у вас есть другая учётная запись Claude или API-ключ, на которые блокировка не распространяется, вы можете продолжать работу, пока блокировка не будет снята: запустите `/login` с этой учётной записью или задайте ключ через `ANTHROPIC_API_KEY`

- Anthropic profile login expired + Срок входа профиля Anthropic истёк

-Claude Code аутентифицируется через профиль учетных данных Anthropic, чьи сохраненные учетные данные входа истекли, и профиль не содержит учетные данные обновления, которые Claude Code может использовать для его обновления. Claude Code останавливает каждый запрос локально без повторных попыток, потому что повторная попытка прочитает те же истекшие учетные данные. +Claude Code проходит аутентификацию через профиль учётных данных Anthropic, сохранённые учётные данные входа которого истекли, и в профиле нет учётных данных обновления, которые Claude Code мог бы использовать для их продления. Claude Code останавливает каждый запрос локально без повторных попыток, потому что повторная попытка прочитала бы те же истёкшие учётные данные. ```text theme={null} 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](/docs/ru/authentication#sign-in-without-an-api-key). Сеансы, которые аутентифицируются с помощью ключа API, токена-носителя, такого как `ANTHROPIC_AUTH_TOKEN`, или стороннего поставщика, никогда не видят это сообщение. +Это появляется только тогда, когда активные учётные данные поступают из профиля учётных данных Anthropic — того, который вы выбираете переменной окружения `ANTHROPIC_PROFILE`, который Claude Code обнаруживает как активный профиль в вашем каталоге конфигурации Anthropic, или который Claude Code записал, когда вы [вошли без API-ключа](/docs/ru/authentication#sign-in-without-an-api-key). Сессии, аутентифицирующиеся с помощью API-ключа, Bearer-токена, такого как `ANTHROPIC_AUTH_TOKEN`, или стороннего провайдера, никогда не видят этого сообщения. -На машине, которая [offers the keyless sign-in](/docs/ru/authentication#sign-in-without-an-api-key), запустите `/login`, выберите учетную запись Anthropic Console и снова войдите, чтобы обновить профиль, который написали вход без ключа Console или CLI платформы Claude `ant auth login`. Claude Code заменяет истекшие учетные данные в этом профиле. Для профиля федерации или созданного другим инструментом `/login` не обновляет учетные данные. Какую форму вы видите, зависит от того, выбрали ли вы профиль или Claude Code его обнаружил: +На машине, которая [предлагает вход без ключа](/docs/ru/authentication#sign-in-without-an-api-key), запустите `/login`, выберите учётную запись Anthropic Console и войдите снова, чтобы обновить профиль, записанный входом в Console без ключа или командой `ant auth login` Claude Platform CLI. 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` в этом случае тоже. +* Если вы явно задали `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](/docs/ru/authentication#sign-in-without-an-api-key), запустите `/login` и выберите учетную запись Anthropic Console для профиля, который написали вход без ключа Console или CLI платформы Claude `ant auth login`; для других профилей используйте инструмент, который их создал -* Если администратор подготовил учетные данные профиля, попросите его выдать новые -* Запустите `/status`, чтобы подтвердить активный источник учетных данных и имя профиля -* Чтобы перестать использовать профиль, отмените установку `ANTHROPIC_PROFILE`, если вы его установили, затем аутентифицируйтесь другим способом, такой как `/login` или `ANTHROPIC_API_KEY` +* Снова войдите в профиль, затем повторите попытку: на машине, которая [предлагает вход без ключа](/docs/ru/authentication#sign-in-without-an-api-key), запустите `/login` и выберите учётную запись Anthropic Console для профиля, записанного входом в Console без ключа или командой `ant auth login` Claude Platform CLI; для других профилей используйте инструмент, который их создал +* Если учётные данные профиля предоставил администратор, попросите его выдать новые +* Запустите `/status`, чтобы проверить активный источник учётных данных и имя профиля +* Чтобы перестать использовать профиль, сбросьте `ANTHROPIC_PROFILE`, если вы её задавали, затем пройдите аутентификацию другим способом, например через `/login` или `ANTHROPIC_API_KEY`

- OAuth scope requirement + Требование к OAuth scope

-Сохраненный токен предшествует области разрешения, которая требуется более новой функции: +Сохранённый токен был выдан до появления scope разрешений, который нужен новой функции: ```text theme={null} OAuth token does not meet scope requirement: user:profile @@ -1446,13 +1485,13 @@ OAuth token does not meet scope requirement: user:profile **Что делать:** -* Запустите `/login`, чтобы получить новый токен с текущими областями. Вам не нужно сначала выходить. +* Запустите `/login`, чтобы получить новый токен с текущими scope. Предварительно выходить не нужно.

- claude.ai rejected the session token + claude.ai отклонил токен сессии

-Запрос [claude.ai connector](/docs/ru/mcp#use-mcp-servers-from-claude-ai) завершился ошибкой, потому что claude.ai отклонил токен из вашего входа Claude Code. Отклоненный токен — это ваш вход, а не собственная авторизация соединителя в claude.ai, поэтому повторная авторизация соединителя не разрешает это. В `/mcp` соединитель показывает как `session token rejected` и его представление деталей читается: +Запрос [коннектора claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) завершился ошибкой, потому что claude.ai отклонил токен из вашего входа в Claude Code. Отклонённый токен — это ваш вход, а не собственная авторизация коннектора в claude.ai, поэтому повторная авторизация коннектора проблему не решает. В `/mcp` коннектор отображается как `session token rejected`, а в его подробном представлении написано: ```text theme={null} claude.ai rejected the session token. Run /login, then reconnect. @@ -1460,18 +1499,18 @@ claude.ai rejected the session token. Run /login, then reconnect. **Что делать:** -* Запустите `/login`, чтобы снова войти -* Переподключите соединитель из `/mcp`, или запустите `/mcp reconnect `. Переподключение перед повторным входом оставляет соединитель в том же состоянии. Опция **Reconnect** панели `/mcp` сообщает `your claude.ai session token was rejected`; введенная форма `/mcp reconnect ` сообщает об успешном переподключении, даже если токен все еще отклонен. +* Запустите `/login`, чтобы войти снова +* Переподключите коннектор из `/mcp` или выполните `/mcp reconnect `. Переподключение до повторного входа оставляет коннектор в том же состоянии. Вариант **Reconnect** в панели `/mcp` сообщает `your claude.ai session token was rejected`; набранная вручную форма `/mcp reconnect ` сообщает об успешном переподключении, хотя токен по-прежнему отклоняется. -До v2.1.222 Claude Code отметил соединитель как нуждающийся в аутентификации вместо этого, что указывал вас на поток авторизации соединителя, даже если его завершение не разрешало состояние. +До версии v2.1.222 Claude Code вместо этого помечал коннектор как требующий аутентификации, что направляло вас в процесс авторизации коннектора, хотя его прохождение не устраняло это состояние.

- MCP server needs you to sign in again + MCP-сервер требует повторного входа

-Удаленный [MCP server](/docs/ru/mcp) отклонил учетные данные при вызове инструмента в середине сеанса, обычно потому, что вход или токен истек, или потому что токену не хватает разрешения, которое требует инструмент. Вызов инструмента завершается ошибкой, и `/mcp` отмечает сервер как [needing authentication](/docs/ru/mcp#authenticate-with-remote-mcp-servers). +Удалённый [MCP-сервер](/docs/ru/mcp) отклонил учётные данные при вызове инструмента посреди сессии, обычно потому, что вход или токен истёк, либо потому, что у токена нет разрешения, нужного инструменту. Вызов инструмента завершается ошибкой, и `/mcp` помечает сервер как [требующий аутентификации](/docs/ru/mcp#authenticate-with-remote-mcp-servers). -Для сервера, на который вы входите из Claude Code, включая соединитель claude.ai, вход истек или был отозван: +Для сервера, в который вы входите из Claude Code, включая коннектор claude.ai, вход истёк или был отозван: ```text theme={null} MCP server "" needs you to sign in again (run /mcp to re-authenticate) @@ -1479,13 +1518,13 @@ MCP server "" needs you to sign in again (run /mcp to re-authenticate) Запустите `/mcp`, выберите сервер и снова войдите из его меню. -Для сервера, настроенного со скриптом [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication), Claude Code уже повторно запустил помощника и повторил вызов один раз перед отображением этого: +Для сервера, настроенного со скриптом [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication), Claude Code уже повторно запустил хелпер и один раз повторил вызов, прежде чем показать это: ```text theme={null} MCP server "" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth) ``` -Проверьте, что помощник возвращает учетные данные, которые сервер принимает, затем переподключитесь из `/mcp`, который снова запускает помощника. +Убедитесь, что хелпер возвращает учётные данные, которые принимает сервер, затем переподключитесь из `/mcp`, что снова запустит хелпер. Для сервера со статическим заголовком `Authorization` в его конфигурации: @@ -1493,27 +1532,27 @@ MCP server "" rejected the credential from its headersHelper (check the he MCP server "" rejected the Authorization header in its config (update it, then run /mcp to reconnect) ``` -Обновите значение заголовка, где сервер настроен, затем переподключитесь из `/mcp`. +Обновите значение заголовка там, где настроен сервер, затем переподключитесь из `/mcp`. -До v2.1.273 истекший вход, `headersHelper` и случаи заголовка `Authorization` все показали `MCP server "" requires re-authorization (token expired)`. +До версии v2.1.273 во всех случаях — истёкшего входа, `headersHelper` и заголовка `Authorization` — показывалось `MCP server "" requires re-authorization (token expired)`. -Сервер также может отказать вызову инструмента с HTTP 403 `insufficient_scope`, чтобы попросить вас авторизовать область, иногда ту, которую ваш токен уже указывает. Сообщение называет эту область: +Сервер также может отклонить вызов инструмента с HTTP 403 `insufficient_scope`, чтобы попросить вас авторизовать scope, иногда такой, который уже указан в вашем токене. Сообщение называет этот scope: ```text theme={null} MCP server "" needs additional permissions (scope: "") — run /mcp to re-authenticate ``` -Запустите `/mcp`, выберите сервер и аутентифицируйтесь снова из его меню. +Запустите `/mcp`, выберите сервер и снова пройдите аутентификацию из его меню. -Когда конфигурация сервера не устанавливает ни [`oauth.scopes`](/docs/ru/mcp#restrict-oauth-scopes), ни [`authServerMetadataUrl`](/docs/ru/mcp#override-oauth-metadata-discovery), Claude Code запрашивает область, которую назвал сервер. С любым параметром Claude Code запрашивает области этого параметра вместо этого. Если вы закрепили `oauth.scopes`, добавьте отсутствующую область в этот список перед повторной аутентификацией. +Если в конфигурации сервера не задано ни [`oauth.scopes`](/docs/ru/mcp#restrict-oauth-scopes), ни [`authServerMetadataUrl`](/docs/ru/mcp#override-oauth-metadata-discovery), Claude Code запрашивает scope, названный сервером. Если задана любая из этих настроек, Claude Code вместо этого запрашивает scope из неё. Если вы закрепили `oauth.scopes`, добавьте недостающий scope в этот список, прежде чем снова проходить аутентификацию. -До v2.1.274 этот случай показал сообщение `needs you to sign in again`, и до v2.1.273 он показал `requires re-authorization (token expired)` как другие случаи. +До версии v2.1.274 в этом случае показывалось сообщение `needs you to sign in again`, а до версии v2.1.273 — `requires re-authorization (token expired)`, как и в остальных случаях.

- MCP server URL is missing or not a valid URL + URL MCP-сервера отсутствует или недействителен

-Claude Code отказал в запуске входа OAuth для удаленного MCP сервера, потому что настроенный `url` сервера не разбирается как URL. Если Claude Code не имеет более конкретной проблемы конфигурации для сообщения сервера, запуск [`claude mcp login `](/docs/ru/mcp#authenticate-from-the-command-line) в вашей оболочке выводит отказ как: +Claude Code отказался начинать вход OAuth для удалённого MCP-сервера, потому что настроенный для сервера `url` не распознаётся как URL. Если у Claude Code нет более конкретной проблемы конфигурации, о которой нужно сообщить для этого сервера, запуск [`claude mcp login `](/docs/ru/mcp#authenticate-from-the-command-line) в оболочке выводит отказ так: ```text theme={null} Couldn't complete authentication for "": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again. @@ -1521,104 +1560,104 @@ Couldn't complete authentication for "": This server's URL is missing or n **Что делать:** -* Установите запись `url` на реальную конечную точку сервера, где сервер настроен, или установите переменную окружения, которую его [`${VAR}` reference](/docs/ru/mcp#environment-variable-expansion-in-mcp-json) называет, затем запустите вход снова. +* Задайте для `url` записи реальный эндпоинт сервера там, где настроен сервер, или задайте переменную окружения, названную в её [ссылке `${VAR}`](/docs/ru/mcp#environment-variable-expansion-in-mcp-json), затем снова выполните вход.

- Issuer mismatch in authorization response + Несоответствие издателя в ответе авторизации

-Во время [MCP OAuth sign-in](/docs/ru/mcp#authenticate-with-remote-mcp-servers) сервер авторизации перенаправил обратно в Claude Code с параметром `iss`, который не называет издателя, которого Claude Code ожидал от метаданных OAuth сервера. Неправильный издатель на этом шаге — это то, как выглядит атака смешивания сервера авторизации, поэтому Claude Code завершает вход ошибкой вместо обмена кодом авторизации. Claude Code показывает ошибку в меню сервера `/mcp` после входа в браузер: +Во время [входа MCP OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers) сервер авторизации перенаправил обратно в Claude Code с параметром `iss`, который не называет издателя, ожидаемого Claude Code по метаданным OAuth сервера. Неверный издатель на этом шаге — признак атаки подмены сервера авторизации (mix-up), поэтому Claude Code прерывает вход, а не обменивает код авторизации. Claude Code показывает ошибку в меню сервера `/mcp` после входа в браузере: ```text theme={null} 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 завершает вход ошибкой. +`expected` — это издатель из метаданных OAuth сервера, а `received` — значение `iss`, переданное в перенаправлении. Вход, при котором перенаправление не содержит параметра `iss`, проходит проверку, если только метаданные сервера не задают `authorization_response_iss_parameter_supported`, — в этом случае Claude Code прерывает вход. **Что делать:** -* Попробуйте вход снова из `/mcp` -* Если ошибка повторяется, сообщите об этом оператору сервера. Исправление находится на стороне сервера: сервер авторизации должен вернуть того же издателя в параметре `iss`, который он объявляет в своих метаданных -* Чтобы подключиться, пока сервер исправляется, запустите Claude Code с [`MCP_SDK_GENERATION=v1`](/docs/ru/env-vars), чьи [runtime](/docs/ru/mcp#mcp-client-runtimes) не запускают эту проверку. Это удаляет защиту от атак смешивания, поэтому предпочитайте исправление на стороне сервера +* Повторите вход из `/mcp` +* Если ошибка повторяется, сообщите о ней оператору сервера. Исправление выполняется на стороне сервера: сервер авторизации должен возвращать в параметре `iss` того же издателя, которого он объявляет в своих метаданных +* Чтобы подключиться, пока сервер исправляют, запустите Claude Code с [`MCP_SDK_GENERATION=v1`](/docs/ru/env-vars), [среда выполнения](/docs/ru/mcp#mcp-client-runtimes) которого не выполняет эту проверку. Это снимает защиту от атак подмены, поэтому предпочтительнее исправление на стороне сервера -До v2.1.232 Claude Code использовал только v2 runtime в постепенном развертывании или когда вы установили `MCP_SDK_GENERATION=v2`. +До версии v2.1.232 Claude Code использовал среду выполнения v2 только при постепенном развёртывании или когда вы задавали `MCP_SDK_GENERATION=v2`.

- Refusing to send credentials to non-https token endpoint + Отказ отправлять учётные данные на эндпоинт токенов без https

-На [v2 runtime](/docs/ru/mcp#mcp-client-runtimes) Claude Code отправляет запрос токена [MCP OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers) только на конечную точку токена, обслуживаемую через HTTPS или на `localhost`, `127.0.0.1` или `::1`. Это сообщение означает, что конечная точка токена сервера ни то, ни другое, поэтому Claude Code остановился перед отправкой запроса. Это происходит после входа в браузер, поэтому шаг браузера сначала успешен, и снова, когда Claude Code обновляет токен сервера. +В [среде выполнения v2](/docs/ru/mcp#mcp-client-runtimes) Claude Code отправляет запрос токена [MCP OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers) только на эндпоинт токенов, обслуживаемый по HTTPS или по адресу `localhost`, `127.0.0.1` или `::1`. Это сообщение означает, что эндпоинт токенов сервера не удовлетворяет ни одному из этих условий, поэтому Claude Code остановился до отправки запроса. Это происходит после входа в браузере, поэтому сначала шаг в браузере завершается успешно, а затем снова — каждый раз, когда Claude Code обновляет токен сервера. -В его полной форме сообщение поступает из MCP SDK и цитирует конечную точку токена, которую он отказал. В журнале отладки оно следует `Error during auth completion:` для входа или `Token refresh failed:` для обновления. В вашей оболочке `claude mcp login ` выводит его после `Couldn't complete authentication for "":`, и в сеансе `/mcp` показывает его под меню сервера: +В полной форме сообщение исходит от MCP SDK и приводит отклонённый эндпоинт токенов. В отладочном логе оно следует за `Error during auth completion:` для входа или `Token refresh failed:` для обновления. В оболочке `claude mcp login ` выводит его после `Couldn't complete authentication for "":`, а в сессии `/mcp` показывает его в меню сервера: ```text theme={null} Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt). ``` -Claude Code рассматривает URL сервера, который имеет строку запроса или длинный случайный сегмент пути, как возможно секретный. Для такого сервера он редактирует ошибки входа, которые MCP SDK вызывает перед его отображением или логированием. Эта ошибка затем читается как короткое имя, которое может измениться между выпусками, такое как `io`, за которым следует `from the MCP SDK for` и отредактированный URL сервера. Другие ошибки из MCP SDK принимают ту же форму там. Отредактированное сообщение может быть этой ошибкой только, когда конечная точка токена сервера — это простой `http://` по адресу, отличному от `localhost`, `127.0.0.1` или `::1`. +Claude Code считает URL сервера, содержащий строку запроса или длинный сегмент пути, похожий на случайный, потенциально секретным. Для такого сервера он скрывает ошибки входа, которые выдаёт MCP SDK, прежде чем показывать или логировать их. Тогда эта ошибка выглядит как короткое имя, которое может меняться между выпусками, например `io`, за которым следуют `from the MCP SDK for` и скрытый URL сервера. Другие ошибки MCP SDK принимают там тот же вид. Скрытое сообщение может быть этой ошибкой только в том случае, если эндпоинт токенов сервера — обычный `http://` по адресу, отличному от `localhost`, `127.0.0.1` или `::1`. **Что делать:** -* Обслуживайте эту конечную точку токена через HTTPS, например, поместив сервер за обратный прокси или туннель, который завершает TLS и настраивает сервер на объявление адреса `https://` -* Чтобы подключиться без изменения сервера, запустите Claude Code с [`MCP_SDK_GENERATION=v1`](/docs/ru/env-vars), чьи [runtime](/docs/ru/mcp#mcp-client-runtimes) не применяют это правило и отправляют запрос токена через простой HTTP. Этот выбор длится до выхода и применяется к каждому серверу. Среда выполнения v1 также пропускает [issuer check](#issuer-mismatch-in-authorization-response), поэтому предпочитайте обслуживание конечной точки через HTTPS +* Обслуживайте этот эндпоинт токенов по HTTPS, например разместив сервер за обратным прокси или туннелем, который завершает TLS, и настроив сервер объявлять адрес `https://` +* Чтобы подключиться без изменения сервера, запустите Claude Code с [`MCP_SDK_GENERATION=v1`](/docs/ru/env-vars), [среда выполнения](/docs/ru/mcp#mcp-client-runtimes) которого не применяет это правило и отправляет запрос токена по обычному HTTP. Этот выбор действует до выхода из программы и применяется ко всем серверам. Среда выполнения v1 также пропускает [проверку издателя](#issuer-mismatch-in-authorization-response), поэтому предпочтительнее обслуживать эндпоинт по HTTPS

- AWS credentials expired or invalid + Учётные данные AWS истекли или недействительны

-Ваш токен сеанса AWS истек или был отклонен. Это сообщение появляется при 401 из [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) или [Mantle endpoint](/docs/ru/amazon-bedrock#use-the-mantle-endpoint), что является тем, как эти поставщики сообщают об истекшем токене безопасности. +Ваш токен сессии AWS истёк или был отклонён. Это сообщение появляется при ответе 401 от [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) или [эндпоинта Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint) — именно так эти провайдеры сообщают об истёкшем токене безопасности. -Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `AWS credentials expired or invalid`: +Подсказка о действии в середине зависит от вашей настройки. Неизменная часть — начальное `AWS credentials expired or invalid`: ```text theme={null} 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`. +До версии v2.1.273 это сообщение появлялось только при настроенном `awsAuthRefresh`. **Что делать:** -* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором -* Если [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration) установлен, запустите команду, названную в сообщении, такую как `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](/docs/ru/claude-platform-on-aws#1-configure-aws-credentials) -* Если ошибка повторяется после успешного выполнения команды обновления, подтвердите, что личность действительна вне Claude Code с помощью `aws sts get-caller-identity` в той же оболочке и профиле +* Если в подсказке сказано, что учётными данными управляет это окружение, учётные данные принадлежат приложению, которое запустило Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору +* Если задан [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration), выполните команду, указанную в сообщении, например `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. См. [Настройка учётных данных AWS](/docs/ru/claude-platform-on-aws#1-configure-aws-credentials) +* Если ошибка повторяется после успешного выполнения команды обновления, убедитесь, что идентификатор действителен вне Claude Code, выполнив `aws sts get-caller-identity` в той же оболочке и профиле

- AWS authentication failed + Сбой аутентификации AWS

-Ваш поставщик AWS вернул 403, или [Amazon Bedrock](/docs/ru/amazon-bedrock) вернул 401. +Ваш провайдер AWS вернул 403 или [Amazon Bedrock](/docs/ru/amazon-bedrock) вернул 401. -Amazon Bedrock сообщает об истекшем токене безопасности как 403, но 403 — это также то, как он сообщает об отказе в авторизации, такой как `AccessDeniedException` из отсутствующего разрешения IAM. Claude Code не может различить эти две причины. +Amazon Bedrock сообщает об истёкшем токене безопасности как о 403, но 403 также используется для сообщения об отказе в авторизации, например `AccessDeniedException` из-за отсутствующего разрешения IAM. Claude Code не может отличить эти две причины. -401 из Amazon Bedrock также приземляется здесь, а не в [AWS credentials expired or invalid](#aws-credentials-expired-or-invalid), потому что Amazon Bedrock не сообщает об истекшем токене как 401. 401 из этой конечной точки обычно поступает из чего-то еще в пути запроса, такого как корпоративный прокси. +Ответ 401 от Amazon Bedrock также попадает сюда, а не в раздел [Учётные данные AWS истекли или недействительны](#aws-credentials-expired-or-invalid), потому что Amazon Bedrock не сообщает об истёкшем токене как о 401. Ответ 401 от этого эндпоинта обычно исходит от чего-то другого на пути запроса, например от корпоративного прокси. -Обновление учетных данных исправляет истекший токен и не может исправить другие причины, поэтому сообщение предлагает оба: +Обновление учётных данных устраняет истёкший токен, но не может устранить другие причины, поэтому сообщение предлагает оба варианта: ```text theme={null} 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`. +Подсказка о действии в середине зависит от вашей настройки. Неизменная часть — начальное `AWS authentication failed`. -Когда 403 — это ответ Amazon Bedrock, что у вас нет доступа к модели с указанным ID модели, подсказка вместо этого говорит вам включить модель для вашей учетной записи и региона в консоли Amazon Bedrock. +Если 403 — это ответ Amazon Bedrock о том, что у вас нет доступа к модели с указанным идентификатором модели, подсказка вместо этого предлагает включить модель для вашей учётной записи и региона в консоли Amazon Bedrock. -До v2.1.273 это сообщение появлялось только, когда был настроен `awsAuthRefresh`. +До версии v2.1.273 это сообщение появлялось только при настроенном `awsAuthRefresh`. **Что делать:** -* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором -* Обновите ваши учетные данные AWS на случай, если истекшие учетные данные являются причиной: запустите команду [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration), названную в сообщении, когда она установлена, или обновите ваш вход SSO, ключи доступа, ключ API или токен прокси сами -* Если ваши учетные данные текущие, подтвердите разрешения IAM в [IAM configuration](/docs/ru/amazon-bedrock#iam-configuration), прикреплены к личности, которую вы используете, и что выбранная модель включена для вашей учетной записи и региона -* Запустите `aws sts get-caller-identity`, чтобы подтвердить, какую личность используют ваши запросы +* Если в подсказке сказано, что учётными данными управляет это окружение, учётные данные принадлежат приложению, которое запустило Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору +* Обновите учётные данные AWS на случай, если причина в истёкших учётных данных: выполните команду [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration), указанную в сообщении, если она задана, или самостоятельно обновите вход SSO, ключи доступа, API-ключ или токен прокси +* Если ваши учётные данные актуальны, убедитесь, что разрешения IAM из раздела [Конфигурация IAM](/docs/ru/amazon-bedrock#iam-configuration) назначены используемому вами идентификатору и что выбранная модель включена для вашей учётной записи и региона +* Выполните `aws sts get-caller-identity`, чтобы проверить, какой идентификатор используют ваши запросы

- Google Cloud credentials expired or invalid + Учётные данные Google Cloud истекли или недействительны

-Ваши учетные данные Google Cloud для [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) истекли или были отклонены: запрос вернул 401, что является тем, как Agent Platform сообщает об истечении учетных данных. +Ваши учётные данные Google Cloud для [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) истекли или были отклонены: запрос вернул 401 — именно так Agent Platform сообщает об истечении учётных данных. -Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `Google Cloud credentials expired or invalid`: +Подсказка о действии в середине зависит от вашей настройки. Неизменная часть — начальное `Google Cloud credentials expired or invalid`: ```text theme={null} 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 ... @@ -1626,21 +1665,21 @@ Google Cloud credentials expired or invalid · refresh your Google Cloud credent **Что делать:** -* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором -* Если вы аутентифицируетесь с учетными данными по умолчанию приложения, запустите команду [`gcpAuthRefresh`](/docs/ru/google-vertex-ai#advanced-credential-configuration), названную в сообщении, или `gcloud auth application-default login`, и завершите вход, затем повторите попытку -* Если вы маршрутизируете через [LLM gateway](/docs/ru/llm-gateway) с установленным `CLAUDE_CODE_SKIP_VERTEX_AUTH`, обновите токен шлюза в `ANTHROPIC_AUTH_TOKEN` или `ANTHROPIC_CUSTOM_HEADERS`, затем повторите попытку -* Если вы аутентифицируетесь с файлом ключа учетной записи обслуживания, подтвердите, что `GOOGLE_APPLICATION_CREDENTIALS` указывает на действительный ключ. См. [Configure GCP credentials](/docs/ru/google-vertex-ai#3-configure-gcp-credentials) -* Если ошибка повторяется после обновления, подтвердите, что личность работает вне Claude Code с помощью `gcloud auth application-default print-access-token` в той же оболочке +* Если в подсказке сказано, что учётными данными управляет это окружение, учётные данные принадлежат приложению, которое запустило Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору +* Если вы проходите аутентификацию с учётными данными приложения по умолчанию, выполните команду [`gcpAuthRefresh`](/docs/ru/google-vertex-ai#advanced-credential-configuration), указанную в сообщении, или `gcloud auth application-default login` и завершите вход, затем повторите попытку +* Если вы работаете через [LLM-шлюз](/docs/ru/llm-gateway) с заданной `CLAUDE_CODE_SKIP_VERTEX_AUTH`, обновите токен шлюза в `ANTHROPIC_AUTH_TOKEN` или `ANTHROPIC_CUSTOM_HEADERS`, затем повторите попытку +* Если вы проходите аутентификацию с файлом ключа сервисного аккаунта, убедитесь, что `GOOGLE_APPLICATION_CREDENTIALS` указывает на действительный ключ. См. [Настройка учётных данных GCP](/docs/ru/google-vertex-ai#3-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. +До версии v2.1.273 ответ 401 от Agent Platform вместо этого показывал общее сообщение `Please run /login` или `Failed to authenticate`, которое не может обновить учётные данные Google Cloud.

Google Cloud authentication failed

-[Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) вернул 403, который он использует для отказов в авторизации, а не истекших учетных данных. Обычно личность, с которой вы аутентифицируетесь, не имеет разрешения IAM, или модель не включена для вашего проекта. +[Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) вернул ошибку 403, которую он использует для отказов в авторизации, а не для истёкших учётных данных. Обычно у удостоверения, с которым вы проходите аутентификацию, отсутствует разрешение IAM, или модель не включена для вашего проекта. -Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `Google Cloud authentication failed`: +Подсказка о действии в середине зависит от вашей конфигурации. Неизменной остаётся начальная часть `Google Cloud authentication failed`: ```text theme={null} 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 ... @@ -1648,17 +1687,17 @@ Google Cloud authentication failed · refresh your Google Cloud credentials (app **Что делать:** -* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором -* Подтвердите роли в [IAM configuration](/docs/ru/google-vertex-ai#iam-configuration), предоставлены личности, с которой вы аутентифицируетесь -* Подтвердите, что модель включена для вашего проекта. См. [Request model access](/docs/ru/google-vertex-ai#2-request-model-access) +* Если в подсказке сказано, что учётные данные управляются этой средой, учётными данными владеет приложение, запустившее Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору +* Убедитесь, что роли из раздела [Конфигурация IAM](/docs/ru/google-vertex-ai#iam-configuration) предоставлены удостоверению, с которым вы проходите аутентификацию +* Убедитесь, что модель включена для вашего проекта. См. [Запрос доступа к модели](/docs/ru/google-vertex-ai#2-request-model-access) -До v2.1.273 403 из Agent Platform показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, которое не может обновить учетные данные Google Cloud. +До версии v2.1.273 при ошибке 403 от Agent Platform вместо этого отображалось общее сообщение `Please run /login` или `Failed to authenticate`, хотя это не позволяет обновить учётные данные Google Cloud.

Microsoft Foundry authentication failed

-[Microsoft Foundry](/docs/ru/microsoft-foundry) вернул 401 или 403: учетные данные Azure в запросе были отклонены, или личность позади них не имеет доступа к ресурсу Foundry. `/login` не может выпускать учетные данные Azure. Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `Microsoft Foundry authentication failed`: +[Microsoft Foundry](/docs/ru/microsoft-foundry) вернул ошибку 401 или 403: учётные данные Azure в запросе были отклонены, или у стоящего за ними удостоверения нет доступа к ресурсу Foundry. `/login` не может выпустить учётные данные Azure. Подсказка о действии в середине зависит от вашей конфигурации. Неизменной остаётся начальная часть `Microsoft Foundry authentication failed`: ```text theme={null} 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 ... @@ -1666,92 +1705,92 @@ Microsoft Foundry authentication failed · refresh your Foundry credential (ANTH **Что делать:** -* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором -* Обновите учетные данные, которые вы настроили в [Configure Azure credentials](/docs/ru/microsoft-foundry#2-configure-azure-credentials): поверните `ANTHROPIC_FOUNDRY_API_KEY`, выпустите свежий `ANTHROPIC_FOUNDRY_AUTH_TOKEN`, или запустите `az login`, чтобы цепочка учетных данных Microsoft Entra по умолчанию могла снова войти -* Если учетные данные текущие, подтвердите, что личность имеет доступ к ресурсу Foundry. См. [Azure RBAC configuration](/docs/ru/microsoft-foundry#azure-rbac-configuration) +* Если в подсказке сказано, что учётные данные управляются этой средой, учётными данными владеет приложение, запустившее Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору +* Обновите учётные данные, настроенные в разделе [Настройка учётных данных Azure](/docs/ru/microsoft-foundry#2-configure-azure-credentials): смените `ANTHROPIC_FOUNDRY_API_KEY`, выпустите новый `ANTHROPIC_FOUNDRY_AUTH_TOKEN` или выполните `az login`, чтобы цепочка учётных данных Microsoft Entra по умолчанию снова смогла выполнить вход +* Если учётные данные актуальны, убедитесь, что у удостоверения есть доступ к ресурсу Foundry. См. [Конфигурация Azure RBAC](/docs/ru/microsoft-foundry#azure-rbac-configuration) -До v2.1.273 401 или 403 из Microsoft Foundry показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, которое не может обновить учетные данные Azure. +До версии 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`: +Claude Code не смог получить пригодные учётные данные из цепочки поставщиков учётных данных AWS или из учётных данных приложения Google по умолчанию на машине, где он работает, поэтому ни один запрос не дошёл до вашего облачного провайдера. Прежде чем показать это сообщение, Claude Code очищает свои кэшированные учётные данные и дважды повторяет попытку. Подробности после `·` указывают конкретную причину, например истёкшую SSO-сессию, отсутствующие учётные данные приложения по умолчанию, о которых сообщается как `Could not load the default credentials`, или отозванный вход, о котором сообщается как `invalid_grant`: ```text theme={null} 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](/docs/ru/headless) с `-p` и в [Agent SDK](/docs/ru/agent-sdk/overview) код структурированной ошибки — `cloud_credential_error`. До v2.1.267 сообщение показало только текст деталей после `API Error:`, и структурированный код был `server_error` или `unknown`. +В [неинтерактивном режиме](/docs/ru/headless) с `-p` и в [Agent SDK](/docs/ru/agent-sdk/overview) структурированный код ошибки — `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](/docs/ru/troubleshoot-install#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 sso login --profile myprofile` или `gcloud auth application-default login`, затем повторите попытку. В разделе [Учётные данные Bedrock, Agent Platform или Foundry не загружаются](/docs/ru/troubleshoot-install#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 default-chain credential resolve timed out

-Цепочка поставщика учетных данных AWS по умолчанию не выдала учетные данные в течение 60 секунд, поэтому Claude Code остановил разрешение и завершил запрос ошибкой. Этот тайм-аут — одна из причин [Could not load AWS or Google Cloud credentials](#could-not-load-aws-or-google-cloud-credentials). Сбой — это локальное разрешение учетных данных: запрос никогда не достиг [Amazon Bedrock](/docs/ru/amazon-bedrock), [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) или [Mantle endpoint](/docs/ru/amazon-bedrock#use-the-mantle-endpoint). Claude Code очищает свой [credential cache](/docs/ru/amazon-bedrock#credential-caching-and-resolution-timeout) и повторяет попытку перед тем, как эта ошибка проявляется, поэтому к тому времени, когда вы ее видите, цепь зависла при повторных попытках. +Цепочка поставщиков учётных данных AWS по умолчанию не предоставила учётные данные в течение 60 секунд, поэтому Claude Code остановил их получение и завершил запрос с ошибкой. Этот таймаут — одна из причин ошибки [Could not load AWS or Google Cloud credentials](#could-not-load-aws-or-google-cloud-credentials). Сбой происходит при локальном получении учётных данных: запрос так и не дошёл до [Amazon Bedrock](/docs/ru/amazon-bedrock), [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) или [эндпоинта Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint). Прежде чем эта ошибка появится, Claude Code очищает свой [кэш учётных данных](/docs/ru/amazon-bedrock#credential-caching-and-resolution-timeout) и повторяет попытку, поэтому к моменту, когда вы её видите, цепочка зависла уже на нескольких попытках. ```text theme={null} 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) никогда не отвечает на зонд цепи. +Распространённые причины — команда `credential_process` в вашем профиле AWS, которая ожидает ввода, который не может получить, а также контейнер или VM, служба метаданных экземпляра (IMDS) которых так и не отвечает на проверку цепочки. -До v2.1.267 сообщение читалось `API Error: AWS default-chain credential resolve timed out`. -До v2.1.207 зависшая цепь оставляла запрос ожидающим неопределенно долго вместо завершения ошибкой. +До версии 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` -* Если ваша цепь запускает интерактивный вход, который законно требует более 60 секунд, такой как SSO с MFA через обертку, такую как `aws-vault`, поднимите лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars) +* Выполните `aws sts get-caller-identity` в той же оболочке с тем же `AWS_PROFILE`. Если команда тоже зависает, исправьте профиль; распространённая причина — команда `credential_process`, запрашивающая интерактивный ввод. +* Выполните вход до запуска Claude Code, например `aws sso login --profile myprofile` +* Если ваша цепочка выполняет интерактивный вход, которому действительно требуется больше 60 секунд, например SSO с MFA через обёртку вроде `aws-vault`, увеличьте лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars)

Bedrock setup verification timed out waiting for AWS

-Вызов AWS во время [Bedrock setup wizard](/docs/ru/amazon-bedrock#sign-in-with-bedrock) шага проверки учетных данных, такой как поиск учетных данных или проверка личности, не завершился в течение 60-секундного лимита. Мастер перестает ждать и завершает шаг проверки ошибкой: +Обращение к AWS во время проверки учётных данных в [мастере настройки Bedrock](/docs/ru/amazon-bedrock#sign-in-with-bedrock), например поиск учётных данных или проверка удостоверения, не завершилось в пределах 60-секундного лимита. Мастер прекращает ожидание, и шаг проверки завершается с ошибкой: ```text theme={null} 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`](/docs/ru/env-vars). +Число отражает ваш лимит: 60 секунд по умолчанию или значение, заданное в [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars). -Распространенные причины — это сеть или прокси, которые зависают запросы к AWS, включая обновление токена SSO, и помощник учетных данных, который все еще ждет входа, который вы не можете видеть. Поднимите лимит только, когда помощник законно требует больше времени. +Распространённые причины — сеть или прокси, задерживающие запросы к AWS, включая обновление токена SSO, а также вспомогательная программа учётных данных, всё ещё ожидающая ввода, который вы не видите. Увеличивайте лимит, только если вспомогательной программе действительно требуется больше времени. -Один зависший запрос к AWS также может завершиться ошибкой на его собственном тайм-ауте для каждого запроса, который показывает более короткое сообщение на том же шаге: +Отдельный зависший запрос к AWS также может завершиться ошибкой по собственному таймауту запроса, и тогда на том же шаге отображается более короткое сообщение: ```text theme={null} A request to AWS timed out. Check your network and proxy settings, then try again. ``` -Когда те же тайм-ауты происходят на шаге закрепления модели, мастер отмечает модель как `unreachable` вместо отображения любого сообщения. +Если такие же таймауты возникают на шаге закрепления модели, мастер помечает модель как `unreachable` вместо того, чтобы показывать любое из этих сообщений. **Что делать:** -* Запустите `aws sts get-caller-identity` в той же оболочке. Если он также зависает, зависание находится вне Claude Code, в вашей сети, вашем прокси или помощнике учетных данных в вашем профиле AWS; исправьте это сначала. -* Завершите любой интерактивный вход перед открытием мастера, например `aws sso login --profile myprofile` -* Если помощник учетных данных в вашем профиле AWS законно требует более 60 секунд для подсказки, поднимите лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars) +* Выполните `aws sts get-caller-identity` в той же оболочке. Если команда тоже зависает, проблема находится вне Claude Code — в вашей сети, прокси или вспомогательной программе учётных данных в профиле AWS; сначала устраните её. +* Выполните любой интерактивный вход до открытия мастера, например `aws sso login --profile myprofile` +* Если вспомогательной программе учётных данных в вашем профиле AWS действительно требуется больше 60 секунд, чтобы запросить у вас ввод, увеличьте лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars)

Cloud gateway session expired

-Вы вошли через [Claude apps gateway](/docs/ru/claude-apps-gateway), и сеанс шлюза, сохраненный на этой машине, истек и не смог быть обновлен, или шлюз больше его не принимает, например, после [JWT secret is replaced](/docs/ru/claude-apps-gateway-deploy#jwt-secret-rotation) шлюза. Если вы видите эту строку при запуске `claude` интерактивно, сеанс открылся без входа в шлюз: +Вы вошли через [шлюз приложений Claude](/docs/ru/claude-apps-gateway), и сессия шлюза, сохранённая на этой машине, истекла и не могла быть продлена, либо шлюз больше её не принимает, например после [замены секрета JWT](/docs/ru/claude-apps-gateway-deploy#jwt-secret-rotation) шлюза. Если вы видите эту строку при интерактивном запуске `claude`, сессия открылась без входа в шлюз: ```text theme={null} Cloud gateway session expired — run /login to reconnect. ``` -Та же строка может появиться в середине сеанса, когда учетные данные шлюза истекают и Claude Code не может их обновить. +Та же строка может появиться посреди сессии, когда учётные данные шлюза истекают и Claude Code не может их продлить. -В [non-interactive](/docs/ru/headless) запуске, фоновом или другом автоматическом сеансе, или подкоманде `claude`, отличной от `claude auth`, Claude Code вместо этого выходит с этим сообщением, когда шлюз больше не принимает сеанс: +При [неинтерактивном](/docs/ru/headless) запуске, в фоновой или другой автономной сессии, а также в подкоманде `claude`, отличной от `claude auth`, Claude Code вместо этого завершает работу с таким сообщением, когда шлюз больше не принимает сессию: ```text theme={null} Cloud gateway no longer accepts this session. Start `claude` and sign in again with /login. @@ -1759,14 +1798,14 @@ Cloud gateway no longer accepts this session. Start `claude` and sign in a **Что делать:** -* Запустите `/login` в сеансе и завершите вход в браузер -* Для неинтерактивного запуска запустите `claude` в том же окружении, запустите `/login`, затем повторно запустите вашу команду +* Выполните `/login` в сессии и завершите вход в браузере +* Для неинтерактивного запуска запустите `claude` в той же среде, выполните `/login`, затем повторно выполните свою команду

Sign-in timed out while waiting for you to continue

-Во время входа [Claude apps gateway](/docs/ru/claude-apps-gateway) шлюз назвал учетную запись, которая вошла, и Claude Code попросил вас подтвердить ее перед сохранением учетных данных. Вы оставили подтверждение открытым после истечения срока действия входа, и шлюз не выдал токен обновления, который мог бы его обновить, поэтому Claude Code ничего не сохранил, когда вы продолжили: +Во время входа через [шлюз приложений Claude](/docs/ru/claude-apps-gateway) шлюз назвал учётную запись, выполнившую вход, и Claude Code попросил вас подтвердить её перед сохранением учётных данных. Вы оставили подтверждение открытым дольше срока действия самого входа, а шлюз не выдал refresh-токен, которым его можно было бы продлить, поэтому Claude Code ничего не сохранил, когда вы продолжили: ```text theme={null} Sign-in timed out while waiting for you to continue. Try again. @@ -1774,13 +1813,13 @@ Sign-in timed out while waiting for you to continue. Try again. **Что делать:** -* Запустите `/login` снова и подтвердите учетную запись перед истечением срока действия входа +* Снова выполните `/login` и подтвердите учётную запись до истечения срока действия входа

Gateway refused the request

-Вы подписаны через [Claude apps gateway](/docs/ru/claude-apps-gateway), и запрос вернул 403: шлюз, или восходящий позади него, отказал в нем. Повторный вход не изменяет отказ, поэтому сообщение указывает на администратора вашего шлюза: +Вы вошли через [шлюз приложений Claude](/docs/ru/claude-apps-gateway), и запрос вернул ошибку 403: шлюз или стоящий за ним вышестоящий сервис отклонил его. Повторный вход не меняет отказ, поэтому сообщение направляет вас к администратору шлюза: ```text theme={null} Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ... @@ -1788,10 +1827,10 @@ Gateway refused the request · signing in again won't change this — check with **Что делать:** -* Попросите администратора вашего шлюза посмотреть запрос. Хвост `API Error:` несет отказ, который вернул шлюз -* Для администраторов: [access control rule](/docs/ru/claude-apps-gateway-config#http-tuning) на шлюзе возвращает 403, который [audit log](/docs/ru/claude-apps-gateway-deploy#logs) записывает с его причиной, и отказ авторизации восходящего проходит через [Upstream error messages](/docs/ru/claude-apps-gateway-config#upstream-error-messages) +* Попросите администратора шлюза найти этот запрос. Хвост `API Error:` содержит отказ, который вернул шлюз +* Для администраторов: [правило управления доступом](/docs/ru/claude-apps-gateway-config#http-tuning) на шлюзе возвращает ошибку 403, которую [журнал аудита](/docs/ru/claude-apps-gateway-deploy#logs) записывает вместе с причиной, а отказ в авторизации от вышестоящего сервиса передаётся дальше согласно разделу [Сообщения об ошибках вышестоящих сервисов](/docs/ru/claude-apps-gateway-config#upstream-error-messages) -До v2.1.273 403 на сеансе шлюза показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, и повторный вход не очистил отказ. +До версии v2.1.273 при ошибке 403 в сессии шлюза вместо этого отображалось общее сообщение `Please run /login` или `Failed to authenticate`, а повторный вход не снимал отказ.

Ошибки сети и подключения @@ -2114,155 +2153,155 @@ Couldn't send feedback (couldn't reach the service). If it keeps failing, you ca Ошибки запроса

-Эти ошибки связаны с содержимым вашего запроса. Большинство из них возвращаются API после отклонения запроса; несколько производятся локально Claude Code перед отправкой запроса. +Эти ошибки связаны с содержимым вашего запроса. Большинство из них возвращает API после отклонения запроса; некоторые формируются локально в Claude Code ещё до отправки запроса.

Prompt is too long

-Разговор плюс прикреплённые файлы превышают контекстное окно модели. +Диалог вместе с прикреплёнными файлами превышает контекстное окно модели. ```text theme={null} Prompt is too long ``` -В интерактивном сеансе Claude Code показывает эту ошибку как: +В интерактивной сессии Claude Code показывает эту ошибку так: ```text theme={null} -Context limit reached · /compact или /clear для продолжения +Context limit reached · /compact or /clear to continue ``` -Строка указывает только `/clear`, когда установлена [`DISABLE_COMPACT`](/docs/ru/env-vars). Более длинные формы ошибки, такие как форма сбоя компактирования ниже, сохраняют формулировку `Prompt is too long ·`. В выводе `-p` и в расшифровке текст остаётся `Prompt is too long`. +Строка называет только `/clear`, когда задана [`DISABLE_COMPACT`](/docs/ru/env-vars). Более длинные формы ошибки, например форма со сбоем сжатия контекста ниже, сохраняют формулировку `Prompt is too long ·`. В выводе `-p` и в транскрипте текст остаётся `Prompt is too long`. -Когда вы отключили автоматическое компактирование в [пользовательских настройках](/docs/ru/settings-reference#autocompactenabled), строка также это указывает: +Если вы отключили автосжатие в [пользовательских настройках](/docs/ru/settings-reference#autocompactenabled), строка также сообщает об этом: ```text theme={null} -Context limit reached · /compact или /clear для продолжения · auto-compact отключён · /config для его включения +Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on ``` -Переключатель **Auto-compact** в `/config` записывает `autoCompactEnabled` в пользовательские настройки. Подсказка появляется только когда изменение `/config` вступит в силу. Например, она не появляется, когда [`DISABLE_AUTO_COMPACT`](/docs/ru/env-vars) или [`DISABLE_COMPACT`](/docs/ru/env-vars) отключили автоматическое компактирование. Она также не появляется, когда область с более высоким приоритетом, такая как проект или управляемые настройки, установила `autoCompactEnabled` на `false`. До версии 2.1.235 строка не содержала подсказку об автоматическом компактировании. +Переключатель **Auto-compact** в `/config` записывает `autoCompactEnabled` в пользовательские настройки. Подсказка появляется только тогда, когда изменение в `/config` действительно вступит в силу. Например, она не появляется, если автосжатие отключено через [`DISABLE_AUTO_COMPACT`](/docs/ru/env-vars) или [`DISABLE_COMPACT`](/docs/ru/env-vars). Она также не появляется, если область действия с более высоким приоритетом, например настройки проекта или управляемые настройки, задала `autoCompactEnabled` значение `false`. До версии 2.1.235 строка не содержала подсказку об автосжатии. -Amazon Bedrock сообщает об этом состоянии как `Input is too long for requested model.`, что Claude Code обрабатывает так же. До версии 2.1.217 Claude Code не распознавал формулировку Bedrock, поэтому автоматическое компактирование никогда не срабатывало на ней и `/compact` завершался с той же ошибкой. +Amazon Bedrock сообщает об этом состоянии как `Input is too long for requested model.`, и Claude Code обрабатывает это так же. До версии 2.1.217 Claude Code не распознавал формулировку Bedrock, поэтому автосжатие на ней никогда не срабатывало, а `/compact` завершался с той же ошибкой. -Шлюз [Claude apps gateway](/docs/ru/claude-apps-gateway-config#upstream-error-messages) сообщает об этом состоянии как `capability_rejected: prompt_too_long`, когда облачный вышестоящий сервер отклоняет запрос в собственной форме ошибки поставщика. Claude Code обрабатывает токен так же, как `Prompt is too long`. До версии 2.1.228 Claude Code не распознавал токен, поэтому автоматическое компактирование не срабатывало на нём. +[Claude apps gateway](/docs/ru/claude-apps-gateway-config#upstream-error-messages) сообщает об этом состоянии как `capability_rejected: prompt_too_long`, когда вышестоящий облачный сервис отклоняет запрос в собственном формате ошибок провайдера. Claude Code обрабатывает этот токен так же, как `Prompt is too long`. До версии 2.1.228 Claude Code не распознавал этот токен, поэтому автосжатие на нём не срабатывало. -Когда автоматическое компактирование выполнялось на этом ходу и завершилось с ошибкой на основной ошибке, такой как недоступная модель или ошибка аутентификации, сообщение называет эту ошибку после разделителя: +Если на этом ходе выполнялось автоматическое сжатие контекста и оно завершилось сбоем из-за другой ошибки, например недоступности модели или сбоя аутентификации, сообщение называет эту ошибку после разделителя: ```text theme={null} -Prompt is too long · automatic compaction failed: <основная ошибка> +Prompt is too long · automatic compaction failed: ``` -Сначала разрешите названную ошибку; `/compact` завершается с той же ошибкой, пока вы этого не сделаете. До версии 2.1.229 неудачное автоматическое компактирование выводило `Prompt is too long` без указания причины. +Сначала устраните названную ошибку; пока вы этого не сделаете, `/compact` будет завершаться с той же ошибкой. До версии 2.1.229 при неудачном автоматическом сжатии выводилось `Prompt is too long` без указания причины. -Когда автоматическое компактирование выполняется на этой ошибке, оно обычно суммирует ваши самые старые обмены и сохраняет самые новые. В качестве последней меры Claude Code суммирует иначе: +Когда на этой ошибке запускается автоматическое сжатие контекста, оно обычно суммирует самые старые обмены и сохраняет самые новые. В крайнем случае Claude Code суммирует иначе: -* Когда он не может суммировать какой-либо целый обмен, Claude Code сохраняет ваш самый новый prompt слово в слово и суммирует всё перед ним. -* В этом случае, когда разговор не заканчивается вашим prompt, Claude Code суммирует весь разговор вместо этого. +* Если не удаётся суммировать ни одного целого обмена, Claude Code сохраняет ваш последний промпт дословно и суммирует всё, что было до него. +* Если в этом случае диалог не заканчивается вашим промптом, Claude Code вместо этого суммирует весь диалог. -Claude Code пропускает это восстановление, когда содержимое, которое оно должно было бы перенести, не содержит ответа модели и менее примерно 1000 токенов вашего собственного текста, такого как короткий повтор, отправленный после чрезмерно большой вставки. Запустите `/clear` для начала заново. До версии 2.1.269 компактирование завершалось с ошибкой всякий раз, когда оно не могло суммировать целый обмен, поэтому сеанс в этом состоянии получал эту ошибку снова на каждом ходу. +Claude Code пропускает такое восстановление, если переносимое содержимое не содержит ответа модели и включает менее примерно 1000 токенов вашего собственного текста, например короткую повторную попытку, отправленную после слишком большой вставки. Выполните `/clear`, чтобы начать заново. До версии 2.1.269 сжатие контекста завершалось сбоем каждый раз, когда не удавалось суммировать целый обмен, поэтому сессия в таком состоянии получала эту ошибку снова на каждом ходе. -Однооборотный разговор не имеет более ранних ходов для суммирования. Когда автоматическое компактирование должно было выполниться на одном, Claude Code пропускает попытку и объясняет, что заполняет запрос. Когда API не сообщает количество токенов в своей ошибке, сообщение читается: +В диалоге из одного обмена нет более ранних ходов для суммирования. Когда автоматическое сжатие должно было бы запуститься для такого диалога, Claude Code пропускает попытку и объясняет, чем заполнен запрос. Если API не сообщает количество токенов в своей ошибке, сообщение выглядит так: ```text theme={null} 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 отправляет с ним. Когда содержимое самого разговора занимает большую часть запроса, сообщение читается: +Если API сообщает количество токенов в своей ошибке, Claude Code сравнивает его с собственной оценкой размера диалога, чтобы определить, что составляет большую часть запроса: собственное содержимое диалога или системный промпт, определения инструментов и содержимое вложений, которые Claude Code отправляет вместе с ним. Если большую часть запроса составляет собственное содержимое диалога, сообщение выглядит так: ```text theme={null} -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 ) 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). ``` -Когда большая часть запроса находится вне разговора, сообщение читается: +Если большая часть запроса находится вне диалога, сообщение выглядит так: ```text theme={null} -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. +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` при его неудаче. +До версии 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` или переместите инструкции в [правила с областью действия пути](/docs/ru/memory#path-specific-rules), которые загружаются только при необходимости -* Автоматическое компактирование включено по умолчанию и обычно предотвращает эту ошибку. Если вы отключили его в `/config` или с помощью [`DISABLE_AUTO_COMPACT`](/docs/ru/env-vars), включите его обратно. Если вы держите его отключённым, запустите `/compact` самостоятельно перед заполнением окна. +* Выполните `/compact`, чтобы суммировать более ранние ходы и освободить место, или `/clear`, чтобы начать заново. Если `/compact` отвечает `Not enough messages to compact.`, диалог состоит из одного обмена и суммировать нечего, поэтому место занято этим единственным промптом и тем, что Claude Code отправляет с каждым запросом: выполните `/clear` и отправьте запрос заново с меньшим объёмом вставленного текста или меньшими вложениями либо сократите определения инструментов и файлы памяти, следуя шагам ниже +* Выполните `/context`, чтобы увидеть разбивку того, что занимает окно: системный промпт, инструменты, файлы памяти и сообщения +* Отключите неиспользуемые MCP-серверы с помощью `/mcp disable `, чтобы убрать их определения инструментов из контекста +* Сократите большие файлы памяти `CLAUDE.md` или перенесите инструкции в [правила, привязанные к путям](/docs/ru/memory#path-specific-rules), которые загружаются только при необходимости +* Автосжатие включено по умолчанию и обычно предотвращает эту ошибку. Если вы отключили его в `/config` или с помощью [`DISABLE_AUTO_COMPACT`](/docs/ru/env-vars), включите его снова. Если вы оставляете его отключённым, выполняйте `/compact` самостоятельно до заполнения окна. -Смотрите [Explore the context window](/docs/ru/context-window) для интерактивного просмотра того, как заполняется контекст. +Интерактивную демонстрацию того, как заполняется контекст, см. в разделе [Explore the context window](/docs/ru/context-window).

Context exceeds the token limit

-`/context` показывает это предупреждение в верхней части своего вывода, когда разговор превысил контекстное окно модели. Запросы завершаются с [`Prompt is too long`](#prompt-is-too-long) до тех пор, пока вы не освободите место. Интерактивный сеанс показывает эту ошибку как строку `Context limit reached`. +`/context` показывает это предупреждение в начале своего вывода, когда диалог превысил контекстное окно модели. Запросы завершаются с ошибкой [`Prompt is too long`](#prompt-is-too-long), пока вы не освободите место. В интерактивной сессии эта ошибка отображается как строка `Context limit reached`. ```text theme={null} Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue. ``` -Когда превышенный лимит — это окно компактирования, такое как граница 200K на моделях с контекстом 1M, предупреждение читается иначе. Окно компактирования может находиться ниже контекстного окна модели, поэтому запросы за его пределами могут всё ещё успешно выполняться. +Если превышенный лимит — это окно сжатия контекста, например граница 200K на моделях с контекстом 1M, предупреждение звучит иначе. Окно сжатия может быть меньше контекстного окна модели, поэтому запросы сверх него всё ещё могут выполняться успешно. ```text theme={null} Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage. ``` -Обе формы называют `/clear` вместо `/compact`, когда вы установили [`DISABLE_COMPACT`](/docs/ru/env-vars). +Обе формы называют `/clear` вместо `/compact`, если вы задали [`DISABLE_COMPACT`](/docs/ru/env-vars). **Что делать:** -* В многооборотном разговоре запустите `/compact` для суммирования более ранних ходов и освобождения места. Для начала заново запустите `/clear` -* Для дополнительных способов снижения использования смотрите [Prompt is too long](#prompt-is-too-long) +* В диалоге из нескольких ходов выполните `/compact`, чтобы суммировать более ранние ходы и освободить место. Чтобы начать заново, выполните `/clear` +* Другие способы сократить использование см. в разделе [Prompt is too long](#prompt-is-too-long) -До версии 2.1.216 `/context` показывал использование выше 100% без строки предупреждения, объясняющей, что это означает или как восстановиться. +До версии 2.1.216 `/context` показывал использование выше 100% без строки предупреждения, объясняющей, что это значит и как восстановиться.

Request too large

-Тело необработанного запроса превысило лимит API в 32MB перед токенизацией, обычно из-за большого вставленного содержимого, результатов инструментов или вложений. Этот лимит отделён от [контекстного окна](#prompt-is-too-long). +Необработанное тело запроса превысило лимит API в 32MB ещё до токенизации, обычно из-за большого вставленного содержимого, результатов инструментов или вложений. Этот лимит не связан с [контекстным окном](#prompt-is-too-long). ```text theme={null} 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 измеряет разговор и формулирует сообщение в зависимости от того, может ли работать восстановление. Через прокси, шлюз или поставщика облачных услуг вы получаете общее сообщение. Измеренные формы: +Если запрос шёл напрямую в 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 не повторяет попытку. В [неинтерактивном режиме](/docs/ru/headless) сообщение говорит вам уменьшить входные данные или начать новый сеанс вместо этого. +* `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 не повторяет попытку. В [неинтерактивном режиме](/docs/ru/headless) сообщение предлагает вместо этого сократить входные данные или начать новую сессию. -До версии 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 показывал совет о вложениях для каждого отклонения, даже когда компактирование не могло помочь. +До версии 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) ниже +* Если в сообщении сказано `compacting cannot make it fit`, дважды нажмите Esc, чтобы вернуться до хода, добавившего большое содержимое, или выполните `/clear`, чтобы начать заново +* В противном случае выполните `/compact`, который удаляет накопленные изображения и вложения +* Указывайте большие файлы по пути вместо вставки их содержимого, чтобы Claude мог читать их частями +* Для изображений см. раздел [Image was too large](#image-was-too-large) ниже

Image was too large

-Вставленное или прикреплённое изображение превышает лимиты размера или размеров API. +Вставленное или прикреплённое изображение превышает ограничения API по размеру или разрешению. ```text theme={null} 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 дважды и вернитесь на ход, где было добавлено изображение. +Claude Code заменяет необрабатываемое изображение текстовым заполнителем и повторяет попытку, поэтому последующие сообщения проходят успешно. В версиях до 2.1.142 вставленное изображение могло оставаться в диалоге и вызывать ту же ошибку на каждом последующем сообщении. Чтобы восстановиться в этих версиях, дважды нажмите Esc и вернитесь до хода, на котором было добавлено изображение. **Что делать:** -* Измените размер изображения перед вставкой. API принимает изображения до 8000 пикселей на самой длинной стороне для одного изображения или 2000 пикселей, когда в контексте много изображений. -* Сделайте более плотный снимок экрана соответствующей области вместо полного экрана +* Уменьшите изображение перед вставкой. API принимает изображения размером до 8000 пикселей по длинной стороне для одного изображения или до 2000 пикселей, когда в контексте много изображений. +* Сделайте снимок только нужной области вместо всего экрана

Unable to resize image

-Claude Code не смог уменьшить масштаб прикреплённого изображения перед отправкой его в API. +Claude Code не смог уменьшить прикреплённое изображение перед отправкой в API. ```text theme={null} 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. @@ -2274,19 +2313,19 @@ Unable to resize image — it is an animated WebP whose first frame Claude Code 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. +Обычно Claude Code автоматически уменьшает большие изображения. Эти ошибки означают, что изображение не удалось декодировать или уменьшить до размеров в пределах лимитов API. **Что делать:** -* Если сообщение просит вас преобразовать изображение, преобразуйте его в PNG, JPEG, GIF или WebP и прикрепите снова. Claude Code может проверить размеры для этих форматов из заголовка файла без декодирования изображения. -* Если сообщение сообщает о лимите размера или размеров, измените размер или перекомпрессируйте изображение ниже этого лимита перед прикреплением. -* Если сообщение называет причину, такую как CMYK JPEG, анимированный WebP или возможно повреждённый файл, пересохраните изображение в формате, который предлагает сообщение, и прикрепите его снова. +* Если сообщение просит преобразовать изображение, преобразуйте его в PNG, JPEG, GIF или WebP и прикрепите снова. Для этих форматов Claude Code может проверить размеры по заголовку файла, не декодируя изображение. +* Если сообщение указывает на лимит разрешения или размера, уменьшите или пересожмите изображение ниже этого лимита перед прикреплением. +* Если сообщение называет причину, например CMYK JPEG, анимированный WebP или возможно повреждённый файл, пересохраните изображение в формате, предложенном в сообщении, и прикрепите его снова.

PDF errors

-Прикреплённый PDF не смог быть обработан. Сообщения показаны здесь в их неинтерактивной форме; в интерактивном сеансе они вместо этого предлагают вам дважды нажать esc и попробовать снова. +Прикреплённый PDF не удалось обработать. Здесь сообщения показаны в неинтерактивной форме; в интерактивной сессии они вместо этого предлагают дважды нажать esc и попробовать снова. ```text theme={null} PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext). @@ -2296,84 +2335,84 @@ The PDF file was not valid. Try converting it to text first (e.g., pdftotext). **Что делать:** -* Для больших PDF попросите Claude прочитать диапазон страниц с помощью инструмента Read вместо прикрепления всего файла, или извлеките текст с помощью инструмента, такого как `pdftotext`, и ссылайтесь на выходной файл по пути +* Для слишком больших PDF попросите Claude прочитать диапазон страниц с помощью инструмента Read вместо прикрепления всего файла или извлеките текст с помощью инструмента вроде `pdftotext` и укажите выходной файл по пути * Для защищённых или недействительных PDF удалите пароль или повторно экспортируйте файл из исходного приложения, затем попробуйте снова -Когда Claude читает диапазон страниц из PDF с помощью инструмента Read, чтение может завершиться с другим сообщением: +Когда Claude читает диапазон страниц PDF с помощью инструмента Read, чтение может завершиться с другим сообщением: ```text theme={null} pdftoppm is not installed. Install poppler-utils (e.g. `brew install poppler` or `apt-get install poppler-utils`) to enable PDF page rendering. ``` -Чтение диапазона страниц отображает страницы с помощью `pdftoppm`. Установите poppler-utils с помощью команды, которую даёт сообщение, или на других платформах сборку poppler, которая помещает `pdftoppm` на ваш `PATH`. Смотрите [Read tool behavior](/docs/ru/tools-reference#read-tool-behavior) для того, какие PDF читаются по диапазону страниц. +При чтении диапазона страниц страницы отрисовываются с помощью `pdftoppm`. Установите poppler-utils командой, указанной в сообщении, а на других платформах — сборку poppler, которая добавляет `pdftoppm` в ваш `PATH`. О том, какие PDF читаются по диапазону страниц, см. в разделе [Read tool behavior](/docs/ru/tools-reference#read-tool-behavior).

Extra inputs are not permitted

-Прокси или шлюз LLM между Claude Code и API удалил заголовок запроса `anthropic-beta`, поэтому API отклонил поля, которые от него зависят. +Прокси или LLM-шлюз между Claude Code и API удалил заголовок запроса `anthropic-beta`, поэтому API отклонил поля, которые от него зависят. ```text theme={null} API Error: 400 ... Extra inputs are not permitted ... context_management ``` -Claude Code отправляет поля, доступные только в бета-версии, такие как `context_management` и `effort`, вместе с заголовком `anthropic-beta`, который их включает. Когда шлюз пересылает тело, но удаляет заголовок, API видит поля, которые не распознаёт. +Claude Code отправляет поля, доступные только в бета-версии, например `context_management`, вместе с заголовком `anthropic-beta`, который их включает. Когда шлюз пересылает тело запроса, но удаляет заголовок, API видит поля, которые не распознаёт. **Что делать:** -* Настройте ваш шлюз для пересылки заголовка `anthropic-beta`. Смотрите [feature pass-through](/docs/ru/llm-gateway-protocol#feature-pass-through) для того, что шлюзы должны пересылать. -* В качестве резервного варианта установите [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/ru/env-vars) перед запуском. [Disable pre-release capabilities](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities) охватывает точный объём. +* Настройте шлюз на пересылку заголовка `anthropic-beta`. О том, что шлюзы должны пересылать, см. в разделе [feature pass-through](/docs/ru/llm-gateway-protocol#feature-pass-through). +* В качестве резервного варианта задайте [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/ru/env-vars) перед запуском. Точный охват описан в разделе [Disable pre-release capabilities](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities).

Tool input schema is invalid

-Инструмент в запросе объявил `input_schema`, который не проходит валидацию JSON Schema API, поэтому API отклонил весь запрос. Число после `tools.` — это позиция неудачного инструмента в списке инструментов запроса, а не имя, которое вы можете найти. +Инструмент в запросе объявил `input_schema`, которая не проходит проверку JSON Schema в API, поэтому API отклонил весь запрос. Число после `tools.` — это позиция проблемного инструмента в списке инструментов запроса, а не имя, которое можно найти. ```text theme={null} 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. Вторая означает, что имя свойства верхнего уровня не соответствует шаблону, который называет сообщение. +Первая форма означает, что схема не является допустимой JSON Schema draft 2020-12. Вторая означает, что имя свойства верхнего уровня не соответствует шаблону, приведённому в сообщении. -Claude Code [исключает MCP инструменты, чья схема входных данных не прошла бы эту валидацию](/docs/ru/mcp#tools-with-invalid-input-schemas) при загрузке инструментов сервера, поэтому запросы обычно никогда не включают один. +Claude Code [исключает MCP-инструменты, чья схема входных данных не прошла бы эту проверку](/docs/ru/mcp#tools-with-invalid-input-schemas), при загрузке инструментов сервера, поэтому обычно такие инструменты в запросы не попадают. -На [развёртывании, где получение флагов отключено](/docs/ru/env-vars#features-that-need-feature-flag-fetching), или на машине, флаги которой никогда не прибывали, Claude Code записывает в журнал сервера, какой инструмент будет отклонён, но отправляет его всё равно, поэтому эта ошибка всё ещё может произойти. +В [развёртывании, где получение флагов отключено](/docs/ru/env-vars#features-that-need-feature-flag-fetching), или на машине, куда флаги ещё ни разу не поступили, Claude Code записывает в лог сервера, какой инструмент будет отклонён, но всё равно отправляет его, поэтому эта ошибка всё ещё может возникнуть. -Ошибка также может произойти для инструмента, чья схема объявляет диалект JSON Schema, отличный от draft 2020-12, в `$schema`. Claude Code не проверяет эти схемы против мета-схемы JSON Schema, хотя проверка имён свойств верхнего уровня всё ещё применяется. +Ошибка также может возникнуть для инструмента, чья схема объявляет в `$schema` диалект JSON Schema, отличный от draft 2020-12. Claude Code не проверяет такие схемы на соответствие метасхеме JSON Schema, хотя проверка имён свойств верхнего уровня по-прежнему применяется. До версии 2.1.216 ни одно развёртывание не выполняло проверки исключения. **Что делать:** -* Если ваша версия Claude Code раньше v2.1.216, запустите `claude update`. -* Удалите или [отключите](/docs/ru/mcp#disable-a-server-without-removing-it) MCP сервер, который объявляет недействительную схему. Ошибка называет инструмент только по позиции. На v2.1.216 или позже проверьте журнал каждого сервера для строки, называющей инструмент, чья схема входных данных будет отклонена. Если ни один журнал не называет один, отключайте серверы по одному. -* Если вы поддерживаете сервер, исправьте `input_schema` инструмента. Схема должна быть действительной JSON Schema, и имена свойств верхнего уровня должны быть от 1 до 64 символов в длину и использовать только буквы ASCII и цифры, `_`, `.` и `-`. Смотрите [Tools with invalid input schemas](/docs/ru/mcp#tools-with-invalid-input-schemas). +* Если ваша версия Claude Code ниже v2.1.216, выполните `claude update`. +* Удалите или [отключите](/docs/ru/mcp#disable-a-server-without-removing-it) MCP-сервер, объявляющий недопустимую схему. Ошибка указывает инструмент только по позиции. В v2.1.216 и новее проверьте лог каждого сервера на наличие строки с именем инструмента, чья схема входных данных будет отклонена. Если ни один лог его не называет, отключайте серверы по одному. +* Если вы поддерживаете сервер, исправьте `input_schema` инструмента. Схема должна быть допустимой JSON Schema, а имена свойств верхнего уровня должны иметь длину от 1 до 64 символов и содержать только буквы и цифры ASCII, `_`, `.` и `-`. См. раздел [Tools with invalid input schemas](/docs/ru/mcp#tools-with-invalid-input-schemas).

tool\_use.name over 200 characters

-Вызов инструмента в истории разговора содержит имя, превышающее 200 символов, которые API принимает в запросе: +Вызов инструмента в истории диалога содержит имя длиннее 200 символов, которые API принимает в запросе: ```text theme={null} API Error: 400 ... tool_use.name: String should have at most 200 characters ``` -Claude Code обрезает такое имя до 200 символов, когда ответ прибывает и когда загружает сохранённый разговор, поэтому вызов завершается с обычной ошибкой инструмента `No such tool available` и разговор продолжается без этой ошибки API. +Claude Code обрезает такое имя до 200 символов при получении ответа и при загрузке сохранённого диалога, поэтому вызов завершается ошибкой инструмента [`No such tool available`](#no-such-tool-available), а диалог продолжается без этой ошибки API. **Что делать:** -* Запустите `claude update`, затем возобновите разговор. Обновленная версия восстанавливает переполненное имя при загрузке расшифровки, поэтому разговор, который был застрял, снова работает. +* Выполните `claude update`, затем возобновите диалог. Обновлённая версия исправляет слишком длинное имя при загрузке транскрипта, поэтому застрявший диалог снова работает. -До версии 2.1.281 переполненное имя оставалось в истории и API отклонял каждый запрос, который повторно отправлял разговор, включая `/compact` и `--resume`, поэтому эта ошибка повторялась и разговор был застрял. +До версии 2.1.281 слишком длинное имя оставалось в истории, и API отклонял каждый запрос с повторной отправкой диалога, включая `/compact` и `--resume`, поэтому ошибка повторялась, и диалог застревал.

There's an issue with the selected model

-Имя настроенной модели не было распознано или ваша учётная запись не имеет доступа к ней. Начиная с v2.1.160 конечная подсказка, показанная здесь в её интерактивной форме, варьируется в зависимости от поверхности. +Имя настроенной модели не распознано, или у вашей учётной записи нет к ней доступа. Начиная с v2.1.160 завершающая подсказка, показанная здесь в интерактивной форме, зависит от интерфейса. ```text theme={null} 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. @@ -2381,230 +2420,253 @@ There's an issue with the selected model (claude-...). It may not exist or you m **Что делать:** -* **Интерактивный CLI**: запустите `/model` для выбора из моделей, доступных вашей учётной записи. -* **Неинтерактивный режим (`-p`)**: передайте `--model` с действительным псевдонимом или ID, или установите [`ANTHROPIC_MODEL`](/docs/ru/env-vars). Текст ошибки показывает `Run --model` на этой поверхности. -* **Agent SDK**: текст ошибки опускает подсказку, потому что модель установлена программно. Установите [`model` на `Options`](/docs/ru/agent-sdk/typescript#options) в TypeScript или [`ClaudeAgentOptions(model=...)`](/docs/ru/agent-sdk/python#claudeagentoptions) в Python, и обработайте структурированную ошибку `model_not_found` для вывода вашего собственного повтора или выбора модели. -* Используйте псевдоним, такой как `sonnet` или `opus`, вместо полного версионного ID. Псевдонимы разрешаются в поддерживаемое значение по умолчанию, поэтому они не устаревают. Смотрите [Model configuration](/docs/ru/model-config). -* Если неправильная модель продолжает возвращаться в CLI, где-то установлен устаревший ID. Проверьте места, где вы можете установить модель в [порядке приоритета](/docs/ru/model-config#setting-your-model), и удалите устаревшее значение. -* Claude Code сообщает об истёкшем входе claude.ai как [Login expired](#login-expired), а не как эта ошибка. До версии 2.1.206 истёкший вход, который больше не мог быть обновлён, завершался с ошибкой на каждой модели с этой ошибкой; запустите `/login`, если вы видите это в более старой версии. -* Для развёртываний Google Cloud's Agent Platform смотрите [Google Cloud's Agent Platform troubleshooting](/docs/ru/google-vertex-ai#troubleshooting). +* **Интерактивный CLI**: выполните `/model`, чтобы выбрать одну из моделей, доступных вашей учётной записи. +* **Неинтерактивный режим (`-p`)**: передайте `--model` с допустимым псевдонимом или ID либо задайте [`ANTHROPIC_MODEL`](/docs/ru/env-vars). В этом интерфейсе текст ошибки показывает `Run --model`. +* **Agent SDK**: текст ошибки не содержит подсказки, потому что модель задаётся программно. Задайте [`model` в `Options`](/docs/ru/agent-sdk/typescript#options) в TypeScript или [`ClaudeAgentOptions(model=...)`](/docs/ru/agent-sdk/python#claudeagentoptions) в Python и обрабатывайте структурированную ошибку `model_not_found`, чтобы показать собственную повторную попытку или выбор модели. +* Используйте псевдоним, например `sonnet` или `opus`, вместо полного ID с версией. Псевдонимы указывают на поддерживаемое значение по умолчанию, поэтому не устаревают. См. раздел [Model configuration](/docs/ru/model-config). +* Если в CLI постоянно возвращается неправильная модель, где-то задан устаревший ID. Проверьте места, где можно задать модель, в [порядке приоритета](/docs/ru/model-config#setting-your-model) и удалите устаревшее значение. +* Claude Code сообщает об истёкшем входе в claude.ai как [Login expired](#login-expired), а не как об этой ошибке. До версии 2.1.206 истёкший вход, который уже нельзя было обновить, приводил к этой ошибке для любой модели; если вы видите это в более старой версии, выполните `/login`. +* Для развёртываний в Google Cloud's Agent Platform см. раздел [Устранение неполадок в Google Cloud's Agent Platform](/docs/ru/google-vertex-ai#troubleshooting).

Model is not a recognized model id

-Строка, которую вы передали переключателю модели, не является одним Claude Code может использовать как модель, поэтому он отклонил переключение без отправки запроса и сеанс сохраняет свою текущую модель. Вы можете получить эту ошибку, когда модель установлена через метод [Agent SDK](/docs/ru/agent-sdk/typescript) `setModel()`, приложением, которое запускает Claude Code CLI для вас, такое как [Desktop app](/docs/ru/desktop), или когда вы выбираете модель с устройства, подключённого через [Remote Control](/docs/ru/remote-control). До версии 2.1.200 Claude Code сохранял строку и завершался с ошибкой на следующем запросе с [There's an issue with the selected model](#theres-an-issue-with-the-selected-model). +Строка, переданная при переключении модели, не может использоваться Claude Code в качестве модели, поэтому он отклонил переключение, не отправляя запрос, и сессия сохраняет текущую модель. Эта ошибка может возникнуть, когда модель задаётся через метод `setModel()` в [Agent SDK](/docs/ru/agent-sdk/typescript), приложением, которое запускает для вас Claude Code CLI, например [Desktop app](/docs/ru/desktop), или когда вы выбираете модель с устройства, подключённого через [Remote Control](/docs/ru/remote-control). До версии 2.1.200 Claude Code сохранял строку и на следующем запросе завершался ошибкой [There's an issue with the selected model](#theres-an-issue-with-the-selected-model). ```text theme={null} Model "Sonnet5" is not a recognized model id. Did you mean 'claude-sonnet-5'? ``` -В этом примере приложение отправило отображаемое имя `Sonnet 5`, которое сообщение повторяет без его пробела. Конечная подсказка называет ближайший соответствующий псевдоним или ID модели. Когда ничего не достаточно близко, она читается `Run /model to see available models.` вместо этого. В сеансе, который [Desktop app](/docs/ru/desktop) запускает для вас, подсказка без совпадения читается `Switch to a different model.` +В этом примере приложение отправило отображаемое имя `Sonnet 5`, которое сообщение повторяет без пробела. Завершающая подсказка называет ближайший подходящий псевдоним или ID модели. Если ничего достаточно близкого нет, вместо этого выводится `Run /model to see available models.` В сессии, которую для вас запускает [Desktop app](/docs/ru/desktop), подсказка при отсутствии совпадений звучит как `Switch to a different model.` -Когда вы переключаетесь через Agent SDK или приложение на Anthropic API, только строка, которая не может быть ID модели, получает эту ошибку, такая как отображаемое имя или пустая строка. +При переключении через Agent SDK или приложение, работающее с Anthropic API, эту ошибку вызывает только строка, которая не может быть ID модели, например отображаемое имя или пустая строка. -Когда вы выбираете модель с устройства Remote Control, Claude Code проверяет строку локально. Любая строка, которая не является псевдонимом модели, моделью, которую Claude Code перечисляет или вы настроили, или ID, который начинается с `claude-`, получает эту ошибку, неправильно введённый ID, такой как `claud-sonnet-5`, включённый. До версии 2.1.260 эта проверка не охватывала выборы Remote Control, поэтому неузнанная строка была применена и завершилась с ошибкой на следующем запросе. +Когда вы выбираете модель с устройства Remote Control, Claude Code проверяет строку локально. Эту ошибку вызывает любая строка, которая не является псевдонимом модели, моделью из списка Claude Code или настроенной вами моделью либо ID, начинающимся с `claude-`, включая ID с опечаткой, например `claud-sonnet-5`. До версии 2.1.260 эта проверка не распространялась на выбор через Remote Control, поэтому нераспознанная строка применялась и приводила к ошибке на следующем запросе. **Что делать:** -* Запустите `/model` без аргумента, чтобы открыть выбор и выбрать из моделей, доступных вашей учётной записи, затем передайте показанный там псевдоним или ID -* Если вы использовали псевдоним, который поддерживает только более новая версия Claude Code, запустите `claude update`, или передайте полный ID модели вместо этого. Сервер всё ещё может требовать минимальную версию Claude Code для этой модели; смотрите [Claude Code does not support this model](#claude-code-does-not-support-this-model). -* Модель, сохранённая до версии 2.1.200, не восстанавливается этой проверкой. Если устаревшее значение продолжает возвращаться, удалите его из мест, перечисленных в [Setting your model](/docs/ru/model-config#setting-your-model). -* На любом поставщике, отличном от Anthropic API, или позади шлюза или пользовательского `ANTHROPIC_BASE_URL`, только пустая строка получает эту ошибку. Claude Code всё ещё может написать [неузнанную диагностическую строку ID модели](#unrecognized-model-id-on-a-request) во время запроса на каждом поставщике. +* Выполните `/model` без аргумента, чтобы открыть окно выбора и выбрать одну из моделей, доступных вашей учётной записи, затем передайте показанный там псевдоним или ID +* Если вы использовали псевдоним, который поддерживается только в более новой версии Claude Code, выполните `claude update` или передайте вместо него полный ID модели. Сервер всё равно может требовать минимальную версию Claude Code для этой модели; см. раздел [Claude Code does not support this model](#claude-code-does-not-support-this-model). +* Модель, сохранённая до версии 2.1.200, этой проверкой не исправляется. Если устаревшее значение продолжает возвращаться, удалите его из мест, перечисленных в разделе [Setting your model](/docs/ru/model-config#setting-your-model). +* У любого провайдера, кроме Anthropic API, или за шлюзом либо пользовательским `ANTHROPIC_BASE_URL` эту ошибку вызывает только пустая строка. Claude Code по-прежнему может записывать [диагностическую строку о нераспознанной модели](#unrecognized-model-id-on-a-request) во время запроса у любого провайдера.

Model not found

-Вы выбрали модель по имени и Claude Code не смог подтвердить, что модель с этим именем существует. Когда имя не является [псевдонимом модели](/docs/ru/model-config#model-aliases) или другим написанием Claude Code принимает локально, Claude Code проверяет его с минимальным запросом API, и эта ошибка обычно является ответом вашей конечной точки API. С `/model <имя>`, имя, которое не может быть ID модели вообще, такое как содержащее пробелы, получает то же сообщение. +Вы переключились на модель по имени, и Claude Code не смог подтвердить, что модель с таким именем существует. Если имя не является [псевдонимом модели](/docs/ru/model-config#model-aliases) или другим написанием, которое Claude Code принимает локально, Claude Code проверяет его минимальным запросом к API, и эта ошибка обычно является ответом вашего API-эндпоинта. При использовании `/model ` имя, которое вообще не может быть ID модели, например содержащее пробелы, вызывает то же сообщение. ```text theme={null} Model 'claude-opus-9' not found ``` -На поставщиках с ID моделей, специфичными для поставщика, сообщение может добавить предложение `Try '...' instead`, которое называет ID вашего поставщика для резервной модели. +У провайдеров со своими ID моделей сообщение может добавлять предложение `Try '...' instead`, в котором указан ID резервной модели у вашего провайдера. **Что делать:** -* Запустите `/model` без аргумента и выберите из моделей, доступных вашей учётной записи, или используйте [псевдоним модели](/docs/ru/model-config#model-aliases), такой как `sonnet`, который разрешается в поддерживаемое значение по умолчанию -* Если вы ввели полный ID, проверьте его в каталоге моделей вашего поставщика. Недавно запущенная модель может быть доступна на Anthropic API перед тем, как ваш поставщик или регион её предложит. -* В Agent SDK `setModel()` завершается с этим сообщением и сеанс продолжает работать на своей предыдущей модели. В TypeScript SDK вызовите [`supportedModels()`](/docs/ru/agent-sdk/typescript#query-object) для перечисления моделей, на которые вы можете переключиться. -* До версии 2.1.265 `/model` также отклонял написание псевдонима `opusplan[1m]` с этой ошибкой. В этих версиях обновите Claude Code или установите модель в [settings](/docs/ru/model-config#setting-your-model) или с помощью `--model` вместо этого. +* Выполните `/model` без аргумента и выберите одну из моделей, доступных вашей учётной записи, или используйте [псевдоним модели](/docs/ru/model-config#model-aliases), например `sonnet`, который указывает на поддерживаемое значение по умолчанию +* Если вы ввели полный ID, сверьте его с каталогом моделей вашего провайдера. Недавно выпущенная модель может быть доступна в Anthropic API раньше, чем её предложит ваш провайдер или регион. +* В Agent SDK `setModel()` завершается с этим сообщением, а сессия продолжает работать на предыдущей модели. В TypeScript SDK вызовите [`supportedModels()`](/docs/ru/agent-sdk/typescript#query-object), чтобы получить список моделей, на которые можно переключиться. +* До версии 2.1.265 `/model` также отклонял написание псевдонима `opusplan[1m]` с этой ошибкой. В этих версиях обновите Claude Code или задайте модель в [настройках](/docs/ru/model-config#setting-your-model) либо через `--model`.

Couldn't confirm model with the API

-Вы выбрали модель через метод [Agent SDK](/docs/ru/agent-sdk/typescript) `setModel()` или приложение, которое запускает Claude Code CLI для вас, такое как [Desktop app](/docs/ru/desktop), и запрос, который подтверждает ID модели с вашей конечной точкой API, не получил ответ в течение пяти секунд. Сеанс сохраняет свою текущую модель. +Вы переключили модель через метод `setModel()` в [Agent SDK](/docs/ru/agent-sdk/typescript) или через приложение, которое запускает для вас Claude Code CLI, например [Desktop app](/docs/ru/desktop), и запрос, подтверждающий ID модели у вашего API-эндпоинта, не получил ответа в течение пяти секунд. Сессия сохраняет текущую модель. ```text theme={null} Couldn't confirm model "claude-sonnet-5" with the API. Try again, or run /model to see available models. ``` -В сеансе, который [Desktop app](/docs/ru/desktop) запускает для вас, сообщение заканчивается на `Try again.` +В сессии, которую для вас запускает [Desktop app](/docs/ru/desktop), сообщение заканчивается на `Try again.` **Что делать:** -* Переключитесь на модель снова -* Если переключение продолжает завершаться с ошибкой, проверьте, что Claude Code может достичь вашу конечную точку API; смотрите [Network and connection errors](#network-and-connection-errors) +* Снова переключитесь на модель +* Если переключение продолжает завершаться неудачей, проверьте, может ли Claude Code связаться с вашим API-эндпоинтом; см. раздел [Network and connection errors](#network-and-connection-errors)

API error when checking the picked model

-Вы выбрали модель с `/model <имя>`, или приложение, подключённое к сеансу, запросило переключение. API отклонил минимальный запрос, который Claude Code отправляет для проверки модели, по причине, которая не имеет собственной записи, такой как ограничение скорости или ошибка сервера. Сеанс сохраняет свою текущую модель, и сообщение заканчивается, говоря об этом: +Вы выбрали модель с помощью `/model `, или приложение, подключённое к сессии, запросило переключение. API отклонил минимальный запрос, который Claude Code отправляет для проверки модели, по причине, не имеющей отдельного раздела, например из-за ограничения частоты запросов или ошибки сервера. Сессия сохраняет текущую модель, о чём сообщается в конце сообщения: ```text theme={null} -API error: 429 <объяснение сервера> · model not changed +API error: 429 · model not changed ``` -Середина сообщения — это статус HTTP и собственное объяснение сервера. +В середине сообщения указаны HTTP-статус и собственное объяснение сервера. **Что делать:** -* Действуйте в соответствии с объяснением сервера; для ограничения скорости или статуса 5xx подождите и выберите модель снова -* Отказы с собственной формулировкой охватываются окружающими записями, такими как [Model not found](#model-not-found) и [Model is restricted by your organization's settings](#model-is-restricted-by-your-organizations-settings) +* Действуйте в соответствии с объяснением сервера; при ограничении частоты запросов или статусе 5xx подождите и выберите модель снова +* Отказы с собственной формулировкой описаны в соседних разделах, например [Model not found](#model-not-found) и [Model is restricted by your organization's settings](#model-is-restricted-by-your-organizations-settings)

Claude Opus is not available with the Claude Pro plan

-Ваш активный план подписки не включает выбранную вами модель. +Ваш активный тариф подписки не включает выбранную модель. ```text theme={null} 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. ``` -В сеансе, который Claude Desktop app запускает, сообщение говорит `sign out and sign in again` вместо названия команд. +В сессии, которую запускает приложение Claude Desktop, сообщение предлагает `sign out and sign in again` вместо названий команд. **Что делать:** -* Запустите `/model` и выберите модель, которую включает ваш план -* Если вы недавно обновили свой план и всё ещё видите это, запустите `/logout`, затем `/login`. Сохранённый токен отражает ваш план на момент входа, поэтому обновление в интернете не вступает в силу в существующем сеансе до повторной аутентификации. -* Смотрите [claude.com/pricing](https://claude.com/pricing) для того, какие модели включает каждый план +* Выполните `/model` и выберите модель, входящую в ваш тариф +* Если вы недавно повысили тариф и всё равно видите это сообщение, выполните `/logout`, затем `/login`. Сохранённый токен отражает ваш тариф на момент входа, поэтому повышение тарифа на claude.ai не вступает в силу в существующей сессии до повторной аутентификации. +* О том, какие модели входят в каждый тариф, см. [claude.com/pricing](https://claude.com/pricing)

Claude Code does not support this model

-API отклонил запрос с 400, потому что ваша версия Claude Code ниже требуемого минимума. Либо выбранная вами модель требует более новую версию, которую сервер проверяет для каждой модели, либо политика вашей организации требует одну. 400 несёт код ошибки `claude_code_version_too_old`, и сообщение говорит, какой минимум применяется. +API отклонил запрос с кодом 400, потому что ваша версия Claude Code ниже требуемого минимума. Либо выбранная модель требует более новой версии (сервер проверяет это для каждой модели), либо её требует политика вашей организации. Ответ 400 содержит код ошибки `claude_code_version_too_old`, а сообщение указывает, какой минимум применяется. ```text theme={null} 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. ``` -Формулировка политики организации читается: +Формулировка для политики организации: ```text theme={null} 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. ``` -Версия, которую API проверяет, — это версия, сообщённая бинарным файлом Claude Code, который сделал запрос. +API проверяет версию, о которой сообщает бинарный файл Claude Code, отправивший запрос. **Что делать:** -Обновите этот бинарный файл, затем начните новый сеанс. Откуда пришёл бинарный файл, решает как, кроме [self-hosted environment](/docs/ru/self-hosted-environments-deploy#pin-the-version): +Обновите этот бинарный файл, затем начните новую сессию. Способ обновления зависит от того, откуда взялся бинарный файл, кроме случая [self-hosted environment](/docs/ru/self-hosted-environments-deploy#pin-the-version): -| Бинарный файл, который сделал запрос | Как его обновить | +| Бинарный файл, отправивший запрос | Как его обновить | | :- | :- | -| Claude Code, который вы установили | Запустите `claude update` | -| Claude desktop app | Обновите приложение | -| Бинарный файл, который [VS Code extension](/docs/ru/vs-code) объединяет | Обновите расширение | -| Бинарный файл, который пакет Agent SDK объединяет | [Обновите пакет SDK](/docs/ru/agent-sdk/hosting#runtime-dependencies), затем перезагрузите ваше приложение. В [скомпилированном однофайловом исполняемом файле](/docs/ru/agent-sdk/typescript#compile-to-a-single-executable), пересоберите его | +| Установленный вами Claude Code | Выполните `claude update` | +| Приложение Claude desktop | Обновите приложение | +| Бинарный файл, входящий в [расширение VS Code](/docs/ru/vs-code) | Обновите расширение | +| Бинарный файл, входящий в пакет Agent SDK | [Обновите пакет SDK](/docs/ru/agent-sdk/hosting#runtime-dependencies), затем перезапустите приложение. Для [скомпилированного однофайлового исполняемого файла](/docs/ru/agent-sdk/typescript#compile-to-a-single-executable) пересоберите его | -* Для формулировки для каждой модели вы можете продолжить работу в текущем сеансе, переключившись на другую модель: запустите `/model` в CLI, вызовите [`setModel()`](/docs/ru/agent-sdk/typescript#query-object) на объекте `Query` TypeScript SDK в режиме потокового входа, или вызовите [`set_model()`](/docs/ru/agent-sdk/python#claudesdkclient) на `ClaudeSDKClient` Python SDK -* Для формулировки политики организации обновитесь перед продолжением +* При формулировке для конкретной модели вы можете продолжить работу в текущей сессии, переключившись на другую модель: выполните `/model` в CLI, вызовите [`setModel()`](/docs/ru/agent-sdk/typescript#query-object) у объекта `Query` в TypeScript SDK в режиме потокового ввода или вызовите [`set_model()`](/docs/ru/agent-sdk/python#claudesdkclient) у `ClaudeSDKClient` в Python SDK +* При формулировке для политики организации обновитесь, прежде чем продолжить

Model is restricted by your organization's settings

-Администратор вашей организации отключил эту модель в консоли администратора claude.ai, или управляемые настройки исключают её через список разрешений [`availableModels`](/docs/ru/model-config#restrict-model-selection) или список [`deniedModels`](/docs/ru/model-config#block-specific-models-or-versions). Уведомление появляется при запуске, когда `--model`, `ANTHROPIC_MODEL` или настройка `model` назвали ограниченную модель, и оно называет модель, которую сеанс использует вместо этого. Если управляемые настройки не оставляют разрешённую модель для использования сеансом, смотрите [Managed settings block the default model](#managed-settings-block-the-default-model). Уведомление о подстановке также может появиться в середине сеанса после того, как администратор отключит модель, на которой работает сеанс, в консоли администратора claude.ai. +Администратор вашей организации отключил эту модель в консоли администратора claude.ai, или управляемые настройки исключают её через список разрешённых моделей [`availableModels`](/docs/ru/model-config#restrict-model-selection) или список [`deniedModels`](/docs/ru/model-config#block-specific-models-or-versions). Уведомление появляется при запуске, когда `--model`, `ANTHROPIC_MODEL` или настройка `model` указывают ограниченную модель, и называет модель, которую сессия использует вместо неё. Если управляемые настройки не оставляют сессии ни одной разрешённой модели, см. раздел [Managed settings block the default model](#managed-settings-block-the-default-model). Уведомление о замене также может появиться посреди сессии, после того как администратор отключит в консоли администратора claude.ai модель, на которой работает сессия. ```text theme={null} Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead. ``` -Ввод `/model <имя>` для ограниченной модели отклоняется и сеанс сохраняет свою текущую модель. Для модели, отключённой в консоли администратора, отказ читается `Model '<имя>' is restricted by your organization's settings. Run /model to choose a different model.` Для модели, которую управляемые настройки исключают, он читается `Model '<имя>' is not available. Your organization restricts model selection.` +Ввод `/model ` для ограниченной модели отклоняется, и сессия сохраняет текущую модель. Для модели, отключённой в консоли администратора, отказ звучит так: `Model '' is restricted by your organization's settings. Run /model to choose a different model.` Для модели, исключённой управляемыми настройками: `Model '' is not available. Your organization restricts model selection.` -Уведомление с префиксом имени агента, навыка или команды означает, что ограничение применилось к [запрошенной модели подагента](/docs/ru/sub-agents#choose-a-model): подагент работает на подставленной модели и модель вашего сеанса не изменяется. До версии 2.1.223 Claude Code показывал уведомление только для подагентов, запущенных с помощью инструмента Agent. +Уведомление с префиксом в виде имени агента, скилла или команды означает, что ограничение применено к [модели, запрошенной субагентом](/docs/ru/sub-agents#choose-a-model): субагент работает на подставленной модели, а модель вашей сессии не меняется. До версии 2.1.223 Claude Code показывал уведомление только для субагентов, запущенных инструментом Agent. -Claude Code обрабатывает псевдоним семейства моделей, один из `opus`, `sonnet`, `haiku` или `fable`, как запрос для этого семейства, а не для его новейшей версии. На Anthropic API и на [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) ограниченный псевдоним семейства разрешается в новейшую версию семейства, которую разрешают ваша организация и список разрешений `availableModels`, и уведомление о подстановке называет эту версию. Claude Code отклоняет `/model <псевдоним>` только когда каждая версия семейства ограничена. До версии 2.1.205 псевдоним семейства был подставлен или отклонен на основе только его новейшей версии, даже когда была разрешена более старая версия того же семейства. +Claude Code рассматривает псевдоним семейства моделей — `opus`, `sonnet`, `haiku` или `fable` — как запрос этого семейства, а не его новейшей версии. В Anthropic API и на [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) ограниченный псевдоним семейства указывает на новейшую версию семейства, разрешённую настройками вашей организации, и уведомление о замене называет эту версию. Claude Code отклоняет `/model `, только если ограничены все версии семейства. До версии 2.1.205 псевдоним семейства заменялся или отклонялся исходя только из его новейшей версии, даже если более старая версия того же семейства была разрешена. **Что делать:** -* Запустите `/model` для выбора из моделей, которые разрешает ваша организация. Ограниченные модели скрыты от выбора. -* Если ограниченная модель была установлена в `--model`, `ANTHROPIC_MODEL`, поле `model` файла настроек или frontmatter [подагента](/docs/ru/sub-agents#choose-a-model), навыка или команды, удалите или обновите это значение, чтобы уведомление не повторялось -* Если вам нужен доступ к ограниченной модели, попросите администратора вашей организации её включить. Смотрите [Organization model restrictions](/docs/ru/model-config#organization-model-restrictions). +* Выполните `/model`, чтобы выбрать одну из моделей, разрешённых вашей организацией. Ограниченные модели скрыты в окне выбора. +* Если ограниченная модель задана в `--model`, `ANTHROPIC_MODEL`, поле `model` файла настроек или во frontmatter `model` [субагента](/docs/ru/sub-agents#choose-a-model), скилла или команды, удалите или обновите это значение, чтобы уведомление не повторялось +* Если вам нужен доступ к ограниченной модели, попросите администратора вашей организации включить её. См. раздел [Organization model restrictions](/docs/ru/model-config#organization-model-restrictions).

Can't switch to the default model

-Вы выбрали модель Default, например, выбрав строку Default в выборе `/model` или введя `/model default`. Claude Code отклонил переключение, поэтому сеанс сохраняет свою текущую модель. +Вы выбрали модель Default, например выбрав строку Default в окне выбора `/model` или введя `/model default`. Claude Code отклонил переключение, поэтому сессия сохраняет текущую модель. ```text theme={null} Can't switch to the default model: your organization's managed settings block it (claude-opus-4-6) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels". ``` -Формулировка после двоеточия называет, что заблокировало переключение: +Формулировка после двоеточия указывает, что заблокировало переключение: -* **`your organization's managed settings block it ... in "deniedModels"`**: список управляемого отказа блокирует модель, на которую разрешается опция Default -* **`your organization allows only the models listed in "availableModels"`**: список разрешений [`availableModels`](/docs/ru/model-config#restrict-model-selection) с [`availableModelsMatch`](/docs/ru/settings-reference#availablemodelsmatch), установленным на `"exact"`, исключает модель, на которую разрешается опция Default -* **`Claude Code couldn't read your organization's managed settings to check which models they allow`**: [управляемые настройки](/docs/ru/managed-settings) не могли быть прочитаны, и Claude Code отказывает переключение, а не применяет его без проверки +* **`your organization's managed settings block it ... in "deniedModels"`**: управляемый список запрещённых моделей блокирует модель, на которую указывает вариант Default +* **`your organization allows only the models listed in "availableModels"`**: управляемый список разрешённых моделей [`availableModels`](/docs/ru/model-config#restrict-model-selection) с [`availableModelsMatch`](/docs/ru/settings-reference#availablemodelsmatch), равным `"exact"`, не включает модель, на которую указывает вариант Default +* **`Claude Code couldn't read your organization's managed settings to check which models they allow`**: не удалось прочитать [управляемые настройки](/docs/ru/managed-settings), и Claude Code отклоняет переключение, а не применяет его без проверки **Что делать:** -* Для формулировок [`deniedModels`](/docs/ru/settings-reference#deniedmodels) и `availableModels` запустите `/model` и выберите модель, которую разрешает ваша организация, по имени -* Попросите администратора обновить управляемую настройку, которую называет сообщение -* Для формулировки `couldn't read` перезагрузите Claude Code; если это продолжает происходить, попросите администратора проверить управляемые настройки +* При формулировках [`deniedModels`](/docs/ru/settings-reference#deniedmodels) и `availableModels` выполните `/model` и выберите по имени модель, разрешённую вашей организацией +* Попросите администратора обновить управляемую настройку, указанную в сообщении +* При формулировке `couldn't read` перезапустите Claude Code; если проблема повторяется, попросите администратора проверить управляемые настройки -Если сеанс вместо этого не запускается с сообщением `Claude Code can't start` в этих управляемых настройках, смотрите [Managed settings block the default model](#managed-settings-block-the-default-model). +Если вместо этого сессия не запускается с сообщением `Claude Code can't start` при таких управляемых настройках, см. раздел [Managed settings block the default model](#managed-settings-block-the-default-model).

Model switch was blocked by a PreModelSwitch hook

-Хук [PreModelSwitch hook](/docs/ru/hooks#premodelswitch) не одобрил переключение модели, которое вы или клиент запросили, поэтому сеанс сохраняет свою текущую модель. Когда переключение пришло от хоста [Agent SDK](/docs/ru/agent-sdk/overview) или [Remote Control](/docs/ru/remote-control), а не от команды, которую вы ввели, сообщение читается `Model switch blocked by a PreModelSwitch hook` без названия целевой модели. +[Хук PreModelSwitch](/docs/ru/hooks#premodelswitch) не подтвердил переключение модели, запрошенное вами или клиентом, поэтому сессия сохраняет текущую модель. Если переключение пришло от хоста [Agent SDK](/docs/ru/agent-sdk/overview) или [Remote Control](/docs/ru/remote-control), а не от введённой вами команды, сообщение звучит как `Model switch blocked by a PreModelSwitch hook` без названия целевой модели. ```text theme={null} 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 предоставил эту причину, когда он [отклонил переключение или попросил подтверждение](/docs/ru/hooks#premodelswitch-decision-control). Обратитесь к тому, что он просит, или выберите модель, которую разрешают ваши хуки. -* **`PreModelSwitch hook <имя> did not respond before its timeout`**: хук, который не отвечает перед его [timeout](/docs/ru/hooks#timeouts), блокирует переключение. Исправьте зависающую команду или повысьте `timeout` этого хука, затем переключитесь снова. -* **`confirmation required, and this session cannot ask`**: хук ответил `ask` без причины, и запрос управления не имеет способа показать подсказку подтверждения. Запрос `/model` в запуске [`-p`](/docs/ru/headless) сообщает то же состояние с `(run /model interactively to confirm)` после причины. Сделайте переключение из интерактивного сеанса или измените решение хука для этой модели. -* **`so organization-managed PreModelSwitch hooks could not be checked`**: Claude Code не смог определить, какие хуки PreModelSwitch предоставляют [управляемые плагины](/docs/ru/settings-reference#enabledplugins) вашей организации, например, потому что управляемый плагин не загрузился. Один из этих хуков может заблокировать переключение, поэтому 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`, чтобы увидеть, что не удалось, затем переключитесь снова. +* **Причина, написанная хуком**: хук PreModelSwitch указал эту причину, когда [отклонил переключение или запросил подтверждение](/docs/ru/hooks#premodelswitch-decision-control). Выполните то, что он требует, или выберите модель, разрешённую вашими хуками. +* **`PreModelSwitch hook did not respond before its timeout`**: хук, не ответивший до истечения своего [таймаута](/docs/ru/hooks#timeouts), блокирует переключение. Исправьте зависающую команду или увеличьте `timeout` этого хука, затем переключитесь снова. +* **`confirmation required, and this session cannot ask`**: хук ответил `ask` без причины, а у управляющего запроса нет способа показать запрос подтверждения. Команда `/model` в [запуске `-p`](/docs/ru/headless) сообщает о том же состоянии с `(run /model interactively to confirm)` после причины. Выполните переключение из интерактивной сессии или измените решение хука для этой модели. +* **`so organization-managed PreModelSwitch hooks could not be checked`**: Claude Code не смог определить, какие хуки PreModelSwitch предоставляют [управляемые плагины](/docs/ru/settings-reference#enabledplugins) вашей организации, например потому что управляемый плагин не загрузился. Один из этих хуков мог бы заблокировать переключение, поэтому 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 повторил загрузку плагина один раз, а затем отклонил более поздние переключения в сеансе, даже когда ваша организация не управляла никакими плагинами. Перезагрузите сеанс, чтобы запустить загрузку плагина снова в этих версиях. +До версии 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`. Само переключение применилось, поэтому текущий сеанс работает на выбранной вами модели, но ваше значение по умолчанию не изменяется и следующий сеанс начинается со старого значения. +Вы выбрали модель, чтобы сохранить её как модель по умолчанию, например с помощью `/model ` или `Enter` в окне выбора `/model`, и Claude Code не смог записать выбор в файл пользовательских настроек `~/.claude/settings.json`. Само переключение применилось, поэтому текущая сессия работает на выбранной модели, но модель по умолчанию не изменилась, и следующая сессия начнётся со старого значения. ```text theme={null} 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](/docs/ru/settings#a-change-you-made-in-claude-code-is-lost-in-new-sessions). +* **`isn't valid JSON`**: файл на диске не разбирается, и Claude Code оставляет его нетронутым, а не перезаписывает содержимое, которое не может прочитать. Исправьте синтаксическую ошибку, затем переключитесь снова; см. раздел [Fix a broken settings file](/docs/ru/settings#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`, даже если запись не удалась. + +

+ Advisor is less capable than the current main model +

+ +Ваша [модель-советник](/docs/ru/advisor) стоит в рейтинге ниже основной модели сессии, поэтому Claude Code сохраняет выбор, но не подключает советника к запросам основной модели. + +```text theme={null} +Advisor set to Opus 4.8 +Note: Opus 4.8 is less capable than the current main model (Sonnet 5.5), so the advisor will not activate. Choose a more capable advisor, or switch to a smaller main model. +``` + +О том же состоянии сообщают и другие сообщения: + +* В интерактивной сессии уведомление звучит так: `Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor`. +* При запуске с флагом `--advisor` выводится предупреждение `"" cannot advise "
" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.`, и сессия всё равно запускается. -* **`can't be written (<код>)`**: запись не удалась с кодом ошибки операционной системы в скобках, такой как `EROFS`, когда файл или файл, на который он ссылается, находится на файловой системе, которая отказывает в записи. Сделайте файл доступным для записи и переключитесь снова. Если другой инструмент генерирует файл, установите ключ `model` в этом инструменте вместо этого; смотрите [A change you made in Claude Code is lost in new sessions](/docs/ru/settings#a-change-you-made-in-claude-code-is-lost-in-new-sessions). -* **`isn't valid JSON`**: файл на диске не анализируется, и Claude Code оставляет его нетронутым, а не перезаписывает содержимое, которое не может прочитать обратно. Исправьте синтаксическую ошибку, затем переключитесь снова; смотрите [Fix a broken settings file](/docs/ru/settings#fix-a-broken-settings-file). +**Что делать:** -Уведомление, заканчивающееся `couldn't confirm it was saved as your default (~/.claude/settings.json is still being written)`, означает, что запись не завершилась после трёх секунд. Она продолжается в фоне, поэтому значение по умолчанию может всё ещё быть сохранено; проверьте, на какой модели начинается ваш следующий сеанс, или запустите `/model <имя>` снова. +* Выберите советника с более высоким рейтингом или основную модель с более низким рейтингом. В разделе [Choose an advisor model](/docs/ru/advisor#choose-an-advisor-model) приведён рейтинг и перечислены допустимые советники для каждой основной модели. +* Оставьте советника заданным, если хотите, чтобы [субагенты](/docs/ru/sub-agents), чью модель он может консультировать, продолжали его использовать -До версии 2.1.265 уведомление говорило, что модель была `saved as your default for new sessions`, даже когда запись не удалась. +До версии 2.1.287 Claude Code оценивал некоторые пары иначе. Он показывал это примечание для советника Sonnet 5.5 с основной моделью Opus 4.7 или Opus 4.8 — пары, которую он теперь принимает. Кроме того, он подключал некоторых советников, для которых теперь выводится это примечание, например советника Opus 4.8 с основной моделью Sonnet 5.5.

thinking.type.enabled is not supported for this model

-Ваша версия Claude Code старше минимума для выбранной модели. CLI отправил конфигурацию мышления, которую модель больше не принимает. +Ваша версия Claude Code старше минимальной для выбранной модели. CLI отправил конфигурацию мышления, которую модель больше не принимает. ```text theme={null} API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior. @@ -2612,34 +2674,34 @@ API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use **Что делать:** -* Запустите `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 или позже. Opus 5.5 требует v2.1.280 или позже. Sonnet 5.5 требует v2.1.284 или позже -* Если вы не можете обновиться, запустите `/model` и выберите Opus 4.6 или Sonnet 4.6 вместо этого -* Если вы столкнулись с этим в [Agent SDK](/docs/ru/agent-sdk/overview), обновите пакет 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 или позже. Opus 5.5 требует TypeScript SDK v0.3.280 или позже. Sonnet 5.5 требует TypeScript SDK v0.3.284 или позже +* Выполните `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 или новее. Для Opus 5.5 требуется v2.1.280 или новее. Для Sonnet 5.5 требуется v2.1.284 или новее +* Если обновиться нельзя, выполните `/model` и выберите Opus 4.6 или Sonnet 4.6 +* Если вы столкнулись с этим в [Agent SDK](/docs/ru/agent-sdk/overview), обновите пакет 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 или новее. Для Opus 5.5 требуется TypeScript SDK v0.3.280 или новее. Для Sonnet 5.5 требуется TypeScript SDK v0.3.284 или новее

Effort isn't available with thinking turned off

-Вы отключили [extended thinking](/docs/ru/model-config#extended-thinking) и работали на [уровне усилий](/docs/ru/model-config#adjust-effort-level) выше `high`. Модель не принимает эту комбинацию, поэтому API отклонил запрос. +Вы отключили [расширенное мышление](/docs/ru/model-config#extended-thinking) и работали с [уровнем effort](/docs/ru/model-config#adjust-effort-level) выше `high`. Модель не принимает такое сочетание, поэтому API отклонил запрос. ```text theme={null} 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) ``` -Подсказка после `·` варьируется в зависимости от сеанса: в неинтерактивном сеансе она читается `use --effort high (or the effortLevel setting)`, и в сеансе, который Claude Desktop app запускает, она читается `you can lower effort to High`. +Подсказка после `·` зависит от сессии: в неинтерактивной сессии она звучит как `use --effort high (or the effortLevel setting)`, а в сессии, которую запускает приложение Claude Desktop, — как `you can lower effort to High`. **Что делать:** -* [Понизьте уровень усилий](/docs/ru/model-config#set-the-effort-level) до `high` или ниже. -* Включите мышление обратно, например, отменив [`MAX_THINKING_TOKENS`](/docs/ru/env-vars) или удалив [`"alwaysThinkingEnabled": false`](/docs/ru/settings-reference#alwaysthinkingenabled) из ваших настроек. +* [Понизьте уровень effort](/docs/ru/model-config#set-the-effort-level) до `high` или ниже. +* Снова включите мышление, например сбросив [`MAX_THINKING_TOKENS`](/docs/ru/env-vars) или удалив [`"alwaysThinkingEnabled": false`](/docs/ru/settings-reference#alwaysthinkingenabled) из настроек. -До версии 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. +До версии 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 отправлял запрос с заданным вами уровнем effort, поэтому Opus 5 отклонял каждый запрос выше `high` при отключённом мышлении. Теперь Claude Code отправляет effort `high` моделям, которые, как ему известно, отклоняют такое сочетание, например Opus 5.

Thinking budget exceeds output limit

-Настроенный бюджет расширенного мышления превышает максимальную длину ответа, поэтому для фактического ответа не остаётся места. +Настроенный бюджет расширенного мышления превышает максимальную длину ответа, поэтому для самого ответа не остаётся места. ```text theme={null} API Error: 400 ... max_tokens must be greater than thinking.budget_tokens @@ -2647,14 +2709,14 @@ API Error: 400 ... max_tokens must be greater than thinking.budget_tokens **Что делать:** -* Повысьте [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/ru/env-vars) выше бюджета мышления -* Смотрите [Extended thinking](/docs/ru/model-config#extended-thinking) для того, как бюджет взаимодействует с длиной вывода +* Увеличьте [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/ru/env-vars) выше бюджета мышления +* О том, как бюджет связан с длиной вывода, см. раздел [Расширенное мышление](/docs/ru/model-config#extended-thinking)

Tool use or thinking block mismatch

-История разговора достигла API в несогласованном состоянии. +История диалога поступила в API в несогласованном состоянии. ```text theme={null} API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation. @@ -2664,73 +2726,73 @@ 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. +Все варианты означают одно и то же: последовательность блоков `tool_use`, `tool_result` и `thinking` в истории больше не соответствует ожиданиям API. **Что делать:** -* Если вы используете Opus 4.7 или Opus 4.8, сначала запустите `claude update`. Версии до v2.1.156 могут вызвать эту ошибку во время нормального использования инструмента, и `/rewind` её не очищает. -* Запустите `/rewind` или нажмите Esc дважды, чтобы вернуться к checkpoint перед повреждённым ходом и продолжить оттуда. Смотрите [Checkpointing](/docs/ru/checkpointing) для того, как создаются и восстанавливаются checkpoints. +* Если вы используете Opus 4.7 или Opus 4.8, сначала выполните `claude update`. Версии до v2.1.156 могут вызывать эту ошибку при обычном использовании инструментов, и `/rewind` её не устраняет. +* Выполните `/rewind` или дважды нажмите Esc, чтобы вернуться к чекпоинту до повреждённого хода и продолжить оттуда. О том, как создаются и восстанавливаются чекпоинты, см. раздел [Чекпоинты](/docs/ru/checkpointing).

Invalid data in redacted\_thinking block

-API отклонил запрос с 400, потому что он не смог принять блок `redacted_thinking`, который более ранний ход в истории разговора содержит. +API отклонил запрос с кодом 400, потому что не смог принять блок `redacted_thinking`, содержащийся в одном из более ранних ходов истории диалога. ```text theme={null} API Error: 400 ... Invalid `data` in `redacted_thinking` block ``` -Claude Code оставляет мышление разговора из более ранних ходов вне запроса и повторяет один раз, поэтому сеанс продолжается без показа ошибки. До версии 2.1.282 Claude Code сохранял отклонённый блок, и каждый более поздний ход завершался с той же ошибкой. +Claude Code исключает из запроса прежние размышления диалога и один раз повторяет попытку, поэтому сессия продолжается без показа ошибки. До версии 2.1.282 Claude Code сохранял отклонённый блок, и каждый последующий ход завершался той же ошибкой. **Что делать:** -* Если вы на v2.1.281 или раньше и каждый ход завершается с этой ошибкой, запустите `claude update` и возобновите сеанс -* Если ошибка сохраняется, запустите `/clear` для начала разговора, который не содержит блок +* Если у вас v2.1.281 или старше и каждый ход завершается этой ошибкой, выполните `claude update` и возобновите сессию +* Если ошибка не исчезает, выполните `/clear`, чтобы начать диалог без этого блока

Unsupported tool content removed

-Когда Claude Code подключается непосредственно к Anthropic API и загружает или предварительно просматривает сохранённый сеанс, он удаляет содержимое инструмента, которое Anthropic API не принимает, и оставляет эту строку там, где удалённое содержимое находилось между двумя блоками мышления: +Когда Claude Code подключается напрямую к Anthropic API и загружает или просматривает сохранённую сессию, он удаляет содержимое инструментов, которое Anthropic API не принимает, и оставляет эту строку там, где удалённое содержимое находилось между двумя блоками размышлений: ```text theme={null} [Unsupported tool content removed] ``` -Такое содержимое достигает файла сеанса, когда что-то другое, чем Anthropic API, ответило в формате API, обычно прокси третьей стороны, установленный через [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars), который переводит вызовы инструментов другого поставщика. 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', ...`. +Такое содержимое попадает в файл сессии, когда в формате API отвечал не Anthropic API, а что-то другое — обычно сторонний прокси, заданный через [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars), который преобразует вызовы инструментов другого провайдера. 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 не удаляют содержимое. +* Если вы видите строку-заполнитель, ничего делать не нужно. Сессия продолжается без удалённого содержимого. +* Если вместо этого каждый ход возобновлённой сессии завершается ошибкой 400, выполните `claude update` и снова возобновите сессию. Версии до v2.1.246 не удаляют такое содержимое.

role 'system' must precede an 'assistant' message

-API отклонил запрос с 400, потому что системное сообщение находится в позиции в разговоре, которую он не принимает: +API отклонил запрос с кодом 400, потому что системное сообщение находится в недопустимой для него позиции в диалоге: ```text theme={null} API Error: 400 messages.6: role 'system' must precede an 'assistant' message or end the array; ... ``` -Claude Code отправляет часть своего напоминания и текста вложений как системные сообщения внутри разговора. Когда API отклоняет позицию одного, Claude Code повторяет запрос один раз с этим текстом, отправленным как обычные пользовательские сообщения вместо этого. Формулировки соседства API, такие как `use the top-level 'system' parameter for the initial system prompt`, получают то же восстановление. +Claude Code отправляет часть своих напоминаний и текста вложений как системные сообщения внутри диалога. Когда API отклоняет позицию такого сообщения, Claude Code один раз повторяет запрос, отправляя этот текст как обычные пользовательские сообщения. Родственные формулировки API о размещении, например `use the top-level 'system' parameter for the initial system prompt`, обрабатываются так же. -Когда ошибка действительно появляется, отклонённое системное сообщение не является тем, которое Claude Code может удалить. Это обычно означает, что прокси или [LLM gateway](/docs/ru/llm-gateway) между Claude Code и API добавил системное сообщение своё или переупорядочил разговор. +Если ошибка всё же появляется, отклонённое системное сообщение не из тех, которые Claude Code может удалить. Обычно это означает, что прокси или [LLM-шлюз](/docs/ru/llm-gateway) между Claude Code и API добавил собственное системное сообщение. **Что делать:** -* Если ошибка повторяется на каждом ходу позади прокси или шлюза, настроенного через [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars), подключитесь без прокси, чтобы подтвердить источник, и сообщите об ошибке тому, кто его управляет -* Запустите `/clear` для начала свежего разговора. Если ошибка возвращается там тоже, причина находится на пути запроса, а не в сохранённом разговоре. +* Если ошибка повторяется на каждом ходе при работе через прокси или шлюз, настроенный через [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars), подключитесь без прокси, чтобы подтвердить источник, и сообщите об ошибке тому, кто его обслуживает +* Выполните `/clear`, чтобы начать новый диалог. Если ошибка возникает и там, причина находится на пути запроса, а не в сохранённом диалоге. -До версии 2.1.280 Claude Code не распознавал эту формулировку, поэтому ошибка также появлялась, когда отклонённое системное сообщение было тем, которое сам Claude Code отправил, и каждый более поздний ход разговора завершался с той же ошибкой. +До версии 2.1.280 Claude Code не распознавал эту формулировку, поэтому ошибка появлялась и тогда, когда отклонённое системное сообщение было отправлено самим Claude Code, и каждый последующий ход диалога завершался так же.

Invalid encrypted\_content in search\_result block

-API отклонил запрос с 400, потому что история разговора содержит размещённое содержимое веб-поиска, которое он не может расшифровать. Формулировка называет поле, которое он не может прочитать: +API отклонил запрос с кодом 400, потому что история диалога содержит результаты размещённого веб-поиска, которые он не может расшифровать. Формулировка называет поле, которое не удалось прочитать: ```text theme={null} API Error: 400 ... Invalid `encrypted_content` in `search_result` block @@ -2739,25 +2801,25 @@ API Error: 400 ... Failed to decrypt web search result content API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block ``` -Результаты из размещённого [инструмента веб-поиска](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool) API содержат зашифрованные поля, которые только API может прочитать. Формулировка `encrypted_stdout` называет вывод размещённой программы выполнения кода, которая прочитала такие результаты, которые API также шифрует. API отклоняет запрос, который воспроизводит содержимое, которое он не может расшифровать, такое как содержимое, созданное для другой организации. +Результаты размещённого [инструмента веб-поиска](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool) API содержат зашифрованные поля, которые может прочитать только API. Формулировка `encrypted_stdout` относится к выводу размещённой программы выполнения кода, прочитавшей такие результаты; этот вывод API тоже шифрует. API отклоняет запрос, повторно отправляющий содержимое, которое он не может расшифровать, например содержимое, созданное для другой организации. -Собственный [инструмент WebSearch](/docs/ru/tools-reference#websearch-tool-behavior) Claude Code записывает результаты поиска как простой текст, поэтому эти блоки обычно достигают разговора через прокси или [LLM gateway](/docs/ru/llm-gateway), который сам запустил размещённый веб-поиск. +Собственный [инструмент WebSearch](/docs/ru/tools-reference#websearch-tool-behavior) Claude Code записывает результаты поиска как обычный текст, поэтому такие блоки обычно попадают в диалог через прокси или [LLM-шлюз](/docs/ru/llm-gateway), который сам выполнял размещённый веб-поиск. -Для трёх формулировок веб-поиска Claude Code оставляет вызовы поиска, результаты и цитаты вне того, что он отправляет, и повторяет запрос один раз, поэтому сеанс продолжается без показа ошибки. Формулировка `encrypted_stdout` не имеет такого восстановления, поэтому это сообщение всё ещё достигает вас. До версии 2.1.282 Claude Code сохранял отклонённые блоки веб-поиска тоже, и каждый более поздний ход и `/compact` завершались с той же ошибкой. +Для трёх формулировок, связанных с веб-поиском, Claude Code исключает вызовы поиска, результаты и цитаты из отправляемых данных и один раз повторяет запрос, поэтому сессия продолжается без показа ошибки. Для формулировки `encrypted_stdout` такого восстановления нет, поэтому это сообщение по-прежнему выводится. До версии 2.1.282 Claude Code сохранял и отклонённые блоки веб-поиска, и каждый последующий ход и `/compact` завершались так же. **Что делать:** -* Если вы на v2.1.281 или раньше и каждый ход завершается с одной из формулировок веб-поиска, запустите `claude update` и возобновите сеанс -* Если ошибка сохраняется, или сообщение называет `encrypted_stdout`, запустите `/rewind` для возврата к checkpoint перед ходом, который добавил содержимое, или запустите `/clear` для начала разговора, который не содержит его -* Если вы запускаете Claude Code позади прокси или шлюза, сообщите об ошибке тому, кто его управляет +* Если у вас v2.1.281 или старше и каждый ход завершается одной из формулировок веб-поиска, выполните `claude update` и возобновите сессию +* Если ошибка не исчезает или сообщение называет `encrypted_stdout`, выполните `/rewind`, чтобы вернуться к чекпоинту до хода, добавившего это содержимое, или выполните `/clear`, чтобы начать диалог без него +* Если вы запускаете Claude Code через прокси или шлюз, сообщите об ошибке тому, кто его обслуживает

Usage Policy refusal

-API отклонил ответ, потому что содержимое в разговоре вызвало проверку [Usage Policy](https://www.anthropic.com/legal/aup). +API отказался отвечать, потому что содержимое диалога вызвало срабатывание проверки [Usage Policy](https://www.anthropic.com/legal/aup). -Сообщение включает Request ID и Message ID, которые вы можете привести в поддержку, если вы считаете, что отказ неправильный. +Сообщение содержит Request ID и Message ID, которые можно указать в обращении в поддержку, если вы считаете отказ ошибочным. ```text theme={null} API Error: Opus 4.6 can't help with this. Start a new session to continue. @@ -2765,41 +2827,41 @@ 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`, когда модель не записана. +Сообщение называет отказавшую модель или `Claude`, если модель не записана. -Проверка оценивает весь разговор, а не только ваш последний prompt, поэтому отправка нового сообщения в том же сеансе обычно повторно вызывает тот же отказ. То же самое применяется после выхода и повторного открытия сеанса с `--continue` или `--resume`, так как расшифровка на диске всё ещё содержит вызывающее содержимое. На [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) и [Microsoft Foundry](/docs/ru/microsoft-foundry) это сообщение также охватывает запросы, которые меры безопасности модели отметили как тему кибербезопасности. Смотрите [Safety measures flagged a cybersecurity topic](#safety-measures-flagged-a-cybersecurity-topic). +Проверка оценивает весь диалог, а не только ваш последний промпт, поэтому отправка нового сообщения в той же сессии обычно снова вызывает тот же отказ. То же самое происходит после выхода и повторного открытия сессии с `--continue` или `--resume`, так как транскрипт на диске по-прежнему содержит вызвавшее отказ содержимое. В [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) и [Microsoft Foundry](/docs/ru/microsoft-foundry) это сообщение также охватывает запросы, которые меры безопасности модели пометили как относящиеся к теме кибербезопасности. См. раздел [Safety measures flagged a cybersecurity topic](#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.` +До версии 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`, чтобы вернуться к checkpoint перед ходом, который вызвал отказ, затем переформулируйте или возьмите другой подход. Смотрите [Checkpointing](/docs/ru/checkpointing). -* Если вы не можете определить, какой ход вызвал это, запустите `/clear`, чтобы начать свежий разговор в том же проекте. Ваш предыдущий разговор сохраняется на диске и остаётся доступным в `/resume`. -* В [неинтерактивном режиме](/docs/ru/headless) (`-p`), где перемотка недоступна, повторите попытку с переформулированным prompt в новом сеансе без `--continue`. Проверки политики варьируются в зависимости от модели, поэтому переключение на другую модель с помощью `--model` также может разрешить отказ в некоторых случаях. +* Дважды нажмите Esc или выполните `/rewind`, чтобы вернуться к чекпоинту до хода, вызвавшего отказ, затем переформулируйте запрос или выберите другой подход. См. раздел [Чекпоинты](/docs/ru/checkpointing). +* Если вы не можете определить, какой ход вызвал отказ, выполните `/clear`, чтобы начать новый диалог в том же проекте. Предыдущий диалог сохраняется на диске и остаётся доступным в `/resume`. +* В [неинтерактивном режиме](/docs/ru/headless) (`-p`), где возврат недоступен, повторите попытку с переформулированным промптом в новой сессии без `--continue`. Проверки политики различаются в зависимости от модели, поэтому в некоторых случаях отказ также может устранить переключение на другую модель с помощью `--model`.

Safety measures flagged a cybersecurity topic

-Меры безопасности модели отметили содержимое в разговоре как тему кибербезопасности. Сообщение называет модель, которая отметила запрос: +Меры безопасности модели пометили содержимое диалога как относящееся к теме кибербезопасности. Сообщение называет модель, пометившую запрос: ```text theme={null} 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](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude), который предоставляет доступ для законной работы в области кибербезопасности. На Opus 5.5 и Sonnet 5.5 сообщение открывается с `<модель>'s safeguards flagged this session` вместо этого. Когда отмеченная категория имеет доступную резервную модель, Claude Code [переключает модели](/docs/ru/model-config#automatic-model-fallback) вместо показа этой ошибки. +Сообщение содержит ссылку на [Cyber Verification Program](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude), которая предоставляет доступ для легитимной работы в области кибербезопасности. На Opus 5.5 и Sonnet 5.5 сообщение вместо этого начинается с `'s safeguards flagged this session`. Если для помеченной категории доступна резервная модель, Claude Code [переключает модель](/docs/ru/model-config#automatic-model-fallback), а не показывает эту ошибку. -На [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) и [Microsoft Foundry](/docs/ru/microsoft-foundry) флаг кибербезопасности вместо этого производит сообщение [Usage Policy refusal](#usage-policy-refusal). +В [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) и [Microsoft Foundry](/docs/ru/microsoft-foundry) пометка кибербезопасности вместо этого приводит к сообщению [Usage Policy refusal](#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:` с последующей ссылкой на форму исключения. +Сама защита работает на стороне сервера и существовала до 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](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude) -* Если ваш запрос не был о теме кибербезопасности, запустите `/feedback`, чтобы сообщить о ложном срабатывании -* Чтобы продолжить работу в том же сеансе, нажмите Esc дважды или запустите `/rewind`, чтобы вернуться к checkpoint перед ходом, который вызвал флаг, затем возьмите другой подход. Смотрите [Checkpointing](/docs/ru/checkpointing). +* Если ваша работа требует такого содержимого, подайте заявку на доступ через [Cyber Verification Program](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude) +* Если ваш запрос не касался кибербезопасности, выполните `/feedback`, чтобы сообщить о ложном срабатывании +* Чтобы продолжить работу в той же сессии, дважды нажмите Esc или выполните `/rewind`, чтобы вернуться к чекпоинту до хода, вызвавшего пометку, затем выберите другой подход. См. раздел [Чекпоинты](/docs/ru/checkpointing).

Ошибки установки @@ -2852,13 +2914,13 @@ The connection dropped while downloading the update (attempt 3/3: aborted). Chec Ошибки командной строки

-Эти ошибки поступают из командной строки `claude` и её подкоманд, из имени команды, которое вы вводите в приглашение, и из команд, таких как `/security-review`, которые собирают контекст, запуская команды оболочки перед выполнением своего приглашения. Они также поступают из `/tui`, который перезапускает CLI. +Эти ошибки возникают в командной строке `claude` и её подкомандах, при отправке имени команды в строке ввода, а также в командах вроде `/security-review`, которые собирают контекст, выполняя shell-команды до запуска своего промпта. Они также возникают в `/tui`, которая перезапускает CLI.

Конфликт между `--bg` и `--print`

-Это сообщение требует Claude Code v2.1.198 или более поздней версии. Вы объединили `--bg` с `-p` или `--print` в одном вызове `claude`. `--bg` запускает [фоновый сеанс](/docs/ru/agent-view#from-your-shell), к которому вы позже подключаетесь с помощью `claude agents`, а `--print` запускает [неинтерактивно](/docs/ru/headless) и никогда не запускает интерактивный сеанс, к которому подключается `claude agents`. До версии v2.1.198 эта комбинация молча создавала фоновое задание, к которому невозможно было подключиться. +Это сообщение требует Claude Code v2.1.198 или новее. Вы объединили `--bg` с `-p` или `--print` в одном вызове `claude`. `--bg` запускает [фоновую сессию](/docs/ru/agent-view#from-your-shell), к которой вы позже подключаетесь с помощью `claude agents`, а `--print` работает [неинтерактивно](/docs/ru/headless) и никогда не запускает интерактивную сессию, к которой подключается `claude agents`. До v2.1.198 такое сочетание молча создавало фоновое задание, к которому невозможно было подключиться. ```text theme={null} --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 ''`. @@ -2866,42 +2928,58 @@ The connection dropped while downloading the update (attempt 3/3: aborted). Chec **Что делать:** -* Удалите `-p` или `--print`. `--bg` принимает приглашение в качестве позиционального аргумента, поэтому `claude --bg ""` — это полная команда. См. [Dispatch new agents from your shell](/docs/ru/agent-view#from-your-shell). -* Чтобы запустить приглашение неинтерактивно и вывести результат вместо создания фонового сеанса, удалите `--bg` и запустите `claude -p ""` +* Уберите `-p` или `--print`. `--bg` принимает промпт как позиционный аргумент, поэтому `claude --bg ""` — это полная команда. См. [Запуск новых агентов из оболочки](/docs/ru/agent-view#from-your-shell). +* Чтобы выполнить промпт неинтерактивно и вывести результат вместо создания фоновой сессии, уберите `--bg` и выполните `claude -p ""` + +

+ Конфликт между флагом системного промпта и его файловой формой +

+ +Вы передали [`--append-subagent-system-prompt`](/docs/ru/cli-reference#cli-flags) вместе с `--append-subagent-system-prompt-file` в одном вызове `claude`, поэтому `claude` завершается с кодом выхода 1 вместо запуска сессии: + +```text theme={null} +Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one. +``` + +До v2.1.283 `claude` завершался так же, когда вы передавали `--system-prompt` вместе с `--system-prompt-file` или `--append-system-prompt` вместе с `--append-system-prompt-file`, поскольку эти пары конфликтовали, а не [объединялись](/docs/ru/cli-reference#system-prompt-flags). В этих версиях сообщение называет пару, которую вы объединили. + +**Что делать:** + +* Оставьте одну форму флага и уберите другую. Чтобы объединить фиксированный файл промпта с текстом для конкретного запуска, добавьте текст в файл перед запуском вместо передачи обоих флагов

- Неверная конфигурация `--agents` + Недопустимая конфигурация `--agents`

-Значение, которое вы передали в `--agents`, недействительно, поэтому `claude` завершает работу с кодом 1 вместо запуска сеанса. Когда вы передаёте `--safe-mode` или устанавливаете [`CLAUDE_CODE_SAFE_MODE`](/docs/ru/env-vars#variables), Claude Code полностью игнорирует `--agents`. С `--resume` или `--continue` встроенное значение JSON не проверяется и сеанс запускается; значение, прочитанное из файла, проверяется при каждом запуске. До версии v2.1.242 Claude Code запускал сеанс в любом случае. +Значение, переданное в `--agents`, недопустимо, поэтому `claude` завершается с кодом выхода 1 вместо запуска сессии. Если вы передаёте `--safe-mode` или задаёте [`CLAUDE_CODE_SAFE_MODE`](/docs/ru/env-vars#variables), Claude Code полностью игнорирует `--agents`. С `--resume` или `--continue` встроенное значение JSON не проверяется, и сессия запускается; значение, прочитанное из файла, проверяется при каждом запуске. До v2.1.242 Claude Code всё равно запускал сессию. ```text theme={null} Error: Invalid --agents configuration: ``` -То, что следует после первой строки, зависит от того, как значение не прошло проверку. Claude Code выполняет эти проверки по порядку и останавливается на первой, которая не пройдена. Если ваше значение имеет два вида проблем, вы видите второе только после исправления первого: +Что следует за первой строкой, зависит от того, какую проверку не прошло значение. Claude Code выполняет эти проверки по порядку и останавливается на первой неудачной. Если в вашем значении есть проблемы двух видов, вторую вы увидите только после исправления первой: -1. Когда значение начинается с `{`, но не анализируется как JSON, или содержимое файла `--agents` не анализируется, Claude Code выводит одну строку `invalid JSON:` с собственным сообщением парсера JSON -2. Когда оно анализируется, но определение агента не соответствует схеме для [определённых в CLI подагентов](/docs/ru/sub-agents#choose-the-subagent-scope), Claude Code выводит одну строку на проблему -3. Когда имя агента начинается с `-`, Claude Code выводит `: agent names must not start with '-'` +1. Если значение начинается с `{`, но не разбирается как JSON, или содержимое файла `--agents` не разбирается, Claude Code выводит одну строку `invalid JSON:` с собственным сообщением парсера JSON +2. Если значение разбирается, но определение агента не соответствует схеме для [субагентов, определённых через CLI](/docs/ru/sub-agents#choose-the-subagent-scope), Claude Code выводит по одной строке на каждую проблему +3. Если имя агента начинается с `-`, Claude Code выводит `: agent names must not start with '-'` -Когда строк проблем больше 20, Claude Code выводит первые 20 и заменяет остальные на `…and N more`. +Если строк с проблемами больше 20, Claude Code выводит первые 20, а остальные заменяет на `…and N more`. -С `--print`, `--agents` также принимает [путь к файлу JSON](/docs/ru/sub-agents#choose-the-subagent-scope) вместо встроенного объекта. До версии v2.1.281 `--agents` принимал только встроенный JSON и рассматривал путь к файлу как недействительный JSON. Форма файла имеет свои отказы, выводимые вместо этого сообщения, включая следующие: +С `--print` флаг `--agents` также принимает [путь к файлу JSON](/docs/ru/sub-agents#choose-the-subagent-scope) вместо встроенного объекта. До v2.1.281 `--agents` принимал только встроенный JSON и считал путь к файлу недопустимым JSON. У файловой формы есть собственные отказы, которые выводятся вместо этого сообщения, в том числе следующие: -* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code прочитал значение как путь к файлу в интерактивном сеансе. Передайте определения как встроенный JSON или добавьте `-p` для чтения из файла. -* **`Error: --agents file not found: `**: файл не существует по этому пути. Значение, которое не начинается с `{` и не является действительным JSON, читается как путь, поэтому встроенный JSON, который ваша оболочка повредила, может не пройти таким образом. Проверьте путь или кавычки и запустите команду снова. +* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code прочитал значение как путь к файлу в интерактивной сессии. Передайте определения как встроенный JSON или добавьте `-p`, чтобы прочитать их из файла. +* **`Error: --agents file not found: `**: по этому пути нет файла. Значение, которое не начинается с `{` и не является допустимым JSON, читается как путь, поэтому встроенный JSON, испорченный вашей оболочкой, тоже может вызвать эту ошибку. Проверьте путь или кавычки и выполните команду снова. **Что делать:** -* Исправьте каждую проблему, которую указывает сообщение, затем запустите команду снова. См. [поля, которые принимает определённый в CLI подагент](/docs/ru/sub-agents#choose-the-subagent-scope). +* Исправьте каждую проблему, перечисленную в сообщении, затем выполните команду снова. См. [поля, которые принимает субагент, определённый через CLI](/docs/ru/sub-agents#choose-the-subagent-scope).

- Облачные сеансы не могут быть созданы из сеанса `--restricted` + Облачные сессии нельзя создавать из сессии `--restricted`

-Когда вы запускаете сеанс с [`--restricted`](/docs/ru/cli-reference#cli-flags), Claude Code отказывается создавать [облачные сеансы](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) из него, потому что новый сеанс будет работать вне ограниченного процесса и не будет применять ограниченный режим. Claude Code отказывает на клиенте, перед контактом с сервером, поэтому облачный сеанс не создаётся: +Если вы запускаете сессию с [`--restricted`](/docs/ru/cli-reference#cli-flags), Claude Code отказывается создавать из неё [облачные сессии](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud), поскольку новая сессия работала бы вне ограниченного процесса и не соблюдала бы ограниченный режим. Claude Code отказывает на стороне клиента, до обращения к серверу, поэтому облачная сессия не создаётся: ```text theme={null} Cloud sessions cannot be created from a --restricted session: they would not enforce it. @@ -2909,95 +2987,95 @@ Cloud sessions cannot be created from a --restricted session: they would not enf **Что делать:** -* Запустите задачу локально в ограниченном сеансе -* Если вы контролируете способ запуска сеанса, запустите новый сеанс `claude` без `--restricted` и создайте облачный сеанс оттуда +* Выполните задачу локально в ограниченной сессии +* Если вы управляете тем, как запускается сессия, запустите новую сессию `claude` без `--restricted` и создайте облачную сессию из неё -До версии v2.1.248 Claude Code не имел флага `--restricted`; более ранние версии отклоняют сам флаг с ошибкой неизвестного параметра. +До v2.1.248 в Claude Code не было флага `--restricted`; более ранние версии отклоняют сам флаг с ошибкой неизвестного параметра.

- Облачные сеансы отключены политикой вашей организации + Облачные сессии отключены политикой вашей организации

-Политика `allow_remote_sessions` вашей организации отключена, поэтому [облачные сеансы](/docs/ru/claude-code-on-the-web) и команды, которые их используют, недоступны: +Политика `allow_remote_sessions` вашей организации выключена, поэтому [облачные сессии](/docs/ru/claude-code-on-the-web) и команды, которые их используют, недоступны: ```text theme={null} Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them. ``` -Сообщение появляется, когда вы [создаёте облачный сеанс из терминала](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) и когда вы отправляете команду, которая требует облачные сеансы, такую как `/teleport`, `/remote-env` или `/web-setup`. До версии v2.1.268 отправка одной из этих команд возвращала [`Unknown command`](#unknown-command) вместо этого. +Это сообщение появляется, когда вы [создаёте облачную сессию из терминала](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud), и когда вы отправляете команду, которой нужны облачные сессии, например `/teleport`, `/remote-env` или `/web-setup`. До v2.1.268 отправка одной из этих команд возвращала [`Unknown command`](#unknown-command). -Это политика организации на стороне сервера, поэтому её нельзя переопределить из локальных параметров, переменных окружения или флагов CLI. +Это политика организации на стороне сервера, поэтому её нельзя переопределить локальными настройками, переменными окружения или флагами CLI. -Если Claude Code ещё не загрузил политику вашей организации или не может её получить, эти команды отвечают `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` вместо этого. +Если Claude Code ещё не загрузил политику вашей организации или не может её получить, эти команды вместо этого отвечают `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` **Что делать:** -* Попросите [владельца](/docs/ru/server-managed-settings#access-control) в вашей организации включить облачные сеансы в параметрах администратора Claude Code на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) -* Если сообщение говорит, что не удалось проверить политику, проверьте подключение к сети, затем перезагрузите Claude Code и попробуйте снова +* Попросите [Owner](/docs/ru/server-managed-settings#access-control) в вашей организации включить облачные сессии в настройках администратора Claude Code на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) +* Если в сообщении сказано, что не удалось проверить политику, проверьте сетевое подключение, затем перезапустите Claude Code и повторите попытку

- Значение `--json-schema` не является действительной JSON Schema + Значение `--json-schema` не является допустимой JSON Schema

-Схема, которую вы передали в [`--json-schema`](/docs/ru/cli-reference#cli-flags) в [неинтерактивном режиме](/docs/ru/headless#get-structured-output), не прошла компиляцию JSON Schema, поэтому `claude` завершает работу с кодом 1 вместо запуска приглашения. До версии v2.1.205 недействительная схема выдавала неструктурированный вывод без ошибки, и любая схема, использующая ключевое слово `format`, рассматривалась как недействительная. +Схема, переданная в [`--json-schema`](/docs/ru/cli-reference#cli-flags) в [неинтерактивном режиме](/docs/ru/headless#get-structured-output), не прошла компиляцию JSON Schema, поэтому `claude` завершается с кодом выхода 1 вместо выполнения промпта. До v2.1.205 недопустимая схема давала неструктурированный вывод без ошибки, а любая схема с ключевым словом `format` считалась недопустимой. ```text theme={null} 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` как аннотацию и не применяет её. +Текст после второго двоеточия — это диагностика валидатора, которая называет ключевое слово или место, не прошедшее проверку. Схемы с ключевым словом `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`. +Claude Code выполняет две проверки до компиляции схемы: значение, которое не разбирается как JSON, отклоняется с `Error: --json-schema is not valid JSON`, а допустимый JSON, не являющийся объектом, — с `Error: --json-schema must be a JSON object`. **Что делать:** -* Исправьте часть схемы, которую указывает диагностика, затем повторно запустите команду -* См. [Get structured output](/docs/ru/headless#get-structured-output) для рабочей схемы и команды +* Исправьте часть схемы, указанную в диагностике, затем снова выполните команду +* См. [Получение структурированного вывода](/docs/ru/headless#get-structured-output), где приведены рабочая схема и команда

- Файл параметров превышает лимит 2MiB + Файл настроек превышает лимит 2MiB

-Файл, который вы передали в [`--settings`](/docs/ru/cli-reference#cli-flags), больше 2 MiB, поэтому `claude` завершает работу с кодом 1 при запуске вместо загрузки. До версии v2.1.214 Claude Code читал файл без проверки размера, и многогигабайтный файл или файл устройства, такой как `/dev/zero`, увеличивал память без ограничений. +Файл, переданный в [`--settings`](/docs/ru/cli-reference#cli-flags), больше 2 MiB, поэтому `claude` завершается с кодом выхода 1 при запуске вместо его загрузки. До v2.1.214 Claude Code читал файл без проверки размера, и файл размером в несколько гигабайт или файл устройства, например `/dev/zero`, неограниченно увеличивал потребление памяти. ```text theme={null} 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`. +Таким же образом Claude Code отклоняет путь `--settings`, который не является обычным файлом: для устройства, FIFO или сокета выводится `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` с последующим путём, а для каталога указывается причина `EISDIR`. **Что делать:** -* Укажите `--settings` на обычный файл JSON параметров размером менее 2 MiB. См. [Settings](/docs/ru/settings) для формата. +* Укажите в `--settings` обычный файл настроек JSON размером менее 2 MiB. Формат описан в разделе [Настройки](/docs/ru/settings).

Текущий каталог больше не существует

-Вы запустили `claude` из каталога, который был удалён или перемещён после того, как ваша оболочка вошла в него, например worktree или временный каталог, удалённый другой оболочкой. Claude Code не может прочитать свой рабочий каталог, поэтому он завершает работу с кодом 1 перед запуском сеанса, как в интерактивном, так и в [неинтерактивном](/docs/ru/headless) режиме. До версии v2.1.239 Claude Code падал с минифицированным исходным кодом пакета и необработанным стеком `ENOENT ... uv_cwd` на stderr вместо этого сообщения. +Вы запустили `claude` из каталога, который был удалён или перемещён после того, как ваша оболочка в него перешла, например worktree или временный каталог, удалённый другой оболочкой. Claude Code не может прочитать свой рабочий каталог, поэтому завершается с кодом выхода 1 до запуска сессии — как в интерактивном, так и в [неинтерактивном](/docs/ru/headless) режиме. До v2.1.239 Claude Code вместо этого сообщения аварийно завершался, выводя минифицированный исходный код бандла и необработанный стек `ENOENT ... uv_cwd` в stderr. ```text theme={null} 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.` +Если 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`. +В 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**, включите папку для вашего приложения терминала, затем повторно откройте терминал +* Перейдите в существующий каталог, например в домашний каталог или каталог проекта, затем снова выполните `claude` +* Если каталог был создан заново по тому же пути, ваша оболочка всё ещё держит удалённый. Выполните `cd "$PWD"` или выйдите из каталога и войдите снова, затем снова выполните `claude` +* При `EPERM` в macOS закройте приложение терминала с помощью Cmd+Q, откройте его снова, вернитесь в эту папку и выполните `claude`. Если `ls` в этой папке по-прежнему завершается с ошибкой, откройте **System Settings > Privacy & Security > Files and Folders**, включите эту папку для своего приложения терминала, затем снова откройте терминал

Временный каталог отклонён или не может быть создан

-На macOS и Linux Claude Code создаёт приватный временный каталог при запуске, `claude-` в системном временном каталоге или переопределении [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars). Когда каталог не может быть создан или запись, уже находящаяся по этому пути, не проходит проверки безопасности, Claude Code выводит сбой на stderr и завершает работу с кодом 1 вместо запуска сеанса: +В macOS и Linux Claude Code при запуске создаёт приватный временный каталог `claude-` в системном временном каталоге или в каталоге, заданном переопределением [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars). Если каталог не удаётся создать или уже существующий по этому пути элемент не проходит проверки безопасности, Claude Code выводит ошибку в stderr и завершается с кодом выхода 1 вместо запуска сессии: ```text wrap theme={null} ENOSPC: no space left on device, mkdir '/tmp/claude-501' @@ -3011,18 +3089,18 @@ Temp directory /tmp/claude-501 is not readable (its mode may have been altered, **Что делать:** -* Для `ENOSPC` освободите место на диске на томе, который содержит временный каталог -* Для форм `Refusing to use it` удалите саму названную запись, а не то, на что указывает ссылка, и запустите Claude Code снова; для формы `owned by uid` только администратор или этот пользователь могут удалить её -* Для `is not readable` запустите `chmod 0700` на названном каталоге или удалите его и запустите снова -* В любом из этих случаев установите [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars) на каталог, который вы контролируете, и запустите Claude Code снова, оставив отклонённый путь в покое +* При `ENOSPC` освободите место на томе, где находится временный каталог +* Для форм с `Refusing to use it` удалите сам указанный элемент, а не то, на что указывает ссылка, и снова запустите Claude Code; в случае формы `owned by uid` удалить его может только администратор или этот пользователь +* При `is not readable` выполните `chmod 0700` для указанного каталога или удалите его и запустите снова +* В любом из этих случаев задайте в [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars) каталог, которым вы управляете, и снова запустите Claude Code, не трогая отклонённый путь

- Каталог не удалось разрешить в реальное местоположение + Не удалось определить реальное расположение каталога

-Вы запустили `/add-dir` для подкаталога вашего рабочего каталога, и Claude Code не смог разрешить каталог в его реальное местоположение. +Вы выполнили `/add-dir` для подкаталога рабочего каталога, и Claude Code не смог определить реальное расположение этого каталога. -У вас уже есть доступ к файлам подкаталога рабочего каталога, поэтому `/add-dir` только загружает его skills, команды и агентов. Перед загрузкой Claude Code проверяет, что реальное местоположение каталога, с разрешёнными любыми символическими ссылками, находится внутри рабочего каталога. Когда Claude Code не может разрешить это местоположение, он ничего не загружает и показывает это сообщение: +У вас уже есть доступ к файлам в подкаталоге рабочего каталога, поэтому `/add-dir` только загружает его скиллы, команды и агентов. Перед их загрузкой Claude Code проверяет, что реальное расположение каталога, с разрешением всех символических ссылок, находится внутри рабочего каталога. Если Claude Code не может определить это расположение, он ничего не загружает и показывает это сообщение: ```text theme={null} 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. @@ -3030,85 +3108,85 @@ packages/app couldn't be resolved to a real location, so its skills, commands, a **Что делать:** -* Проверьте, что путь указывает на реальный каталог внутри рабочего каталога, затем запустите `/add-dir` снова -* Сообщение не изменяет ваш доступ к файлам; оно только сообщает, что содержимое `.claude/` каталога не было загружено +* Проверьте, что путь указывает на реальный каталог внутри рабочего каталога, затем снова выполните `/add-dir` +* Сообщение не меняет ваш доступ к файлам; оно лишь сообщает, что содержимое `.claude/` этого каталога не было загружено -До версии v2.1.261 это сообщение также появлялось для каждого `/add-dir `, когда рабочий каталог находился на автомонтировании `/net/`, где Claude Code отказывается разрешать пути по дизайну; каталог был в порядке и повторная попытка не могла помочь. +До v2.1.261 это сообщение также появлялось при каждом `/add-dir `, когда рабочий каталог находился на автомонтировании `/net/`, где Claude Code намеренно не разрешает пути; с каталогом всё было в порядке, и повторная попытка не помогала.

- Рабочее пространство не доверено при запуске Remote Control + Рабочее пространство не является доверенным при запуске Remote Control

-Вы запустили сервер [Remote Control](/docs/ru/remote-control) в режиме с `claude remote-control` или его псевдонимом `claude rc` в каталоге, которому вы не доверяете, и команда не смогла спросить вас, доверяете ли вы ему. Например, стандартный ввод или стандартный вывод команды не является терминалом, потому что один из них перенаправлен или передан по конвейеру. Команда завершает работу с кодом 1: +Вы запустили серверный режим [Remote Control](/docs/ru/remote-control) командой `claude remote-control` или её псевдонимом `claude rc` в каталоге, которому не доверяете, и команда не смогла спросить вас, доверять ли ему. Например, стандартный ввод или стандартный вывод команды не является терминалом, поскольку один из них перенаправлен или передан через конвейер. Команда завершается с кодом выхода 1: ```text theme={null} Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog. ``` -Два варианта, которые также начинаются с `Error: Workspace not trusted.`, появляются и в терминале, который слишком мал для отображения того, что включает доверие к каталогу, или в терминале, который не сообщил свой размер. Увеличьте окно или переключитесь на обычное окно терминала, затем запустите `claude rc` снова. +Два варианта, которые также начинаются с `Error: Workspace not trusted.`, появляются в терминале, слишком маленьком, чтобы показать, что включает доверие к каталогу, или в терминале, который не сообщил свой размер. Увеличьте окно или переключитесь на обычное окно терминала, затем снова выполните `claude rc`. -В вашем домашнем каталоге сообщение отличается, потому что диалог доверия рабочего пространства никогда не сохраняет доверие для домашнего каталога, поэтому принятие его там не может удовлетворить эту проверку. До версии v2.1.214 домашний каталог показывал сообщение выше, совет которого не может там сработать. +В домашнем каталоге сообщение другое, поскольку диалог доверия к рабочему пространству никогда не сохраняет доверие для домашнего каталога, поэтому подтверждение в нём не может удовлетворить эту проверку. До v2.1.214 в домашнем каталоге показывалось сообщение выше, совет из которого там не может сработать. ```text theme={null} 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). ``` -Если вы ответите `n` или нажмёте Enter на вопрос [`Trust ?`](/docs/ru/remote-control#requirements), команда выведет сообщение `Remote Control did not start`, которое указывает каталог и завершит работу с кодом 1. Запустите `claude rc` снова, чтобы ответить `y`. +Если вы ответите `n` или нажмёте Enter на [вопрос `Trust ?`](/docs/ru/remote-control#requirements), команда выведет сообщение `Remote Control did not start` с названием каталога и завершится с кодом выхода 1. Снова выполните `claude rc`, чтобы ответить `y`. **Что делать:** -* Сначала доверьте каталогу из терминала: запустите `claude rc` там и ответьте `y`, или запустите `claude` там и примите [диалог доверия рабочего пространства](/docs/ru/permissions#project-allow-rules-and-workspace-trust), затем запустите вашу исходную команду снова -* В вашем домашнем каталоге перейдите в проектный каталог и запустите Remote Control там +* Сначала подтвердите доверие к каталогу из терминала: выполните там `claude rc` и ответьте `y` или выполните там `claude` и примите [диалог доверия к рабочему пространству](/docs/ru/permissions#project-allow-rules-and-workspace-trust), затем снова выполните исходную команду +* В домашнем каталоге перейдите в каталог проекта и запустите Remote Control там -До версии v2.1.284 команда никогда не спрашивала, даже в терминале. +До v2.1.284 команда никогда не задавала этот вопрос, даже в терминале.

- Не перенесено в сеансы, которые запускает Remote Control + Не переносится в сессии, которые запускает Remote Control

-Вы запустили [Remote Control](/docs/ru/remote-control) с глобальным флагом `claude` перед глаголом `remote-control`, флагом, который ограничивал бы или конфигурировал сеансы, которые запускает Remote Control, такой как `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` или `--mcp-config`. Флаг, размещённый перед глаголом, никогда не достигает этих сеансов. Claude Code отказывает запуститься вместо этого, указывая флаг: +Вы запустили [Remote Control](/docs/ru/remote-control) с глобальным флагом `claude` перед глаголом `remote-control` — флагом, который ограничивал бы или настраивал сессии, запускаемые Remote Control, например `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` или `--mcp-config`. Флаг, указанный перед глаголом, никогда не доходит до этих сессий. Вместо этого Claude Code отказывается запускаться и называет флаг: ```text theme={null} 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 не отклоняет глобальные флаги, которые безопасно отбросить, например `--verbose`, `--model` или добавленные обёрткой `--session-id` или `--plugin-dir`: он их игнорирует, и Remote Control запускается. -Claude Code также отказывает запуститься для глобального флага, который он ещё не признал безопасным, поэтому флаг, добавленный в более новом выпуске, может появиться в этом сообщении до более позднего выпуска, который его отметит как безопасный. +Claude Code также отказывается запускаться при глобальном флаге, который он пока не распознаёт как безопасный, поэтому флаг, добавленный в более новом выпуске, может появляться в этом сообщении, пока более поздний выпуск не пометит его как безопасный. **Что делать:** -* Удалите флаг перед глаголом и передайте [собственные параметры Remote Control](/docs/ru/remote-control#start-a-remote-control-session) после него; `claude remote-control --help` их перечисляет -* Когда отклонённый флаг — это `--permission-mode`, запустите `claude remote-control --permission-mode ` для установки режима разрешений для сеансов, которые запускает Remote Control +* Уберите флаг перед глаголом и передайте [собственные параметры Remote Control](/docs/ru/remote-control#start-a-remote-control-session) после него; `claude remote-control --help` выводит их список +* Если отклонённый флаг — `--permission-mode`, выполните `claude remote-control --permission-mode `, чтобы задать режим разрешений для сессий, которые запускает Remote Control -До версии v2.1.248 `claude remote-control` не принимал свои флаги, когда глобальный флаг шёл первым, и команда не работала с ошибкой `unknown option`. +До v2.1.248 `claude remote-control` не принимал собственные флаги, если первым шёл глобальный флаг, и команда завершалась с ошибкой `unknown option`.

claude import ещё недоступен в этой сборке

-Вы запустили [`claude import`](/docs/ru/cli-reference#cli-commands), и Claude Code обнаружил, что поток импорта отключен, поэтому команда завершает работу с кодом 1 вместо запуска импорта. До версии v2.1.222 сборка с отключённым потоком импорта рассматривала `import` как приглашение и запускала интерактивный сеанс вместо вывода этого сообщения. +Вы выполнили [`claude import`](/docs/ru/cli-reference#cli-commands), и Claude Code обнаружил, что процесс импорта выключен, поэтому команда завершается с кодом выхода 1 вместо запуска импорта. До v2.1.222 сборка с выключенным процессом импорта воспринимала `import` как промпт и запускала интерактивную сессию вместо вывода этого сообщения. ```text theme={null} `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` через флаг функции, который он получает от Anthropic и кэширует на диске. Это сообщение означает, что кэшированное значение выключено. Обычно причина одна из следующих: -* Вы не запустили сеанс с момента установки, поэтому Claude Code ещё не получил флаг. Первый `claude import` может вывести это даже когда функция доступна вам. -* Вы используете Claude Code через Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или Claude Platform на AWS, или через [Claude apps gateway](/docs/ru/claude-apps-gateway#availability-and-limitations). Claude Code не получает флаги функций в этих сеансах, поэтому `claude import` остаётся недоступным. -* Вы установили `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` или [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ru/env-vars), которые отключают получение флагов функций, поэтому `claude import` остаётся недоступным. +* Вы ещё не запускали сессию после установки, поэтому Claude Code ещё не получил флаг. Первый `claude import` может вывести это сообщение, даже если функция вам доступна. +* Вы используете Claude Code через Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или Claude Platform on AWS либо через [шлюз приложений Claude](/docs/ru/claude-apps-gateway#availability-and-limitations). В этих сессиях Claude Code не получает флаги функций, поэтому `claude import` остаётся недоступным. +* Вы задали `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` или [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ru/env-vars), которые отключают получение флагов функций, поэтому `claude import` остаётся недоступным. **Что делать:** -* На свежей установке запустите `claude`, дождитесь загрузки сеанса, выйдите и запустите `claude import` снова -* Где получение флагов функций остаётся отключённым, установите конфигурацию самостоятельно: добавьте серверы MCP с [`claude mcp add`](/docs/ru/mcp#installing-mcp-servers) и создайте [`CLAUDE.md` файлы](/docs/ru/memory#how-claude-md-files-load), [skills и команды](/docs/ru/skills#where-skills-live) и [подагентов](/docs/ru/sub-agents#choose-the-subagent-scope), которые вы хотите перенести. Сообщение также указывает `~/.claude/settings.json`. Из конфигурации, которую переносит `claude import`, этот файл содержит только [режим разрешений](/docs/ru/settings-reference#permission-settings); Claude Code не читает серверы MCP из него. +* В новой установке запустите `claude`, дождитесь загрузки сессии, выйдите и снова выполните `claude import` +* Если получение флагов функций остаётся отключённым, настройте конфигурацию самостоятельно: добавьте MCP-серверы с помощью [`claude mcp add`](/docs/ru/mcp#installing-mcp-servers) и создайте [файлы `CLAUDE.md`](/docs/ru/memory#how-claude-md-files-load), [скиллы и команды](/docs/ru/skills#where-skills-live) и [субагентов](/docs/ru/sub-agents#choose-the-subagent-scope), которых хотите перенести. В сообщении также упоминается `~/.claude/settings.json`. Из конфигурации, которую переносит `claude import`, этот файл содержит только [режим разрешений](/docs/ru/settings-reference#permission-settings); Claude Code не читает из него MCP-серверы.

Не удалось прочитать конфигурацию Claude Code

-Вы запустили [`claude import`](/docs/ru/cli-reference#cli-commands) в то время как Claude Code не мог анализировать `~/.claude.json`, файл, где он хранит вашу учётную запись и состояние для каждого проекта. Подкоманда читает этот файл для проверки доступности, но не показывает диалог восстановления, который показывает интерактивный сеанс, поэтому завершает работу с кодом 1. До версии v2.1.222 `claude import` с нечитаемым файлом конфигурации запускал интерактивный сеанс, диалог восстановления которого обрабатывал файл. +Вы выполнили [`claude import`](/docs/ru/cli-reference#cli-commands), когда Claude Code не мог разобрать `~/.claude.json` — файл, в котором хранятся ваш вход и состояние для каждого проекта. Подкоманда читает этот файл, чтобы проверить доступность, но не показывает диалог восстановления, который показывает интерактивная сессия, поэтому завершается с кодом выхода 1. До v2.1.222 `claude import` с нечитаемым файлом конфигурации запускал интерактивную сессию, диалог восстановления которой обрабатывал файл. ```text theme={null} Could not read Claude Code config — run `claude` with no arguments to recover it. @@ -3116,31 +3194,31 @@ Could not read Claude Code config — run `claude` with no arguments to recover **Что делать:** -* Запустите `claude` без аргументов. Claude Code обнаруживает недействительный файл и предлагает его сбросить. Затем запустите `claude import` снова. -* Чтобы сохранить ручные правки, которые вы сделали, исправьте синтаксис JSON в `~/.claude.json` в редакторе вместо этого, затем повторно запустите `claude import` +* Выполните `claude` без аргументов. Claude Code обнаружит недопустимый файл и предложит сбросить его. Затем снова выполните `claude import`. +* Чтобы сохранить внесённые вручную изменения, вместо этого исправьте синтаксис JSON в `~/.claude.json` в редакторе, затем снова выполните `claude import`

Не удалось импортировать сервер из Claude Desktop

-Claude Code не смог добавить один из серверов, которые вы выбрали в `claude mcp add-from-claude-desktop`. Команда всё ещё импортирует другие выбранные серверы и выводит одну строку на сервер, который не смог добавить. До версии v2.1.205 первый сервер, который не прошёл, останавливал импорт. +Claude Code не смог добавить один из серверов, выбранных в `claude mcp add-from-claude-desktop`. Команда всё равно импортирует остальные выбранные серверы и выводит по одной строке на каждый сервер, который не удалось добавить. До v2.1.205 первый сервер с ошибкой останавливал импорт. ```text theme={null} Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores. ``` -Текст после имени сервера — это причина. Наиболее распространённая — это проверка имени: Claude Desktop позволяет символы в именах серверов, такие как пробелы и точки, которые `claude mcp` ограничивает буквами, цифрами, дефисами и подчёркиваниями. Другие причины включают конфигурацию сервера, которая не проходит валидацию, и сервер, заблокированный [политикой MCP](/docs/ru/managed-mcp) вашей организации. +Текст после имени сервера — это причина. Самая распространённая — проверка имени: Claude Desktop допускает в именах серверов символы, например пробелы и точки, тогда как `claude mcp` ограничивает их буквами, цифрами, дефисами и подчёркиваниями. Другие причины — конфигурация сервера, не прошедшая проверку, и сервер, заблокированный [политикой MCP](/docs/ru/managed-mcp) вашей организации. **Что делать:** -* Переименуйте сервер в `claude_desktop_config.json`, чтобы использовать только буквы, цифры, дефисы и подчёркивания, затем запустите `claude mcp add-from-claude-desktop` снова -* Добавьте этот сервер напрямую с `claude mcp add` или `claude mcp add-json` под действительным именем. См. [Import MCP servers from Claude Desktop](/docs/ru/mcp#import-mcp-servers-from-claude-desktop). +* Переименуйте сервер в `claude_desktop_config.json`, используя только буквы, цифры, дефисы и подчёркивания, затем снова выполните `claude mcp add-from-claude-desktop` +* Добавьте этот сервер напрямую с помощью `claude mcp add` или `claude mcp add-json` под допустимым именем. См. [Импорт MCP-серверов из Claude Desktop](/docs/ru/mcp#import-mcp-servers-from-claude-desktop).

- Не удалось добавить сервер MCP в управляемую область + Не удаётся добавить MCP-сервер в управляемую область действия

-Вы запустили `claude mcp add` или `claude mcp add-json` с `--scope managed`. Эта область содержит серверы, которые ваша организация предоставляет через управляемый параметр [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers). Claude Code читает их из управляемых параметров только, поэтому команда не может записать сервер в эту область. +Вы выполнили `claude mcp add` или `claude mcp add-json` с `--scope managed`. Эта область действия содержит серверы, которые ваша организация предоставляет через управляемую настройку [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers). Claude Code читает их только из управляемых настроек, поэтому команда не может записать сервер в эту область действия. ```text theme={null} Cannot add MCP server to scope: managed @@ -3148,156 +3226,173 @@ Cannot add MCP server to scope: managed **Что делать:** -* Добавьте сервер в область, в которую вы можете писать: `local`, `user` или `project`. Без `--scope` команда использует `local`. См. [MCP installation scopes](/docs/ru/mcp#mcp-installation-scopes) -* Чтобы предоставить сервер каждому пользователю в вашей организации, добавьте его в [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers) в управляемых параметрах, которые вы развёртываете +* Добавьте сервер в область действия, доступную для записи: `local`, `user` или `project`. Без `--scope` команда использует `local`. См. [Области действия установки MCP](/docs/ru/mcp#mcp-installation-scopes) +* Чтобы предоставить сервер каждому пользователю в организации, добавьте его в [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers) в развёртываемых вами управляемых настройках + +

+ Не удаётся добавить MCP-сервер, когда управляемые настройки разрешают только серверы из плагинов +

+ +Вы выполнили `claude mcp add` или `claude mcp add-json`, когда управляемые настройки вашей организации задают для [`strictPluginOnlyCustomization`](/docs/ru/settings-reference#strictpluginonlycustomization) значение `true` или список, включающий `mcp`. С этой настройкой Claude Code не загружает MCP-серверы из `~/.claude.json` или `.mcp.json`, поэтому команда завершается с кодом выхода 1 вместо сохранения сервера, который никогда не загрузится: + +```text theme={null} +Cannot add MCP server: your organization's managed settings allow only MCP servers that plugins provide. Install a plugin that provides this server, or ask your administrator to make it available. +``` + +`claude mcp add-from-claude-desktop` сообщает о каждом выбранном сервере как о неимпортированном, указывая это сообщение в качестве причины. [`/import`](/docs/ru/commands#all-commands) выводит это сообщение для каждого MCP-сервера, который пытается добавить, и всё равно импортирует остальные найденные элементы. + +До v2.1.284 эти команды сохраняли сервер и сообщали об успехе, но сервер никогда не загружался. + +**Что делать:** + +* Установите [плагин](/docs/ru/plugins/install), который предоставляет этот сервер +* Попросите администратора распространить сервер в [плагине](/docs/ru/plugins/org) или предоставить его через [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers), если это удалённый сервер HTTP или SSE

- Не удалось прочитать .mcp.json + Не удаётся прочитать .mcp.json

-Команда, которая читает проект [`.mcp.json`](/docs/ru/mcp#project-scope), такая как `claude mcp add` или `claude mcp add-json` с `--scope project`, или `claude mcp remove`, обнаружила, что файл в вашем текущем каталоге не является обычным файлом или больше 2 MiB, поэтому завершает работу с этой ошибкой вместо чтения файла. +Команда, читающая файл проекта [`.mcp.json`](/docs/ru/mcp#project-scope), например `claude mcp add` или `claude mcp add-json` с `--scope project` либо `claude mcp remove`, обнаружила, что файл в текущем каталоге не является обычным файлом или больше 2 MiB, поэтому завершается с этой ошибкой вместо чтения файла. ```text theme={null} 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. ``` -До версии v2.1.257 FIFO в `.mcp.json` оставлял команду ждущей вечно без вывода, и символическая ссылка на файл устройства, такой как `/dev/zero`, увеличивала память до тех пор, пока процесс не был убит. +До v2.1.257 FIFO на месте `.mcp.json` заставлял команду бесконечно ждать без вывода, а символическая ссылка на файл устройства, например `/dev/zero`, увеличивала потребление памяти, пока процесс не завершался принудительно. **Что делать:** -* Проверьте, что находится в `.mcp.json` в вашем текущем каталоге. Замените его обычным файлом JSON в [формате project-scope](/docs/ru/mcp#project-scope) или удалите его, затем запустите команду снова. +* Проверьте, что находится по пути `.mcp.json` в текущем каталоге. Замените это обычным файлом JSON в [формате области действия проекта](/docs/ru/mcp#project-scope) или удалите, затем снова выполните команду.

- Сервер MCP был не сохранён или не удалён + MCP-сервер не был сохранён или удалён

-Вы запустили `claude mcp add`, `claude mcp add-json` или `claude mcp remove` для сервера в области `user` или `local` [scope](/docs/ru/mcp#mcp-installation-scopes). Обе области хранятся в `~/.claude.json`, и изменение не находится в этом файле, когда Claude Code читает его обратно после записи. Команда завершает работу с этой ошибкой вместо своей строки успеха. +Вы выполнили `claude mcp add`, `claude mcp add-json` или `claude mcp remove` для сервера в [области действия](/docs/ru/mcp#mcp-installation-scopes) `user` или `local`. Обе области действия хранятся в `~/.claude.json`, и изменения нет в этом файле, когда Claude Code перечитывает его после записи. Команда завершается с этой ошибкой вместо строки об успехе. ```text theme={null} MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again. ``` -После удаления сообщение читает `was not removed from` и заканчивается с `then remove the server again`. Для сервера `local`-scope путь сопровождается каталогом проекта, к которому принадлежит запись, как `(local scope for /path/to/project)`. +После удаления сообщение содержит `was not removed from` и заканчивается на `then remove the server again`. Для сервера в области действия `local` за путём следует каталог проекта, к которому относится запись, в виде `(local scope for /path/to/project)`. -До версии v2.1.283 `claude mcp add`, `claude mcp add-json` и `claude mcp remove` сообщали об успехе даже когда изменение не достигало файла. +До v2.1.283 `claude mcp add`, `claude mcp add-json` и `claude mcp remove` сообщали об успехе, даже если изменение не попадало в файл. **Что делать:** -* Сделайте файл, который указывает сообщение, доступным для записи, или запустите команду вне песочницы, затем запустите ту же команду добавления или удаления снова. +* Сделайте файл, указанный в сообщении, доступным для записи или выполните команду вне песочницы, затем снова выполните ту же команду добавления или удаления.

- Сервер MCP может не быть сохранён или удалён + MCP-сервер, возможно, не был сохранён или удалён

-Вы запустили `claude mcp add`, `claude mcp add-json` или `claude mcp remove` для сервера в области `user` или `local` [scope](/docs/ru/mcp#mcp-installation-scopes), и Claude Code не смог прочитать `~/.claude.json` обратно для подтверждения изменения. Изменение может быть или не быть на диске. Текст в скобках — это ошибка из этого чтения. +Вы выполнили `claude mcp add`, `claude mcp add-json` или `claude mcp remove` для сервера в [области действия](/docs/ru/mcp#mcp-installation-scopes) `user` или `local`, и Claude Code не смог перечитать `~/.claude.json`, чтобы подтвердить изменение. Изменение может быть или не быть на диске. Текст в скобках — ошибка этого чтения. ```text theme={null} MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing. ``` -После удаления сообщение читает `may not have been removed` и заканчивается с `then remove the server again if it is still listed`. +После удаления сообщение содержит `may not have been removed` и заканчивается на `then remove the server again if it is still listed`. -До версии v2.1.283 команды сообщали об успехе даже когда изменение не могло быть подтверждено. +До v2.1.283 эти команды сообщали об успехе, даже если изменение не удавалось подтвердить. **Что делать:** -* Запустите `claude mcp get ` для проверки того, находится ли изменение на диске. Для сервера `local`-scope запустите его из каталога проекта, к которому принадлежит сервер, так как локальная область — это для каждого проекта. -* Если сервер отсутствует после добавления или всё ещё указан после удаления, запустите ту же команду добавления или удаления снова. +* Выполните `claude mcp get `, чтобы проверить, есть ли изменение на диске. Для сервера в области действия `local` выполните её из каталога проекта, к которому относится сервер, поскольку локальная область действия задаётся для каждого проекта. +* Если после добавления сервер отсутствует или после удаления всё ещё в списке, снова выполните ту же команду добавления или удаления.

Сервер размещён 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](/docs/ru/mcp#use-mcp-servers-from-claude-ai). +Вы начали вход для MCP-сервера, URL которого указывает на размещённый Anthropic хост коннектора, выполняющий аутентификацию через сторонний поставщик удостоверений. К таким хостам относятся `microsoft365.mcp.claude.com`, `gmail.mcp.claude.com` и `gcal.mcp.claude.com`. Claude Code отказывается запускать свой локальный процесс OAuth для этих хостов как из панели `/mcp`, так и из `claude mcp login`, потому что [вход для них работает только через claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai). ```text theme={null} "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 `, чтобы она не могла скрыть соединитель claude.ai по тому же URL -* После удаления подключитесь к сервису на [claude.ai/customize/connectors](https://claude.ai/customize/connectors), пока вы вошли в учётную запись, которую вы используете в Claude Code. После подключения [соединитель появляется в Claude Code автоматически](/docs/ru/mcp#use-mcp-servers-from-claude-ai), если ваш активный метод аутентификации — это вход в подписку claude.ai +* Удалите свою запись с помощью `claude mcp remove `, чтобы она не скрывала коннектор claude.ai с тем же URL +* После удаления подключите сервис на [claude.ai/customize/connectors](https://claude.ai/customize/connectors), войдя в учётную запись, которую используете в Claude Code. После подключения [коннектор автоматически появится в Claude Code](/docs/ru/mcp#use-mcp-servers-from-claude-ai), если ваш активный способ аутентификации — вход по подписке claude.ai

Сервер отклонил заголовок Authorization, созданный настроенным headersHelper

-Сервер MCP, чей [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication) предоставляет заголовок `Authorization`, ответил на соединение с HTTP 401 или 403, поэтому Claude Code сообщает о соединении как о неудачном. Потому что помощник предоставляет заголовок `Authorization`, Claude Code [не переходит на OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers) для сервера: +MCP-сервер, у которого [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication) предоставляет заголовок `Authorization`, ответил на подключение HTTP 401 или 403, поэтому Claude Code сообщает о неудачном подключении. Поскольку заголовок `Authorization` предоставляет helper, Claude Code [не переключается на OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers) для этого сервера: ```text theme={null} 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 повторно запускает помощника при каждой попытке соединения, поэтому повторная попытка после временного отклонения, такого как гонка ротации токена, может успешно выполниться с новым учётным данным. +Claude Code заново запускает helper при каждой попытке подключения, поэтому повторная попытка после временного отказа, например из-за гонки при ротации токена, может завершиться успешно с новыми учётными данными. **Что делать:** -* Запустите команду `headersHelper` самостоятельно так, как Claude Code её запускает: из [каталога, в котором Claude Code её запускает](/docs/ru/mcp#where-the-helper-runs), с [переменными окружения, которые Claude Code для неё устанавливает](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication), и без [переменных учётных данных, которые Claude Code удаляет](/docs/ru/mcp#which-variables-a-helper-can-read) для сервера из проекта `.mcp.json`, плагина или файла агента проекта. Проверьте, что она выводит значение `Authorization`, которое принимает конечная точка сервера -* После исправления помощника или его источника учётных данных выберите сервер в `/mcp` и выберите **Reconnect** +* Запустите команду `headersHelper` самостоятельно так, как её запускает Claude Code: из [каталога, в котором её запускает Claude Code](/docs/ru/mcp#where-the-helper-runs), с [переменными окружения, которые Claude Code для неё задаёт](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication), и без [переменных с учётными данными, которые Claude Code удаляет](/docs/ru/mcp#which-variables-a-helper-can-read) для сервера из проектного `.mcp.json`, плагина или файла агента проекта. Убедитесь, что она выводит значение `Authorization`, которое принимает эндпоинт сервера +* После исправления helper или источника его учётных данных выберите сервер в `/mcp` и нажмите **Reconnect** -До версии v2.1.248 Claude Code запускал обнаружение OAuth для сервера, чей помощник предоставлял заголовок `Authorization`. Это обнаружение могло не пройти с `Incompatible auth server: does not support dynamic client registration` вместо сообщения об отклонённом учётном данном. +До v2.1.248 Claude Code выполнял обнаружение OAuth для сервера, у которого helper предоставлял заголовок `Authorization`. Это обнаружение могло завершиться ошибкой `Incompatible auth server: does not support dynamic client registration` вместо сообщения об отклонённых учётных данных.

- Инструмент запроса разрешения MCP не найден + Инструмент запроса разрешений MCP не найден

-Инструмент, который вы передали в [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags), не был среди подключённых инструментов MCP, когда запуск впервые нуждался в решении разрешения, либо потому что его сервер никогда не подключался, либо потому что ни один подключённый сервер не предоставляет инструмент с этим именем. Claude Code всё ещё отправляет ваше приглашение: [неинтерактивный](/docs/ru/headless) запуск завершает работу с этой ошибкой и кодом выхода 1 при первом вызове инструмента, поэтому не выдаёт ответ, даже хотя запрос был сделан. Перед первым приглашением Claude Code ждёт до установленного на сервер времени ожидания соединения 30 секунд, установленного [`MCP_TIMEOUT`](/docs/ru/env-vars), чтобы этот сервер подключился. До версии v2.1.206 запуск не ждал завершения подключения сервера, поэтому медленно запускающийся, но здоровый сервер выдавал эту ошибку тоже. +Инструмента, переданного в [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags), не было среди подключённых инструментов MCP, когда запуску впервые понадобилось решение о разрешении: либо его сервер так и не подключился, либо ни один подключённый сервер не предоставляет инструмент с таким именем. Claude Code всё равно отправляет ваш промпт: [неинтерактивный](/docs/ru/headless) запуск завершается с этой ошибкой и кодом выхода 1 при первом вызове инструмента, поэтому не даёт ответа, хотя запрос был выполнен. Перед первым промптом Claude Code ожидает подключения этого сервера до истечения таймаута подключения для каждого сервера в 30 секунд, задаваемого [`MCP_TIMEOUT`](/docs/ru/env-vars). До v2.1.206 при запуске не ожидалось завершения подключения сервера, поэтому медленно запускающийся, но исправный сервер тоже вызывал эту ошибку. ```text theme={null} Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none ``` -Список после `Available MCP tools:` указывает инструменты MCP, которые были подключены. +Список после `Available MCP tools:` называет подключённые инструменты MCP. **Что делать:** -* Проверьте, что сервер запускается и остаётся подключённым: запустите `claude mcp list` в том же каталоге и подтвердите, что сервер указан как подключённый -* Подтвердите, что имя инструмента соответствует имени `mcp____`, которое предоставляет сервер -* Если серверу требуется больше 30 секунд для запуска, увеличьте [`MCP_TIMEOUT`](/docs/ru/env-vars) +* Убедитесь, что сервер запускается и остаётся подключённым: выполните `claude mcp list` в том же каталоге и проверьте, что сервер отмечен как подключённый +* Убедитесь, что имя инструмента совпадает с именем `mcp____`, которое предоставляет сервер +* Если серверу нужно больше 30 секунд для запуска, увеличьте [`MCP_TIMEOUT`](/docs/ru/env-vars)

Порт обратного вызова OAuth уже используется

-Когда вы входите на удалённый сервер MCP с OAuth, Claude Code запускает локальный слушатель для получения обратного вызова входа. Если порт, который нужен этому слушателю, занят другим процессом, вход не работает с этим сообщением. Это в основном происходит с [фиксированным портом обратного вызова](/docs/ru/mcp#use-a-fixed-oauth-callback-port), установленным через переменную [`MCP_OAUTH_CALLBACK_PORT`](/docs/ru/env-vars) или `--callback-port`, так как без него Claude Code выбирает доступный порт. +Когда вы входите на удалённый MCP-сервер через OAuth, Claude Code запускает локальный прослушиватель для получения обратного вызова входа. Если нужный этому прослушивателю порт занят другим процессом, вход завершается с этим сообщением. Чаще всего это происходит с [фиксированным портом обратного вызова](/docs/ru/mcp#use-a-fixed-oauth-callback-port), заданным через переменную [`MCP_OAUTH_CALLBACK_PORT`](/docs/ru/env-vars) или `--callback-port`, поскольку без него Claude Code выбирает свободный порт. ```text theme={null} OAuth callback port is already in use — another process may be holding it. Run `lsof -ti: -sTCP:LISTEN` to find it. ``` -На Windows предложенная команда вместо этого `netstat -ano | findstr :`. +В Windows вместо этого предлагается команда `netstat -ano | findstr :`. **Что делать:** -* Запустите команду из сообщения, чтобы найти процесс, занимающий порт, и остановите его или дождитесь его завершения -* Если другой программе постоянно нужен этот порт, зарегистрируйте другой URI перенаправления с сервером и установите его порт с `MCP_OAUTH_CALLBACK_PORT` или `--callback-port`, в зависимости от того, что вы используете -* Затем запустите вход снова, например выбрав сервер в `/mcp` +* Выполните команду из сообщения, чтобы найти процесс, занимающий порт, и остановите его или дождитесь его завершения +* Если другой программе этот порт нужен постоянно, зарегистрируйте на сервере другой redirect URI и задайте его порт через `MCP_OAUTH_CALLBACK_PORT` или `--callback-port` — в зависимости от того, что вы используете +* Затем снова начните вход, например выбрав сервер в `/mcp`

- Нет доступных портов для перенаправления OAuth + Нет свободных портов для перенаправления OAuth

-Когда вы входите на удалённый сервер MCP с [OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers), Claude Code запускает локальный слушатель для получения обратного вызова входа. Вход не работает с этим сообщением, когда Claude Code не может привязать локальный порт для него. Что-то на машине препятствует прослушиванию на `127.0.0.1`, например программное обеспечение безопасности или политика песочницы, которая запрещает локальные слушатели. +Когда вы входите на удалённый MCP-сервер через [OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers), Claude Code запускает локальный прослушиватель для получения обратного вызова входа. Вход завершается с этим сообщением, когда Claude Code не может привязать для него локальный порт. Что-то на компьютере мешает ему прослушивать `127.0.0.1`, например программы безопасности или политика песочницы, запрещающая локальные прослушиватели. ```text theme={null} No available ports for OAuth redirect ``` -До версии v2.1.268 Claude Code не переходил на порт, назначенный операционной системой, поэтому сообщение также появлялось, когда только самостоятельно выбранные порты не могли быть привязаны. Это может произойти на хостах Windows, где Hyper-V резервирует диапазоны портов, которые охватывают порты, которые Claude Code выбирает. +До v2.1.268 Claude Code не переключался на порт, назначаемый операционной системой, поэтому сообщение появлялось и тогда, когда не удавалось привязать только порты, выбранные им самим. Такое может происходить на хостах Windows, где Hyper-V резервирует диапазоны портов, охватывающие порты, из которых выбирает Claude Code. **Что делать:** -* Проверьте, блокирует ли программное обеспечение безопасности или политика песочницы процессы от прослушивания на `127.0.0.1`, и разрешите Claude Code привязать локальный порт -* Затем запустите вход снова, например выбрав сервер в `/mcp` +* Проверьте, не запрещают ли программы безопасности или политика песочницы процессам прослушивать `127.0.0.1`, и разрешите Claude Code привязывать локальный порт +* Затем снова начните вход, например выбрав сервер в `/mcp`

- /security-review не работает без origin/HEAD + /security-review завершается с ошибкой без origin/HEAD

-[`/security-review`](/docs/ru/commands#all-commands) строит контекст своего обзора, сравнивая вашу ветку с `origin/HEAD`, локальной ссылкой, которая записывает, какая ветка является стандартной на вашем удалённом `origin`. Когда эта ссылка не существует, команды git, которые собирают diff, не работают и обзор останавливается перед началом. +[`/security-review`](/docs/ru/commands#all-commands) формирует контекст ревью, сравнивая вашу ветку с `origin/HEAD` — локальной ссылкой, которая указывает, какая ветка является веткой по умолчанию на вашем удалённом репозитории `origin`. Если этой ссылки нет, команды git, собирающие diff, завершаются с ошибкой, и ревью останавливается, не начавшись. ```text theme={null} Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr] @@ -3306,28 +3401,28 @@ Use '--' to separate paths from revisions, like this: 'git [...] -- [...]' ``` -Сообщение может цитировать `git log` или другой `git diff` вместо этого. Git создаёт `origin/HEAD` только когда удалённый сервер объявляет стандартную ветку и ваш refspec получения её охватывает, что полный `git clone` удалённого с коммитами делает. Ссылка отсутствует в этих установках: +Вместо этого сообщение может цитировать `git log` или другую команду `git diff`. Git создаёт `origin/HEAD` только тогда, когда удалённый репозиторий объявляет ветку по умолчанию и ваш refspec для fetch её охватывает, что и происходит при полном `git clone` удалённого репозитория с коммитами. Ссылка отсутствует в следующих конфигурациях: -* Получение одной ветки или получение CI, которое получает слишком узкий refspec -* Удалённый сервер, чей HEAD на стороне сервера указывает на ветку, которую никто не отправил -* Репозиторий без удалённого `origin` или того, из которого вы никогда не получали +* Checkout одной ветки или в CI, который получает слишком узкий refspec +* Удалённый репозиторий, у которого HEAD на сервере указывает на ветку, которую никто не отправлял +* Репозиторий без удалённого `origin` или такой, для которого вы никогда не выполняли fetch -Claude Code показывает ту же ошибку для любого skill, который [вводит динамический контекст](/docs/ru/skills#when-an-injected-command-fails), и неудачная введённая команда прерывает вызов этого skill. Две похожие строки срабатывают перед запуском команды вообще: +Claude Code показывает ту же ошибку для любого скилла, который [внедряет динамический контекст](/docs/ru/skills#when-an-injected-command-fails), и неудачная внедрённая команда прерывает вызов этого скилла. Две родственные строки появляются ещё до выполнения команды: -* `Shell command permission check failed for pattern "..."`: проверка разрешения команды не позволила это. [Permission checks on injected commands](/docs/ru/skills#permission-checks-on-injected-commands) охватывает, какие результаты прерывают в каждом режиме разрешений и как предварительно одобрить команду с `allowed-tools` -* ``Skill requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter skill требует bash на машине без него. Установите Git для Windows или измените frontmatter на `shell: powershell`. См. [How injected commands run](/docs/ru/skills#how-injected-commands-run) +* `Shell command permission check failed for pattern "..."`: проверка разрешений команды не разрешила её. В разделе [Проверки разрешений для внедрённых команд](/docs/ru/skills#permission-checks-on-injected-commands) описано, какие результаты прерывают вызов в каждом режиме разрешений и как заранее одобрить команду с помощью `allowed-tools` +* ``Skill requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter скилла требует bash на компьютере, где его нет. Установите Git for Windows или измените frontmatter на `shell: powershell`. См. [Как выполняются внедрённые команды](/docs/ru/skills#how-injected-commands-run) **Что делать:** -* Создайте ссылку, назвав стандартную ветку вашего удалённого: `git remote set-head origin `. Это работает всякий раз, когда локальная отслеживающая ссылка `origin/` существует. Если её нет, как в клонах одной ветки, сначала получите ветку: запустите `git remote set-branches --add origin `, затем `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`, когда ваш клон не получает эту ветку; сначала расширьте refspec как выше. -* Если репозиторий не имеет удалённого, добавьте один с `git remote add origin ` и получите перед созданием ссылки. Если удалённый пуст, сначала отправьте вашу ветку с `git push -u origin HEAD` и назовите эту ветку в команде set-head; `origin/HEAD` затем указывает на ветку, которую вы только что отправили, поэтому `/security-review` видит пустой diff до тех пор, пока ветка не отличается от неё. +* Создайте ссылку, указав ветку по умолчанию вашего удалённого репозитория: `git remote set-head origin `. Это работает, если существует локальная отслеживающая ссылка `origin/`. Если её нет, как в клонах одной ветки, сначала получите ветку: выполните `git remote set-branches --add origin `, затем `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`, если ваш клон не получает эту ветку; сначала расширьте refspec, как описано выше. +* Если у репозитория нет удалённого репозитория, добавьте его с помощью `git remote add origin ` и выполните fetch перед созданием ссылки. Если удалённый репозиторий пуст, сначала отправьте свою ветку с помощью `git push -u origin HEAD` и укажите эту ветку в команде set-head; после этого `origin/HEAD` указывает на только что отправленную ветку, поэтому `/security-review` видит пустой diff, пока ваша ветка не разойдётся с ней.

- Ввод должен быть предоставлен при использовании `--print` + Необходимо предоставить ввод при использовании `--print`

-Bare `claude` нужен stdout, чтобы быть терминалом для запуска интерактивного UI. Когда stdout перенаправлен или консоль не является реальным терминалом, такой как PowerShell ISE и некоторые панели вывода IDE, `claude` запускает [неинтерактивно](/docs/ru/headless) вместо этого. Это тот же режим, что и `claude -p`, который требует приглашение, поэтому сообщение указывает `--print` даже когда вы не передали флаг. Передача `-p`/`--print` без приглашения и ничего не передано на stdin выдаёт ту же ошибку везде. +Для запуска интерактивного интерфейса простому `claude` нужно, чтобы stdout был терминалом. Если stdout перенаправлен или консоль не является настоящим терминалом, как в PowerShell ISE и некоторых панелях вывода IDE, `claude` вместо этого работает [неинтерактивно](/docs/ru/headless). Это тот же режим, что и `claude -p`, которому требуется промпт, поэтому сообщение упоминает `--print`, даже если вы не передавали этот флаг. Передача `-p`/`--print` без промпта и без данных, переданных через stdin, вызывает ту же ошибку в любом окружении. ```text theme={null} Error: Input must be provided either through stdin or as a prompt argument when using --print @@ -3335,173 +3430,201 @@ Error: Input must be provided either through stdin or as a prompt argument when **Что делать:** -* Для интерактивного использования запустите `claude` в реальном терминале: Windows Terminal или консоль PowerShell вместо ISE и интегрированный терминал вашего IDE вместо панели вывода -* Для одноразового использования передайте приглашение: `claude -p "your question"` или передайте его с `echo "your question" | claude -p` +* Для интерактивной работы запускайте `claude` в настоящем терминале: в Windows Terminal или консоли PowerShell, а не в ISE, и во встроенном терминале IDE, а не в панели вывода +* Для однократного использования передайте промпт: `claude -p "your question"` или передайте его через конвейер: `echo "your question" | claude -p` + +

+ Claude Code не может здесь читать клавиатуру +

+ +Вы выполнили `claude` без [`-p`](/docs/ru/headless), что запускает [интерактивную сессию](/docs/ru/interactive-mode), но её стандартный ввод не является терминалом. Что-то передало его через конвейер или перенаправило, либо программа, запустившая `claude`, предоставила собственный поток ввода. + +Интерактивной сессии нужен терминал, из которого она читает ваши нажатия клавиш, и то, что Claude Code делает без него, зависит от вашей платформы: + +* **Windows**: Claude Code выводит сообщение в stderr и завершается с кодом выхода 1 вместо запуска интерфейса +* **macOS и Linux**: Claude Code читает нажатия клавиш из `/dev/tty` и запускает сессию, используя переданный через конвейер текст как первый промпт. Вы видите сообщение, когда `/dev/tty` не удаётся открыть, и его первая строка упоминает `/dev/tty` вместо формулировки для Windows. + +В Windows сообщение выглядит так: + +```text theme={null} +Claude Code can't read the keyboard here: stdin is not a terminal (it is piped, redirected, or supplied by the program that launched claude), and on Windows it can't fall back to the console for input yet. +Run claude directly in Windows Terminal, PowerShell, or Command Prompt, without piping or redirecting its input. +To send text as a prompt and print the reply instead, add -p; it also works with --continue and --resume (for example: type notes.md | claude -p --continue). +``` + +**Что делать:** + +* Для интерактивной работы запускайте `claude` непосредственно в терминале, не передавая и не перенаправляя его ввод +* Чтобы получить ответ без интерактивного интерфейса, например из скрипта, добавьте `-p` и передайте промпт как аргумент или через stdin, например `claude -p "your question"` или `echo "your question" | claude -p`. То же работает с `--continue` и `--resume `. + +До v2.1.287 Claude Code вместо вывода этого сообщения запускал интерфейс, а затем либо ничего не показывал на экране, либо завершался с ошибкой, содержащей `Raw mode is not supported`. + +Если вы видите `Raw mode is not supported` во время `claude install`, см. [`Raw mode is not supported` во время установки](/docs/ru/troubleshoot-install#raw-mode-is-not-supported-during-install).

- Ввод содержал только пробелы + Ввод содержал только пробельные символы

-В [неинтерактивном режиме](/docs/ru/headless) Claude Code отказывает приглашению, состоящему полностью из пробелов, табуляций или новых строк вместо его отправки, потому что API отклоняет сообщения без видимого текста. Какое сообщение вы видите, зависит от того, откуда пришло пустое приглашение: +В [неинтерактивном режиме](/docs/ru/headless) 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](/docs/ru/agent-sdk/overview)**: Claude Code заканчивает ход без вызова модели и сеанс остаётся пригодным. Отказ приходит как информационное сообщение и как текст результата хода: `Blank prompt — the message was only whitespace, so nothing was sent to the model.` +* **Аргумент промпта или 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](/docs/ru/agent-sdk/overview)**: Claude Code завершает ход без вызова модели, и сессия остаётся пригодной к использованию. Отказ приходит как информационное сообщение и как текст результата хода: `Blank prompt — the message was only whitespace, so nothing was sent to the model.` -До версии v2.1.229 Claude Code отправлял сообщение только с пробелами в API, который отклонял запрос с ошибкой 400. +До v2.1.229 Claude Code отправлял сообщение из одних пробельных символов в API, который отклонял запрос с ошибкой 400. **Что делать:** -* Включите видимый текст в приглашение. Если скрипт строит приглашение из переменной или файла, проверьте, что источник не пуст перед вызовом Claude Code. +* Включите в промпт видимый текст. Если скрипт формирует промпт из переменной или файла, проверьте, что источник не пуст, перед вызовом Claude Code.

- stream-json ввод содержал более 256M символов без новой строки + Ввод stream-json содержал более 256M символов без перевода строки

-Ваша программа отправила более 268,435,456 символов на stdin без новой строки в запуск `claude -p --input-format stream-json`, поэтому Claude Code выводит эту ошибку на stderr и завершает работу с кодом 1 вместо буферизации большего ввода. Сообщение указывает этот бюджет как `256M`. До версии v2.1.257 Claude Code буферизировал такой ввод без ограничений, увеличивая память до тех пор, пока процесс не упал или не был убит. +Ваша программа отправила более 268 435 456 символов через stdin без перевода строки в запуск `claude -p --input-format stream-json`, поэтому Claude Code выводит эту ошибку в stderr и завершается с кодом выхода 1 вместо буферизации дальнейшего ввода. Сообщение указывает этот лимит как `256M`. До v2.1.257 Claude Code буферизовал такой ввод без ограничений, увеличивая потребление памяти, пока процесс не падал или не завершался принудительно. ```text theme={null} 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, такой как двоичный файл или простой вывод журнала, передаваемый случайно. Одно сообщение сверх бюджета не проходит ту же проверку. +Ввод такой длины без перевода строки обычно означает, что источник вообще не является источником stream-json, например случайно переданный через конвейер двоичный файл или обычный вывод лога. Одно сообщение, превышающее лимит, не проходит ту же проверку. **Что делать:** -* Проверьте, что передаётся на stdin. С [`--input-format stream-json`](/docs/ru/cli-reference#cli-flags) каждое сообщение должно быть одной строкой JSON, завершённой новой строкой -* Чтобы отправить простой текст вместо этого, удалите `--input-format stream-json`; `claude -p` читает простой текстовый запрос из stdin по умолчанию +* Проверьте, что передаётся в stdin. С [`--input-format stream-json`](/docs/ru/cli-reference#cli-flags) каждое сообщение должно быть одной строкой JSON, завершающейся переводом строки +* Чтобы отправить обычный текст, уберите `--input-format stream-json`; `claude -p` по умолчанию читает из stdin промпт в виде обычного текста

- Неизвестная команда + Unknown command

-В интерактивном сеансе терминала вы отправили имя `/`, которое не соответствует ни одной команде в этом сеансе, поэтому Claude Code сообщает имя вместо запуска чего-либо: +В интерактивной сессии терминала вы отправили имя с `/`, которое не соответствует ни одной команде в этой сессии, поэтому Claude Code сообщает об этом имени, ничего не выполняя: ```text theme={null} Unknown command: /hepl. Did you mean /help? ``` -Claude Code предлагает ближайшее имя команды или псевдоним, который меню указывает в этом сеансе. Когда ничего не близко, сообщение заканчивается после имени. Причина обычно одна из следующих: +Claude Code предлагает ближайшее имя команды или псевдоним, которые меню показывает в этой сессии. Если ничего близкого нет, сообщение заканчивается после имени. Обычно причина одна из следующих: -* Опечатка, такая как `/hepl` для `/help`. [How the command menu matches what you type](/docs/ru/commands#how-the-command-menu-matches-what-you-type) охватывает выбор близкого совпадения перед отправкой -* Команда, которая существует, но недоступна в этом сеансе, потому что требование не выполнено, такое как ваша платформа, план или метод аутентификации. Записи устранения неполадок для [`/web-setup`](/docs/ru/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) и [`/schedule`](/docs/ru/routines#schedule-returns-unknown-command) проходят через два распространённых случая. Некоторые команды отвечают своим собственным сообщением, когда политика вашей организации их отключает, такие как [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy) -* Команда из [плагина](/docs/ru/plugins/overview) или [сервера MCP](/docs/ru/mcp#use-mcp-prompts-as-commands), который не установлен или не подключен в этом сеансе +* Опечатка, например `/hepl` вместо `/help`. В разделе [Как меню команд сопоставляет вводимый текст](/docs/ru/commands#how-the-command-menu-matches-what-you-type) описано, как выбрать близкое совпадение перед отправкой +* Команда существует, но недоступна в этой сессии, потому что не выполнено требование, например к вашей платформе, тарифу или способу аутентификации. Разделы устранения неполадок для [`/web-setup`](/docs/ru/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) и [`/schedule`](/docs/ru/routines#schedule-returns-unknown-command) разбирают два распространённых случая. Некоторые команды отвечают собственным сообщением, когда политика вашей организации их отключает, например [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy) +* Команда из [плагина](/docs/ru/plugins/overview) или [MCP-сервера](/docs/ru/mcp#use-mcp-prompts-as-commands), который не установлен или не подключён в этой сессии -Claude Code отвечает на несовпадающее имя `/` таким образом только в интерактивном сеансе терминала. В каждом другом сеансе он отправляет приглашение Claude как обычное сообщение вместо этого, с примечанием, что команда не запустилась и список команд, которые Claude может запустить в сеансе. Эти сеансы включают: +Claude Code отвечает так на несовпадающее имя с `/` только в интерактивной сессии терминала. В любой другой сессии он вместо этого отправляет промпт Claude как обычное сообщение с пометкой, что команда не была выполнена, и списком команд, которые Claude может выполнить в сессии. К таким сессиям относятся: -* запуски `-p` -* приложения [Agent SDK](/docs/ru/agent-sdk/overview) -* вкладка Code [Desktop app](/docs/ru/desktop) -* панель чата [VS Code extension](/docs/ru/vs-code) -* [облачные сеансы](/docs/ru/claude-code-on-the-web) и [routines](/docs/ru/routines) +* запуски с `-p` +* приложения на [Agent SDK](/docs/ru/agent-sdk/overview) +* вкладка Code в [приложении Desktop](/docs/ru/desktop) +* панель чата [расширения VS Code](/docs/ru/vs-code) +* [облачные сессии](/docs/ru/claude-code-on-the-web) и [routines](/docs/ru/routines) -Для встроенной команды, которая не может запуститься в одном из этих сеансов, Claude Code всё ещё отвечает, что команда недоступна вместо отправки её Claude. До версии v2.1.274 только облачные сеансы и routines отправляли несовпадающее имя Claude. До версии v2.1.273 они также отвечали `Unknown command`. +Для встроенной команды, которую нельзя выполнить в одной из этих сессий, Claude Code всё равно отвечает, что команда недоступна, вместо отправки её Claude. До v2.1.274 несовпадающее имя отправляли Claude только облачные сессии и routines. До v2.1.273 они тоже отвечали `Unknown command`. -Claude Code не рассматривает каждое приглашение, которое начинается с `/`, как команду. Он отправляет приглашение Claude как обычное сообщение, когда первое слово после `/` начинается с пунктуации, такой как `/--`, который открывает комментарий Lean doc, или является путём, такой как `/var/log/syslog`. +Claude Code не считает командой каждый промпт, начинающийся с `/`. Он отправляет промпт Claude как обычное сообщение, если первое слово после `/` начинается со знака препинания, например `/--`, открывающего doc-комментарий Lean, или является путём, например `/var/log/syslog`. -До версии v2.1.236, если вы нажали `Enter` в то время как меню команд указывало близкое совпадение для имени, которое вы ввели, Claude Code запускал это совпадение, поэтому опечатка, такая как `/hepl`, запускала `/help` вместо выдачи этого сообщения. +До v2.1.236, если вы нажимали `Enter`, пока меню команд показывало близкое совпадение для введённого имени, Claude Code выполнял это совпадение, поэтому опечатка вроде `/hepl` запускала `/help` вместо вывода этого сообщения. **Что делать:** -* Запустите предложенное имя или введите `/` с последующей частью имени, чтобы увидеть, что доступно в этом сеансе -* Если Claude Code сообщает о документированной команде как неизвестной, проверьте её строку в [справочнике команд](/docs/ru/commands) для требования, которое она указывает +* Выполните предложенное имя или введите `/` и часть имени, чтобы увидеть, что доступно в этой сессии +* Если Claude Code сообщает, что задокументированная команда неизвестна, проверьте её строку в [справочнике команд](/docs/ru/commands), где указано требование

- Diff слишком большой для ultrareview + Diff слишком велик для ultrareview

-Diff между вашей веткой и базовой веткой, включая незафиксированные и поставленные в очередь изменения, превышает лимиты размера для [ultrareview](/docs/ru/ultrareview), поэтому `/code-review ultra` и подкоманда `claude ultrareview` отказывают обзор перед запуском облачного сеанса. Отклонённый обзор не использует бесплатный запуск и не выставляет счёт за кредиты использования. Сообщение указывает действующие лимиты, размер вашего diff и файлы, которые вносят наибольшее количество изменённых строк. До версии v2.1.216 сообщение показывало только необработанную статистику diff. +Diff между вашей веткой и базовой веткой, включая незафиксированные и подготовленные изменения, превышает лимиты размера для [ultrareview](/docs/ru/ultrareview), поэтому `/code-review ultra` и подкоманда `claude ultrareview` отклоняют ревью до запуска облачной сессии. Отклонённое ревью не расходует бесплатный запуск и не списывает кредиты использования. Сообщение называет действующие лимиты, размер вашего diff и файлы с наибольшим количеством изменённых строк. До v2.1.216 сообщение показывало только необработанную статистику diff. ```text theme={null} 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 `) to narrow the scope, or split the change. ``` -Обзор pull request применяет те же лимиты; эта форма сообщения начинается с `PR # is too large for ultrareview` и указывает количество файлов и строк PR. +Для ревью pull request действуют те же лимиты; такая форма сообщения начинается с `PR # is too large for ultrareview` и называет количество файлов и строк PR. **Что делать:** -* Передайте базовую ветку ближе к вашей работе, такую как `/code-review ultra develop`, поэтому обзор охватывает только diff против этой ветки -* Разделите изменение на меньшие ветки и обзорьте каждую. Файлы, которые сообщение указывает, вносят наибольшее количество изменённых строк, поэтому начните с перемещения их в свою собственную ветку. +* Передайте базовую ветку, более близкую к вашей работе, например `/code-review ultra develop`, чтобы ревью охватывало только diff относительно этой ветки +* Разделите изменение на меньшие ветки и выполните ревью каждой. Файлы, названные в сообщении, дают больше всего изменённых строк, поэтому начните с переноса их в отдельную ветку.

Не удалось найти merge-base с базовой веткой

-`/code-review ultra` и подкоманда `claude ultrareview` обзорят diff между вашей веткой и базовой веткой, что требует коммита, который два разделяют. Когда `git merge-base` не находит ни одного, Claude Code отказывает обзор перед запуском облачного сеанса. На клоне, который Claude Code может проверить как полный, с по крайней мере одной веткой, он переходит на [обзор каждого отслеживаемого файла](/docs/ru/ultrareview#diff-limits-and-fallbacks) вместо отказа. Вы видите этот отказ, когда базовая ветка вообще не может быть найдена, когда Claude Code не может проверить, что ваш клон полный, или в редком репозитории, где diff всего дерева невозможен, такой как формат объекта SHA-256. +`/code-review ultra` и подкоманда `claude ultrareview` выполняют ревью diff между вашей веткой и базовой веткой, для чего нужен общий для них коммит. Если `git merge-base` его не находит, Claude Code отклоняет ревью до запуска облачной сессии. В клоне, полноту которого Claude Code может проверить и в котором есть хотя бы одна ветка, он вместо отказа переключается на [ревью всех отслеживаемых файлов](/docs/ru/ultrareview#diff-limits-and-fallbacks). Вы видите этот отказ, когда базовую ветку вообще не удаётся найти, когда Claude Code не может проверить полноту вашего клона или в редком репозитории, где diff всего дерева невозможен, например в формате объектов SHA-256. ```text theme={null} 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: -* **Вы не передали базовую ветку**: Claude Code сравнил с стандартной веткой репозитория и предлагает передать вашу базу явно, как в примере выше -* **Вы передали базовую ветку, которая уже была в вашем клоне**: подсказка читает ``Make sure exists locally or on origin (try `git fetch origin `)`` -* **Вы передали базовую ветку, которой не было в вашем клоне**: Claude Code получил её из origin перед сравнением. Подсказка читает `` was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra `)``; когда Claude Code не может сказать, полный ли ваш клон, он предлагает `git fetch --unshallow origin` вместо этого. До версии v2.1.221 подсказка предлагала `git fetch --unshallow origin` для каждой полученной базовой ветки, и на полном клоне эта команда не работает с `fatal: --unshallow on a complete repository does not make sense`. +* **Вы не передали базовую ветку**: Claude Code сравнивал с веткой репозитория по умолчанию и предлагает явно передать вашу базовую ветку, как в примере выше +* **Вы передали базовую ветку, которая уже была в вашем клоне**: подсказка гласит ``Make sure exists locally or on origin (try `git fetch origin `)`` +* **Вы передали базовую ветку, которой не было в вашем клоне**: Claude Code получил её из origin перед сравнением. Подсказка гласит `` was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra `)``; если Claude Code не может определить, является ли ваш клон неглубоким, он вместо этого предлагает `git fetch --unshallow origin`. До v2.1.221 подсказка предлагала `git fetch --unshallow origin` для каждой полученной базовой ветки, а в полном клоне эта команда завершается с ошибкой `fatal: --unshallow on a complete repository does not make sense`. **Что делать:** -* Если другая ветка является вашей реальной базой, передайте её явно: `/code-review ultra ` -* Если ваш клон может не иметь полную историю, запустите `git fetch --unshallow origin` и повторно запустите обзор +* Если ваша настоящая базовая ветка другая, передайте её явно: `/code-review ultra ` +* Если в вашем клоне может не быть полной истории, выполните `git fetch --unshallow origin` и снова запустите ревью

- Ваш checkout не имеет веток + В вашем checkout нет веток

-Checkout может иметь коммиты, но не иметь веток: если вы запустите `git init` с последующим `git fetch ` и `git checkout FETCH_HEAD`, вы получите отсоединённый HEAD без ссылок. Claude Code упаковывает ваш репозиторий как git bundle для загрузки его для [ultrareview](/docs/ru/ultrareview), и он не может упаковать репозиторий, который не имеет веток или других ссылок, поэтому `/code-review ultra` и подкоманда `claude ultrareview` отказывают обзор перед запуском облачного сеанса. +В checkout могут быть коммиты, но не быть веток: если выполнить `git init`, затем `git fetch ` и `git checkout FETCH_HEAD`, получится отсоединённый HEAD без ссылок. Claude Code упаковывает ваш репозиторий в git bundle, чтобы загрузить его для [ultrareview](/docs/ru/ultrareview), и не может упаковать репозиторий без веток или других ссылок, поэтому `/code-review ultra` и подкоманда `claude ultrareview` отклоняют ревью до запуска облачной сессии. ```text theme={null} Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b ` — then rerun /code-review ultra. ``` -До версии v2.1.221 Claude Code пытался обзорить каждый отслеживаемый файл в этом checkout, и загрузка не работала. +До v2.1.221 Claude Code пытался выполнить ревью всех отслеживаемых файлов в таком checkout, и загрузка завершалась с ошибкой. **Что делать:** -* Создайте ветку в вашем текущем коммите с `git checkout -b `, затем повторно запустите обзор +* Создайте ветку на текущем коммите с помощью `git checkout -b `, затем снова запустите ревью

- Ни один аккаунт GitHub не подключен к вашему аккаунту Claude + К вашей учётной записи Claude не подключена учётная запись GitHub

-Вы запустили `/code-review ultra ` или `claude ultrareview `, и перед созданием облачного сеанса Claude Code спрашивает сервер, может ли [аккаунт GitHub, подключённый к вашему аккаунту Claude](/docs/ru/ultrareview#review-a-pull-request), достичь репозитория PR. Ни один аккаунт не подключен или соединение истекло, поэтому облачный клон не работал бы и Claude Code отказывает запуск. Claude Code не тратит бесплатный запуск и не выставляет счёт за кредиты использования для отклонённого запуска. +Вы выполнили `/code-review ultra ` или `claude ultrareview `, и перед созданием облачной сессии Claude Code спрашивает у сервера, может ли [учётная запись GitHub, подключённая к вашей учётной записи Claude](/docs/ru/ultrareview#review-a-pull-request), получить доступ к репозиторию PR. Учётная запись не подключена или срок действия подключения истёк, поэтому клонирование в облаке завершилось бы с ошибкой, и Claude Code отклоняет запуск. За отклонённый запуск Claude Code не расходует бесплатный запуск и не списывает кредиты использования. ```text theme={null} Ultrareview clones / 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`](/docs/ru/web-quickstart#connect-from-your-terminal) недоступен в вашем сеансе, сообщение указывает только ссылку claude.ai. +Если [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal) недоступна в вашей сессии, сообщение называет только ссылку на claude.ai. **Что делать:** -* Запустите `/web-setup` для подключения вашего входа GitHub CLI к вашему аккаунту Claude или подключите аккаунт на [claude.ai/connect-github](https://claude.ai/connect-github) -* Повторно запустите обзор через минуту после подключения +* Выполните `/web-setup`, чтобы подключить вход GitHub CLI к вашей учётной записи Claude, или подключите учётную запись на [claude.ai/connect-github](https://claude.ai/connect-github) +* Снова запустите ревью через минуту после подключения -До версии v2.1.248 Claude Code не проверял это перед запуском. +До v2.1.248 Claude Code не проверял это перед запуском.

- Ваш подключённый аккаунт GitHub не может видеть репозиторий + Подключённая учётная запись GitHub не видит репозиторий

-Вы запустили `/code-review ultra ` или `claude ultrareview `, и [аккаунт GitHub, подключённый к вашему аккаунту Claude](/docs/ru/ultrareview#review-a-pull-request), не может прочитать репозиторий PR, поэтому облачный клон не работал бы и Claude Code отказывает запуск. Claude Code не тратит бесплатный запуск и не выставляет счёт за кредиты использования для отклонённого запуска. +Вы выполнили `/code-review ultra ` или `claude ultrareview `, и [учётная запись GitHub, подключённая к вашей учётной записи Claude](/docs/ru/ultrareview#review-a-pull-request), не может читать репозиторий PR, поэтому клонирование в облаке завершилось бы с ошибкой, и Claude Code отклоняет запуск. За отклонённый запуск Claude Code не расходует бесплатный запуск и не списывает кредиты использования. ```text theme={null} Your connected GitHub account can't see / — usually the Claude GitHub app isn't installed on 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`](/docs/ru/web-quickstart#connect-from-your-terminal) недоступен в вашем сеансе, сообщение указывает только установку приложения. +Если [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal) недоступна в вашей сессии, сообщение называет только установку приложения. **Что делать:** -* Если ваш локальный CLI `gh` может прочитать репозиторий, запустите `/web-setup` для подключения этого входа к вашему аккаунту Claude -* Повторно запустите обзор после изменения +* Если ваш локальный CLI `gh` может читать репозиторий, выполните `/web-setup`, чтобы подключить этот вход к вашей учётной записи Claude +* Снова запустите ревью после изменения -До версии v2.1.248 Claude Code не проверял это перед запуском. +До v2.1.248 Claude Code не проверял это перед запуском.

- Проверка GitHub App не прошла временно + Предварительная проверка GitHub App временно завершилась с ошибкой

-Вы запустили [облачный сеанс](/docs/ru/claude-code-on-the-web) из локального репозитория, и два шага не прошли вместе. Claude Code не смог построить или загрузить bundle вашего репозитория. Перед загрузкой он проверил, может ли облачный сервис клонировать репозиторий из GitHub, и вместо определённого ответа эта проверка закончилась ошибкой, которую повторная попытка могла бы очистить, такой как ошибка сети, тайм-аут или временная ошибка сервера. Полное сообщение начинается с того, что остановило bundle, например `Could not upload repo bundle ()`, и заканчивается предложением проверки: +Вы запустили [облачную сессию](/docs/ru/claude-code-on-the-web) из локального репозитория, и одновременно не удались два шага. Claude Code не смог собрать или загрузить bundle вашего репозитория. Перед загрузкой он проверил, может ли облачный сервис клонировать репозиторий из GitHub, и вместо определённого ответа эта проверка завершилась ошибкой, которую может устранить повторная попытка, например сетевой ошибкой, таймаутом или временной ошибкой сервера. Полное сообщение начинается с того, что помешало bundle, например `Could not upload repo bundle ()`, и заканчивается предложением о предварительной проверке: ```text theme={null} Could not upload repo bundle (). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead @@ -3509,53 +3632,84 @@ Could not upload repo bundle (). The GitHub App preflight failed transien **Что делать:** -* Повторно запустите команду через момент. Когда проверка GitHub пройдёт, Claude Code может запустить сеанс из клона GitHub, поэтому неудачная загрузка больше не блокирует запуск -* Если повторные попытки продолжают не работать, начало сообщения указывает, что остановило загрузку. Когда эта причина — это что-то, что вы можете исправить, исправьте это, чтобы сеанс мог запуститься из вашего локального репозитория вместо этого +* Через некоторое время снова выполните команду. Когда проверка GitHub пройдёт, Claude Code сможет запустить сессию из клона GitHub, и неудачная загрузка больше не будет блокировать запуск +* Если повторные попытки продолжают завершаться с ошибкой, начало сообщения называет то, что помешало загрузке. Если эту причину можно устранить, устраните её, чтобы сессия могла запуститься из вашего локального репозитория -До версии v2.1.251 Claude Code заканчивал сообщение с `Please set up GitHub on https://claude.ai/code` даже когда проверка GitHub не прошла только временно, и совет по установке не может очистить временный сбой. +До v2.1.251 Claude Code завершал сообщение фразой `Please set up GitHub on https://claude.ai/code`, даже если проверка GitHub завершалась с ошибкой лишь временно, а советы по настройке не могут устранить временный сбой.

- Хост репозитория не может быть загружен + Загрузка репозитория не может учесть настройку git

-Вы запустили [облачный сеанс, который загружает ваш локальный репозиторий](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github), или [ultrareview](/docs/ru/ultrareview) ветки, и загрузка не может следовать одному из параметров git, которые решают, какие правила атрибутов применяются к вашим файлам. Если загрузка прошла и пропустила правило, файл, который git преобразует перед сохранением, такой как тот, который чистый фильтр шифрует, может достичь облака как он находится на диске. Claude Code отказывает загрузку вместо этого, и ничего не загружается: +Вы запустили [облачную сессию, которая загружает ваш локальный репозиторий](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github), или [ultrareview](/docs/ru/ultrareview) ветки, и загрузка не может учесть одну из настроек git, определяющих, какие правила атрибутов применяются к вашим файлам. Если бы загрузка продолжилась и пропустила правило, файл, который git преобразует перед сохранением, например шифруемый clean-фильтром, мог бы попасть в облако в том виде, в каком он лежит на диске. Вместо этого Claude Code отклоняет загрузку, и ничего не загружается: ```text theme={null} -Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in , and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository's .git/config or directly into your ~/.gitconfig, then retry. +Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in , and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository’s .git/config or directly into your ~/.gitconfig, then retry. ``` -Сообщение указывает параметр и где он установлен, и заканчивается исправлением для случая, который вы попали. Тот же отказ появляется для `core.attributesFile` и `attr.tree`, каждый со своим исправлением. +Сообщение называет настройку и место, где она задана, и заканчивается решением для вашего случая. Такой же отказ появляется для `core.attributesFile` и `attr.tree`, каждый со своим решением. -Сообщение может указывать файл конфигурации, который ваша конфигурация git вытягивает через директиву `include` или `includeIf`, даже когда условие этой директивы не применяется к этому репозиторию. +Сообщение может называть файл конфигурации, который ваша конфигурация git подключает через директиву `include` или `includeIf`, даже если условие этой директивы не относится к данному репозиторию. **Что делать:** -* Примените исправление в финальном предложении сообщения +* Примените решение из последнего предложения сообщения

- GitHub не подключен к вашему аккаунту Claude + GitHub не подключён к вашей учётной записи Claude

-Вы запустили [облачный сеанс](/docs/ru/claude-code-on-the-web) из вашего локального репозитория, например с `/autofix-pr`. Ни один аккаунт GitHub не подключен к вашему аккаунту Claude или соединение истекло, поэтому Claude Code отказывает запуск: +Вы запустили [облачную сессию](/docs/ru/claude-code-on-the-web) из локального репозитория, например с помощью `/autofix-pr`. К вашей учётной записи Claude не подключена учётная запись GitHub или срок действия подключения истёк, поэтому Claude Code отклоняет запуск: ```text theme={null} 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 ``` -Когда вы создаёте routine с [`/schedule`](/docs/ru/routines), то же сообщение появляется как примечание по установке, которое указывает репозиторий; примечание не блокирует создание routine. +Когда вы создаёте routine с помощью [`/schedule`](/docs/ru/routines), то же сообщение появляется как примечание к настройке с названием репозитория; это примечание не блокирует создание routine. **Что делать:** -* Запустите `/web-setup` для подключения вашего входа GitHub CLI к вашему аккаунту Claude или подключите аккаунт на [claude.ai/connect-github](https://claude.ai/connect-github). См. [GitHub authentication options](/docs/ru/claude-code-on-the-web#github-authentication-options) для того, как два отличаются. -* Повторно запустите команду через минуту после подключения +* Выполните `/web-setup`, чтобы подключить вход GitHub CLI к вашей учётной записи Claude, или подключите учётную запись на [claude.ai/connect-github](https://claude.ai/connect-github). Чем различаются эти два способа, описано в разделе [Варианты аутентификации GitHub](/docs/ru/claude-code-on-the-web#github-authentication-options). +* Снова выполните команду через минуту после подключения + +До v2.1.268 Claude Code сообщал об этом как о временном сбое проверки Claude GitHub App и предлагал повторить попытку или установить приложение; ни то, ни другое не подключает учётную запись GitHub. -До версии v2.1.268 Claude Code сообщал об этом как о временном сбое проверки Claude GitHub App и предлагал повторить попытку или установить приложение; ни один не подключает аккаунт GitHub. +

+ Политика организации GitHub блокирует Claude +

+ +Вы выполнили в промпте Claude Code команду, которая запускает облачную сессию, например [`/autofix-pr`](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests). Перед созданием сессии Claude Code проверяет доступ Claude к репозиторию на GitHub, и GitHub отказал, потому что в вашей организации GitHub действует политика, блокирующая Claude. Claude Code на этом останавливается и показывает сообщение с названием политики. + +Если доступ блокирует список разрешённых IP-адресов, сообщение выглядит так: + +```text theme={null} +Your GitHub organization has an IP allowlist that is blocking Claude. Add Claude's IP ranges to your GitHub allowlist. +``` + +Если доступ блокирует единый вход (single sign-on), сообщение выглядит так: + +```text theme={null} +Your GitHub organization requires single sign-on. Disconnect and reconnect GitHub on the Connectors page in Claude on the web, click Authorize next to your organization when GitHub asks, then try again. +``` + +Если доступ блокирует политика условного доступа Microsoft Entra ID, сообщение выглядит так: + +```text theme={null} +Your GitHub organization's identity provider (Microsoft Entra ID) has a Conditional Access policy that is blocking Claude. Ask your GitHub Enterprise or Entra ID admin to allow Claude in that policy. +``` + +**Что делать:** + +* **Список разрешённых IP-адресов**: попросите владельца вашей организации или предприятия GitHub разрешить исходящие IP-адреса Anthropic. Адреса и настройки GitHub, которые нужно изменить, см. в разделе [Списки разрешённых адресов GitHub и брандмауэры](/docs/ru/network-config#github-allow-lists-and-firewalls). +* **Единый вход**: отключите GitHub на странице [claude.ai/customize/connectors](https://claude.ai/customize/connectors), затем подключите его снова. Когда GitHub спросит, нажмите **Authorize** рядом с вашей организацией, чтобы новое подключение было авторизовано для её единого входа. +* **Политика условного доступа**: попросите администратора GitHub Enterprise или Microsoft Entra ID разрешить Claude в этой политике +* После изменения выполните команду снова

Требуется авторизация единого входа

-Вы запустили [`/install-github-app`](/docs/ru/github-actions#quick-setup) и выбрали репозиторий, организация которого применяет SAML единый вход. Перед установкой Claude Code проверяет ваш доступ к репозиторию с GitHub CLI, и GitHub отклонил эту проверку, потому что ваш токен `gh` ещё не авторизован для организации. Мастер показывает предупреждение с шагами для авторизации: +Вы выполнили [`/install-github-app`](/docs/ru/github-actions#quick-setup) и выбрали репозиторий, организация которого требует единого входа SAML. Перед настройкой Claude Code проверяет ваш доступ к репозиторию с помощью GitHub CLI, и GitHub отклонил эту проверку, потому что ваш токен `gh` ещё не авторизован для организации. Мастер показывает предупреждение с шагами для авторизации: ```text theme={null} Single sign-on authorization needed @@ -3564,85 +3718,85 @@ Single sign-on authorization needed **Что делать:** -* Повторно авторизуйте ваш вход GitHub CLI с областями `repo` и `workflow`, запустив `gh auth refresh -h github.com -s repo,workflow`, и авторизуйте организацию, когда GitHub запросит единый вход -* Если вы аутентифицируетесь с личным токеном доступа в `GH_TOKEN`, откройте [github.com/settings/tokens](https://github.com/settings/tokens), выберите **Configure SSO** на токене и авторизуйте организацию -* Запустите `/install-github-app` снова +* Повторно авторизуйте вход в GitHub CLI со scope `repo` и `workflow`, выполнив `gh auth refresh -h github.com -s repo,workflow`, и авторизуйте организацию, когда GitHub запросит единый вход +* Если вы аутентифицируетесь с помощью персонального токена доступа в `GH_TOKEN`, откройте [github.com/settings/tokens](https://github.com/settings/tokens), выберите **Configure SSO** для токена и авторизуйте организацию +* Снова выполните `/install-github-app` -До версии v2.1.273 Claude Code показывал предупреждение `Admin permissions required` для этого условия вместо этого. +До версии v2.1.273 Claude Code в этой ситуации вместо этого показывал предупреждение `Admin permissions required`.

- Не удалось возобновить разговор + Не удалось возобновить диалог

-Claude Code не смог прочитать или обработать сохранённую стенограмму для сеанса, который вы выбрали из [`claude --resume` picker](/docs/ru/sessions#use-the-session-picker), поэтому он заканчивает процесс вместо продолжения в частично загруженном состоянии. Сообщение включает команду для повторной попытки: +Claude Code не смог прочитать или обработать сохранённый транскрипт сессии, которую вы выбрали в [средстве выбора `claude --resume`](/docs/ru/sessions#use-the-session-picker), поэтому он завершает процесс, а не продолжает работу в частично загруженном состоянии. Сообщение содержит команду для повторной попытки: ```text theme={null} Failed to resume the conversation. Run claude --resume to retry, or claude to start a new session. ``` -Claude Code завершает работу с кодом 1 после показа сообщения. Picker `/resume` внутри работающего сеанса сообщает `Failed to resume conversation` в разговоре вместо этого, и ваш текущий сеанс продолжает работать. До версии v2.1.216 неудачное возобновление из picker `claude --resume` оставалось на спиннере `Resuming conversation…` бесконечно вместо показа этого сообщения. +После показа сообщения Claude Code завершается с кодом 1. Средство выбора `/resume` внутри работающей сессии вместо этого сообщает `Failed to resume conversation` в диалоге, и ваша текущая сессия продолжает работать. До версии v2.1.216 неудачное возобновление из средства выбора `claude --resume` бесконечно оставалось на индикаторе `Resuming conversation…` вместо показа этого сообщения. **Что делать:** -* Запустите `claude --resume ` с ID сеанса из сообщения для повторной попытки -* Если каждая повторная попытка не работает так же, запустите `claude update` и возобновите снова. Версии до v2.1.275 не работают при возобновлении, когда сохранённая стенограмма содержит запись, которую они не могут прочитать. -* Если повторная попытка не работает снова, запустите `claude` для запуска нового сеанса +* Выполните `claude --resume ` с ID сессии из сообщения, чтобы повторить попытку +* В версиях до v2.1.285, если повторная попытка завершается так же, выполните `claude update` и возобновите сессию снова. Эти версии не могут возобновить сессию, если сохранённый транскрипт содержит запись, которую они не могут прочитать. +* Если повторная попытка снова не удалась, выполните `claude`, чтобы начать новую сессию

- Разговор не найден с ID сеанса + Не найден диалог с ID сессии

-Вы передали ID сеанса в `claude --resume ` и ни одна сохранённая стенограмма не совпала с ним: +Вы передали ID сессии в `claude --resume `, и ни один сохранённый транскрипт ему не соответствует: ```text theme={null} No conversation found with session ID: ``` -Claude Code завершает работу с кодом 1 после показа сообщения. Claude Code [ищет текущий проект сначала, затем каждый другой проект на этой машине](/docs/ru/sessions#resume-a-session) для ID. До версии v2.1.223 поиск остановился в текущем каталоге проекта и его git worktrees, поэтому возобновите из каталога, в котором сеанс в последний раз работал. +После показа сообщения Claude Code завершается с кодом 1. Claude Code [ищет ID сначала в текущем проекте, а затем во всех остальных проектах на этой машине](/docs/ru/sessions#resume-a-session). До версии v2.1.223 поиск ограничивался текущим каталогом проекта и его git worktree, поэтому возобновляйте сессию из каталога, в котором она работала последней. Распространённые причины: -* **Неправильно введённый ID**: для неинтерактивного запуска ID — это поле `session_id` вывода [`--output-format json`](/docs/ru/headless#get-structured-output) -* **Удалённая стенограмма**: Claude Code удаляет стенограммы после [периода хранения](/docs/ru/sessions#where-transcripts-are-stored), 30 дней по умолчанию, следуя [правилам очистки хранения](/docs/ru/claude-directory#cleaned-up-automatically) -* **Другая машина**: Claude Code хранит стенограммы локально, поэтому возобновите сеанс на машине, где он работал -* **Дублирующиеся копии**: если вы скопировали каталог проекта под `~/.claude/projects`, поэтому две стенограммы несут один и тот же ID, Claude Code сообщает это сообщение вместо возобновления одной копии произвольно +* **Опечатка в ID**: для неинтерактивного запуска ID — это поле `session_id` в [выводе `--output-format json`](/docs/ru/headless#get-structured-output) +* **Удалённый транскрипт**: Claude Code удаляет транскрипты по истечении [срока хранения](/docs/ru/sessions#where-transcripts-are-stored), по умолчанию 30 дней, в соответствии с [правилами очистки](/docs/ru/claude-directory#cleaned-up-automatically) +* **Другая машина**: Claude Code хранит транскрипты локально, поэтому возобновляйте сессию на той машине, где она выполнялась +* **Дублирующиеся копии**: если вы скопировали каталог проекта в `~/.claude/projects` так, что два транскрипта имеют одинаковый ID, Claude Code выводит это сообщение, а не возобновляет произвольно выбранную копию **Что делать:** -* Для интерактивного сеанса откройте [picker сеанса](/docs/ru/sessions#use-the-session-picker) с `claude --resume` и нажмите `Ctrl+A` для расширения на каждый проект на этой машине, затем выберите сеанс -* Сеансы, созданные с `claude -p` или [Agent SDK](/docs/ru/agent-sdk/overview), не появляются в picker, поэтому повторно проверьте ID против `session_id`, который выводит ваш исходный запуск +* Для интерактивной сессии откройте [средство выбора сессий](/docs/ru/sessions#use-the-session-picker) с помощью `claude --resume` и нажмите `Ctrl+A`, чтобы расширить его до всех проектов на этой машине, затем выберите сессию +* Сессии, созданные с помощью `claude -p` или [Agent SDK](/docs/ru/agent-sdk/overview), не отображаются в средстве выбора, поэтому перепроверьте ID по значению `session_id`, которое вывел исходный запуск

- Windows сообщила об ошибке (EBADF) при чтении Claude Code файла стенограммы этого сеанса + Windows сообщила об ошибке (EBADF), когда Claude Code читал файл транскрипта этой сессии

-Вы возобновили сеанс на Windows, его сохранённый [файл стенограммы](/docs/ru/sessions#where-transcripts-are-stored) открылся нормально, и чтение его затем не прошло с системной ошибкой EBADF. Системная ошибка не говорит, почему чтение не прошло, поэтому сообщение предлагает вероятные причины и что попробовать: +Вы возобновили сессию в Windows, её сохранённый [файл транскрипта](/docs/ru/sessions#where-transcripts-are-stored) открылся нормально, но затем чтение завершилось системной ошибкой EBADF. Системная ошибка не объясняет, почему чтение не удалось, поэтому сообщение предлагает вероятные причины и что можно попробовать: ```text theme={null} Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again. ``` -Сообщение следует за собственной строкой сбоя команды, такой как `Failed to resume session `. Команда `claude --resume` или [`claude -p`](/docs/ru/headless) завершает работу с кодом 1 после показа. После `/resume` внутри сеанса ваш текущий сеанс продолжает работать. +Сообщение следует за собственной строкой ошибки команды, например `Failed to resume session `. Команда `claude --resume` или [`claude -p`](/docs/ru/headless) после его показа завершается с кодом 1. После `/resume` внутри сессии ваша текущая сессия продолжает работать. **Что делать:** -* Исключите папку, которая содержит ваши стенограммы сеанса, из программного обеспечения, которое сканирует или перехватывает чтение файлов, такого как инструменты безопасности, шифрования или управления конечными точками. Стенограммы находятся под `%USERPROFILE%\.claude\projects` по умолчанию или под каталогом, который [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars) указывает -* Если вы не можете добавить исключение, добавьте Claude Code в разрешённые приложения этого программного обеспечения вместо этого -* Возобновите сеанс снова +* Исключите папку с транскриптами сессий из обработки программами, которые сканируют или перехватывают чтение файлов, например средствами безопасности, шифрования или управления конечными точками. По умолчанию транскрипты находятся в `%USERPROFILE%\.claude\projects` или в каталоге, указанном в [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars) +* Если добавить исключение невозможно, добавьте вместо этого Claude Code в список разрешённых приложений этой программы +* Снова возобновите сессию -До версии v2.1.282 сбой пришёл без объяснения: `claude --resume ` закончился на `Failed to resume session `, и запуск `-p` выводил только текст системной ошибки, такой как `Failed to resume session: EBADF: bad file descriptor, read`. +До версии v2.1.282 ошибка не сопровождалась объяснением: `claude --resume ` завершался на `Failed to resume session `, а запуск с `-p` выводил только текст системной ошибки, например `Failed to resume session: EBADF: bad file descriptor, read`.

- Не удалось переключить рендереры в этом сеансе + Невозможно переключить рендерер в этой сессии

-Когда вы переключаете рендереры, Claude Code перезапускает свой процесс. Вы запустили [`/tui`](/docs/ru/fullscreen#enable-fullscreen-rendering) в сеансе, который Claude Code отказывает перезапустить, поэтому он не переключается и ничего не сохраняет. Какое сообщение вы видите, говорит вам причину: +При переключении рендерера Claude Code перезапускает свой процесс. Вы выполнили [`/tui`](/docs/ru/fullscreen#enable-fullscreen-rendering) в сессии, которую Claude Code отказывается перезапускать, поэтому он не переключается и ничего не сохраняет. Причину можно определить по тому, какое сообщение вы видите: -* `Cannot switch renderers while work is running in the background`: у вас есть фоновая работа, которая перезапуск бросил бы, такая как фоновая оболочка или подагент. Дождитесь завершения работы или остановите её с [`/tasks`](/docs/ru/commands), затем запустите `/tui fullscreen` или `/tui default` снова -* `Cannot switch renderers in this session`: сеанс имеет ограничения, которые Claude Code не может передать перезапущенному процессу. До версии v2.1.234 Claude Code перезапускал в любом случае и перезапущенный сеанс работал без них +* `Cannot switch renderers while work is running in the background`: у вас выполняется фоновая работа, которую перезапуск прервал бы, например фоновая оболочка или субагент. Дождитесь завершения работы или остановите её с помощью [`/tasks`](/docs/ru/commands), затем снова выполните `/tui fullscreen` или `/tui default` +* `Cannot switch renderers in this session`: у сессии есть ограничения, которые Claude Code не может передать перезапущенному процессу. До версии v2.1.234 Claude Code всё равно выполнял перезапуск, и перезапущенная сессия работала без них -В сообщении ограничений часть в скобках указывает найденные ограничения: +В сообщении об ограничениях часть в скобках называет ограничения, которые обнаружил Claude Code: ```text theme={null} 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. @@ -3650,22 +3804,22 @@ Cannot switch renderers in this session — it has restrictions a restart can't Каждая причина, которую сообщение может показать в скобках: -* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: вы запустили сеанс с флагом, который Claude Code не передаёт обратно перезапущенному процессу. Эти флаги включают [`--system-prompt`](/docs/ru/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, [`--tools`](/docs/ru/cli-reference#cli-flags) allowlist, [`--setting-sources`](/docs/ru/cli-reference#cli-flags) и [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) -* `permission rules set for this session only`: [обновление разрешений](/docs/ru/hooks#permission-update-entries) из 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`: обновление разрешений добавило правило или путь каталога в середине сеанса. Командная строка перезапущенного процесса не может нести его текст как то же значение +* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: вы запустили сессию с флагом, который Claude Code не передаёт обратно перезапущенному процессу. К таким флагам относятся [`--system-prompt`](/docs/ru/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, список разрешённых инструментов [`--tools`](/docs/ru/cli-reference#cli-flags), [`--setting-sources`](/docs/ru/cli-reference#cli-flags) и [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) +* `permission rules set for this session only`: [обновление разрешений](/docs/ru/hooks#permission-update-entries) от хука или вызывающей стороны SDK добавило правила запрета или запроса с назначением `session`. Правила разрешения с областью действия сессии не вызывают отказа. Перезапуск их отбрасывает, и Claude Code вместо этого снова запрашивает подтверждение +* `ask-before-running rules with no command-line form`: обновление разрешений от хука или вызывающей стороны SDK добавило правила запроса наряду с правилами, которые Claude Code передаёт обратно как `--allowed-tools` и `--disallowed-tools`. Флага для правил запроса не существует +* `permission rules a command line cannot carry intact` и `added directories a command line cannot carry intact`: обновление разрешений добавило правило или путь к каталогу в ходе сессии. Командная строка перезапущенного процесса не может передать этот текст как то же самое значение **Что делать:** -* В сеансе, запущенном без этих ограничений, запустите `/tui fullscreen` или `/tui default` для переключения обратно. Claude Code сохраняет параметр [`tui`](/docs/ru/settings-reference#tui) там +* В сессии, запущенной без этих ограничений, выполните `/tui fullscreen` или `/tui default`, чтобы переключиться обратно. Claude Code сохранит там [настройку `tui`](/docs/ru/settings-reference#tui)

Не удалось открыть Claude Desktop

-Вы запустили [`/desktop`](/docs/ru/desktop#coming-from-the-cli) или его псевдоним `/app` в сеансе, или [`claude --desktop`](/docs/ru/cli-reference#cli-flags) в вашей оболочке, и системная команда Claude Code использует для открытия Claude Desktop не прошла. После `/desktop`, сеанс остаётся в терминале; `claude --desktop` выводит сообщение без префикса `Error:` и завершает работу со статусом 1. +Вы выполнили [`/desktop`](/docs/ru/desktop#coming-from-the-cli) или его псевдоним `/app` в сессии либо [`claude --desktop`](/docs/ru/cli-reference#cli-flags) в оболочке, и системная команда, которую Claude Code использует для открытия Claude Desktop, завершилась ошибкой. После `/desktop` сессия остаётся в терминале; `claude --desktop` выводит сообщение без префикса `Error:` и завершается со статусом 1. -Текст в скобках указывает команду, которая не прошла, с её кодом выхода и первой строкой её вывода ошибки, когда она их выдала. На macOS эта команда — это `open`, как в этом примере; на Windows это `rundll32`: +Текст в скобках называет команду, завершившуюся ошибкой, с её кодом завершения и первой строкой вывода ошибок, если она их выдала. В macOS это команда `open`, как в этом примере; в Windows — `rundll32`: ```text theme={null} Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session= with error -10814). Open Claude Desktop and try again. @@ -3673,18 +3827,18 @@ Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() faile **Что делать:** -* Откройте Claude Desktop самостоятельно, затем запустите `/desktop` или `claude --desktop` снова -* Чтобы прочитать полный вывод ошибки этой команды, включите отладочное логирование с `/debug` и запустите `/desktop` снова, или запустите `claude --desktop --debug-file `, затем проверьте журнал отладки +* Откройте Claude Desktop самостоятельно, затем снова выполните `/desktop` или `claude --desktop` +* Чтобы прочитать полный вывод ошибок неудавшейся команды, включите отладочное логирование с помощью `/debug` и снова выполните `/desktop` или выполните `claude --desktop --debug-file `, затем проверьте отладочный лог -До версии v2.1.285 сообщение заканчивалось `Open Claude Desktop and run /desktop again.` До версии v2.1.275 это было `Failed to open Claude Desktop. Please try opening it manually.` и не говорило, что не прошло. +До версии v2.1.285 сообщение заканчивалось словами `Open Claude Desktop and run /desktop again.` До версии v2.1.275 оно выглядело как `Failed to open Claude Desktop. Please try opening it manually.` и не сообщало, что именно не удалось.

- /terminal-setup оставил вашу Zed keymap без изменений + /terminal-setup оставил вашу раскладку клавиш Zed без изменений

-Вы запустили [`/terminal-setup`](/docs/ru/terminal-config#enter-multiline-prompts) в Zed, и Claude Code не смог завершить обновление вашего Zed `keymap.json`, поэтому оставил файл как он был. +Вы выполнили [`/terminal-setup`](/docs/ru/terminal-config#enter-multiline-prompts) в Zed, и Claude Code не смог завершить обновление вашего файла Zed `keymap.json`, поэтому оставил файл как есть. -Каждое сообщение указывает путь к вашей keymap и заканчивается блоком сочетания клавиш для добавления самостоятельно: +Каждое сообщение указывает путь к вашей раскладке клавиш и заканчивается блоком сочетания клавиш, который нужно добавить самостоятельно: ```text theme={null} Couldn't update your Zed keymap, so it was left unchanged. @@ -3692,25 +3846,25 @@ To add the binding yourself, add this block to the keymap array in - Отчёты об использовании Skill недоступны на этом соединении + Отчёты об использовании скиллов недоступны в этом подключении -Вы запустили [`/skill-doctor`](/docs/ru/skills#find-unused-skills) через [Remote Control](/docs/ru/remote-control), с вашего телефона или браузера. Claude Code не отправляет отчёт об использовании skill через Remote Control и отвечает этим сообщением вместо этого: +Вы выполнили [`/skill-doctor`](/docs/ru/skills#find-unused-skills) через [Remote Control](/docs/ru/remote-control) с телефона или из браузера. Claude Code не отправляет отчёт об использовании скиллов через Remote Control и вместо этого отвечает таким сообщением: ```text theme={null} Skill usage reports are not available on this connection. @@ -3718,13 +3872,13 @@ Skill usage reports are not available on this connection. **Что делать:** -* Запустите `/skill-doctor` в терминале на машине, где работает сеанс, или запустите `claude -p "/skill-doctor"` там +* Выполните `/skill-doctor` в терминале на машине, где работает сессия, или выполните там `claude -p "/skill-doctor"`

- Пользовательские стили вывода не могут быть выбраны через Remote Control + Пользовательские стили вывода нельзя выбрать через Remote Control

-Вы запустили [`/output-style`](/docs/ru/output-styles#change-your-output-style) из мобильного приложения или веб-приложения через [Remote Control](/docs/ru/remote-control) или команда пришла в сообщение, переданное в сеанс. Потому что такой ход может не поступить от владельца аккаунта, Claude Code указывает и выбирает только [встроенные стили](/docs/ru/output-styles#built-in-output-styles) на нём и добавляет это уведомление всякий раз, когда команда указывает стили или не признаёт имя, которое вы дали. Имя [пользовательского стиля](/docs/ru/output-styles#create-a-custom-output-style) получает тот же ответ, что и имя, которое не существует: +Вы выполнили [`/output-style`](/docs/ru/output-styles#change-your-output-style) из мобильного приложения или веб-интерфейса через [Remote Control](/docs/ru/remote-control), либо команда пришла в сообщении, переданном в сессию. Поскольку такой ход может исходить не от владельца учётной записи, Claude Code показывает и позволяет выбрать в нём только [встроенные стили](/docs/ru/output-styles#built-in-output-styles) и добавляет это уведомление всякий раз, когда команда выводит список стилей или не распознаёт указанное вами имя. На имя [пользовательского стиля](/docs/ru/output-styles#create-a-custom-output-style) выдаётся тот же ответ, что и на несуществующее имя: ```text theme={null} 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. @@ -3733,13 +3887,13 @@ Custom output styles can't be selected over Remote Control or from a relayed mes **Что делать:** * Выберите встроенный стиль, например `/output-style concise` -* Чтобы использовать пользовательский стиль, установите [`outputStyle`](/docs/ru/settings-reference#outputstyle) в `.claude/settings.local.json` проекта или запустите `/output-style