SpyBara
Go Premium

Documentation 2026-10-01 23:59 UTC to 2026-10-02 02:02 UTC

37 files changed +1,645 −1,246. View all changes and history on the product overview
2026
Fri 2 03:00 Thu 1 23:59

accessibility.md +11 −5

Details

44| [`CLAUDE_AX_SCREEN_READER`](/docs/ru/env-vars#variables) | Переменная окружения | Режим программы чтения с экрана для сеансов, запущенных из оболочки, где вы его установили. |44| [`CLAUDE_AX_SCREEN_READER`](/docs/ru/env-vars#variables) | Переменная окружения | Режим программы чтения с экрана для сеансов, запущенных из оболочки, где вы его установили. |

45| [`axScreenReader`](/docs/ru/settings-reference#axscreenreader) | Параметр | Режим программы чтения с экрана для каждого сеанса, когда `true`. |45| [`axScreenReader`](/docs/ru/settings-reference#axscreenreader) | Параметр | Режим программы чтения с экрана для каждого сеанса, когда `true`. |

46| [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/ru/env-vars#variables) | Переменная окружения | Как долго Claude Code ждёт после строки подтверждения перед тем, как нарисовать первую подсказку в режиме программы чтения с экрана. Требует Claude Code v2.1.217 или более поздней версии. |46| [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/ru/env-vars#variables) | Переменная окружения | Как долго Claude Code ждёт после строки подтверждения перед тем, как нарисовать первую подсказку в режиме программы чтения с экрана. Требует Claude Code v2.1.217 или более поздней версии. |

47| [`CLAUDE_AX_PREPARK_MS`](/docs/ru/env-vars#variables) | Переменная окружения | Как долго Claude Code ждёт, с курсором в начале строки, перед тем, как написать новую или изменённую строку в режиме программы чтения с экрана. Требует Claude Code v2.1.233 или более поздней версии. |47| [`CLAUDE_AX_PREPARK_MS`](/docs/ru/env-vars#variables) | Переменная окружения | Если задана, сколько миллисекунд Claude Code удерживает курсор терминала в начале текущей строки перед тем, как написать новую или изменённую строку в режиме программы чтения с экрана. Требует Claude Code v2.1.233 или более поздней версии. |

48| [`CLAUDE_CODE_ACCESSIBILITY`](/docs/ru/env-vars#variables) | Переменная окружения | Курсор терминала, который остаётся видимым для увеличителей экрана, таких как macOS Zoom, когда вы установите его на `1`. Курсор следует за кареткой ввода и, в Claude Code v2.1.218 или более поздней версии, за выделённой строкой в меню и панелях, таких как `/config` и `/plugin`. |48| [`CLAUDE_CODE_ACCESSIBILITY`](/docs/ru/env-vars#variables) | Переменная окружения | Курсор терминала, который остаётся видимым для увеличителей экрана, таких как macOS Zoom, когда вы установите его на `1`. Курсор следует за кареткой ввода и, в Claude Code v2.1.218 или более поздней версии, за выделённой строкой в меню и панелях, таких как `/config` и `/plugin`. |

49| [`prefersReducedMotion`](/docs/ru/settings-reference#prefersreducedmotion) | Параметр | Уменьшенные или отсутствующие спиннеры, мерцание и другие анимации, когда `true`. |49| [`prefersReducedMotion`](/docs/ru/settings-reference#prefersreducedmotion) | Параметр | Уменьшенные или отсутствующие спиннеры, мерцание и другие анимации, когда `true`. |

50| [`theme`](/docs/ru/settings-reference#theme) | Параметр | Цвета интерфейса, включая удобные для дальтоников темы `dark-daltonized` и `light-daltonized`. Вы также можете выбрать одну с помощью [`/theme`](/docs/ru/commands#all-commands). |50| [`theme`](/docs/ru/settings-reference#theme) | Параметр | Цвета интерфейса, включая удобные для дальтоников темы `dark-daltonized` и `light-daltonized`. Вы также можете выбрать одну с помощью [`/theme`](/docs/ru/commands#all-commands). |


60* Нет подсказок только по цвету60* Нет подсказок только по цвету

61* Нет перерисовок содержимого, которое не изменилось. Спиннеры прогресса отображаются как статический текст61* Нет перерисовок содержимого, которое не изменилось. Спиннеры прогресса отображаются как статический текст

62* Таблицы в ответах Claude читаются как предложения `Header: value` вместо сетки с символами рисования прямоугольников62* Таблицы в ответах Claude читаются как предложения `Header: value` вместо сетки с символами рисования прямоугольников

63* Diff читаются как обычный текст, построчно, где `+` и `-` обозначают добавленные и удалённые строки, поэтому вы можете прослушать предлагаемое изменение в запросе подтверждения редактирования файла, прежде чем ответить на него

63 64 

64Claude Code оставляет всё, что он выводит, в буфере прокрутки вашего терминала, поэтому вы можете перечитать более ранние ходы с помощью команд просмотра вашей программы чтения с экрана или поиска вашего терминала. Claude Code игнорирует параметр [`tui`](/docs/ru/settings-reference#tui) в режиме программы чтения с экрана. Кроме присоединённых фоновых сеансов, перечисленных в разделе [Известные ограничения](#known-limitations), он выводит прокручиваемый текст вместо [полноэкранного отображения](/docs/ru/fullscreen).65Claude Code оставляет всё, что он выводит, в буфере прокрутки вашего терминала, поэтому вы можете перечитать более ранние ходы с помощью команд просмотра вашей программы чтения с экрана или поиска вашего терминала. Claude Code игнорирует параметр [`tui`](/docs/ru/settings-reference#tui) в режиме программы чтения с экрана. Кроме присоединённых фоновых сеансов, перечисленных в разделе [Известные ограничения](#known-limitations), он выводит прокручиваемый текст вместо [полноэкранного отображения](/docs/ru/fullscreen).

65 66 

66Claude Code также ждёт в двух местах, чтобы ваша программа чтения с экрана могла поспеть:67После того как Claude Code выводит [строку подтверждения](#turn-on-screen-reader-mode) при запуске, он ждёт 3 секунды, прежде чем отрисовать промпт, чтобы ваша программа чтения с экрана могла дочитать строку. Нажмите любую клавишу, чтобы завершить ожидание. Чтобы изменить длительность ожидания, задайте [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/ru/env-vars#variables).

67 

68* После того, как Claude Code выводит строку подтверждения, он ждёт 3 секунды перед тем, как нарисовать подсказку, чтобы ваша программа чтения с экрана могла закончить строку. Нажмите любую клавишу, чтобы завершить ожидание. Чтобы изменить длину ожидания, установите [`CLAUDE_AX_STARTUP_QUIET_MS`](/docs/ru/env-vars#variables).

69* Перед тем, как Claude Code напишет новую или изменённую строку, такую как подсказка или больше ответа Claude, он перемещает курсор в начало строки и ждёт 50 миллисекунд. Ваша программа чтения с экрана затем читает строку с её первого символа. Символы, которые вы вводите или удаляете в конце строки ввода, появляются немедленно. Чтобы изменить длину ожидания, установите [`CLAUDE_AX_PREPARK_MS`](/docs/ru/env-vars#variables).

70 68 

71Каждое сообщение в стенограмме начинается с метки, которую объявляет ваша программа чтения с экрана, называющей, что это: ваши сообщения, ответы Claude и размышления, активность инструментов, ошибки и предупреждения, и подсказки. Метки также доступны для поиска, поэтому вы можете переходить между разделами стенограммы, выполняя поиск в буфере прокрутки вашего терминала:69Каждое сообщение в стенограмме начинается с метки, которую объявляет ваша программа чтения с экрана, называющей, что это: ваши сообщения, ответы Claude и размышления, активность инструментов, ошибки и предупреждения, и подсказки. Метки также доступны для поиска, поэтому вы можете переходить между разделами стенограммы, выполняя поиск в буфере прокрутки вашего терминала:

72 70 


94 92 

95Когда вы циклируете [режимы разрешения](/docs/ru/permission-modes) с помощью `Shift+Tab`, Claude Code объявляет режим разрешения, на который вы приземлились, такой как `[plan mode on]` или `[accept edits on]`. Claude Code выводит объявление один раз и не повторяет его при более поздних перерисовках.93Когда вы циклируете [режимы разрешения](/docs/ru/permission-modes) с помощью `Shift+Tab`, Claude Code объявляет режим разрешения, на который вы приземлились, такой как `[plan mode on]` или `[accept edits on]`. Claude Code выводит объявление один раз и не повторяет его при более поздних перерисовках.

96 94 

95<h3 id="read-earlier-output-without-losing-your-place">

96 Чтение более раннего вывода без потери позиции

97</h3>

98 

99Если ваша программа чтения с экрана перескакивает обратно к промпту, пока вы читаете более ранний вывод, значит, она следует за курсором терминала. Claude Code перемещает курсор терминала обратно к промпту каждый раз, когда выводит новый текст.

100 

101Чтобы сохранить позицию во время чтения, отключите в программе чтения с экрана следование за курсором терминала. В NVDA нажмите `NVDA+6`, чтобы курсор просмотра перестал следовать за курсором терминала. Нажмите `NVDA+6` ещё раз, чтобы снова включить следование.

102 

97<h3 id="jump-between-turns">103<h3 id="jump-between-turns">

98 Переход между ходами104 Переход между ходами

99</h3>105</h3>

Details

273 Контекстное окно273 Контекстное окно

274</h2>274</h2>

275 275 

276Контекстное окно — это общее количество информации, доступной Claude во время сессии. Оно не сбрасывается между ходами в пределах сессии. Все накапливается: системный запрос, определения инструментов, история разговора, входные данные инструментов и выходные данные инструментов. Содержимое, которое остается неизменным на протяжении ходов (системный запрос, определения инструментов, CLAUDE.md), автоматически [кэшируется в запросе](https://platform.claude.com/docs/en/build-with-claude/prompt-caching), что снижает стоимость и задержку для повторяющихся префиксов. Для информации о том, как пользовательский системный запрос или текст `append` влияет на повторное использование кэша между сессиями, см. [Изменение системных запросов](/docs/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines).276Контекстное окно — это общее количество информации, доступной Claude во время сессии. Оно не сбрасывается между ходами в пределах сессии. Все накапливается: системный промпт, определения инструментов, история диалога, входные данные инструментов и выходные данные инструментов. Содержимое, которое остается неизменным на протяжении ходов (системный промпт, определения инструментов, CLAUDE.md), автоматически [кэшируется с помощью кэширования промптов](https://platform.claude.com/docs/en/build-with-claude/prompt-caching), что снижает стоимость и задержку для повторяющихся префиксов. Информацию о том, как пользовательский системный промпт или текст `append` влияет на повторное использование кэша между сессиями, см. в разделе [Изменение системных промптов](/docs/ru/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines).

277 277 

278<h3 id="what-consumes-context">278<h3 id="what-consumes-context">

279 Что потребляет контекст279 Что потребляет контекст


283 283 

284| Источник | Когда он загружается | Влияние |284| Источник | Когда он загружается | Влияние |

285| :- | :- | :- |285| :- | :- | :- |

286| **Системный запрос** | Каждый запрос | Небольшая фиксированная стоимость, всегда присутствует |286| **Системный промпт** | Каждый запрос | Небольшая фиксированная стоимость, всегда присутствует |

287| **CLAUDE.md файлы** | Начало сессии, через [`settingSources`](/docs/ru/agent-sdk/claude-code-features) | Полное содержимое в каждом запросе (но кэшировано в запросе, поэтому только первый запрос платит полную стоимость) |287| **Файлы CLAUDE.md** | Начало сессии, через [`settingSources`](/docs/ru/agent-sdk/claude-code-features) | Полное содержимое в каждом запросе (но с кэшированием промптов, поэтому полную стоимость оплачивает только первый запрос) |

288| **Определения инструментов** | Каждый запрос; схемы MCP отложены по умолчанию | Встроенные схемы инструментов загружаются в каждом запросе. [Поиск инструментов](/docs/ru/agent-sdk/mcp#mcp-tool-search) отложит схемы инструментов MCP по умолчанию, возвращаясь к предварительной загрузке на неподдерживаемых моделях и определенных платформах. См. [Настройка поиска инструментов](/docs/ru/agent-sdk/tool-search#configure-tool-search) для полной матрицы |288| **Определения инструментов** | Каждый запрос; схемы MCP по умолчанию откладываются | Схемы встроенных инструментов загружаются в каждом запросе. [Поиск инструментов](/docs/ru/agent-sdk/mcp#mcp-tool-search) по умолчанию откладывает загрузку схем инструментов MCP, переключаясь на предварительную загрузку на неподдерживаемых моделях и определенных платформах. Полную матрицу см. в разделе [Настройка поиска инструментов](/docs/ru/agent-sdk/tool-search#configure-tool-search) |

289| **История разговора** | Накапливается на протяжении ходов | Растет с каждым ходом: запросы, ответы, входные данные инструментов, выходные данные инструментов |289| **История диалога** | Накапливается на протяжении ходов | Растет с каждым ходом: промпты, ответы, входные данные инструментов, выходные данные инструментов |

290| **Описания skills** | Начало сессии, через источники настроек | Короткие резюме; полное содержимое загружается только при вызове |290| **Описания скиллов** | Начало сессии, через источники настроек | Краткие описания; полное содержимое загружается только при вызове |

291 291 

292Большие выходные данные инструментов потребляют значительный контекст. Чтение большого файла или запуск команды с подробным выводом может использовать тысячи токенов в одном ходе. Контекст накапливается на протяжении ходов, поэтому более длительные сессии с множеством вызовов инструментов накапливают значительно больше контекста, чем короткие.292Большие выходные данные инструментов потребляют значительный объем контекста. Чтение большого файла или запуск команды с подробным выводом может использовать тысячи токенов за один ход. Контекст накапливается на протяжении ходов, поэтому более длительные сессии с множеством вызовов инструментов накапливают значительно больше контекста, чем короткие.

293 293 

294<h3 id="automatic-compaction">294<h3 id="automatic-compaction">

295 Автоматическое компактирование295 Автоматическое сжатие контекста

296</h3>296</h3>

297 297 

298Когда контекстное окно приближается к своему лимиту, SDK автоматически компактирует разговор: он суммирует более старую историю, чтобы освободить место, сохраняя ваши самые последние обмены и ключевые решения нетронутыми. SDK выдает сообщение с `type: "system"` и `subtype: "compact_boundary"` в потоке, когда это происходит (в Python это `SystemMessage`; в TypeScript это отдельный тип `SDKCompactBoundaryMessage`).298Когда контекстное окно приближается к своему лимиту, SDK автоматически сжимает диалог: он кратко резюмирует более старую историю, чтобы освободить место, сохраняя нетронутыми ваши самые последние обмены сообщениями и ключевые решения. Когда это происходит, SDK выдает в поток сообщение с `type: "system"` и `subtype: "compact_boundary"` (в Python это `SystemMessage`; в TypeScript это отдельный тип `SDKCompactBoundaryMessage`).

299 299 

300Компактирование заменяет более старые сообщения резюме, поэтому конкретные инструкции с начала разговора могут не сохраниться. Постоянные правила должны находиться в CLAUDE.md (загружаемые через [`settingSources`](/docs/ru/agent-sdk/claude-code-features)), а не в начальном запросе, потому что содержимое CLAUDE.md повторно вводится в каждом запросе.300Сжатие контекста заменяет более старые сообщения резюме, поэтому конкретные инструкции из начала диалога могут не сохраниться. Постоянные правила следует размещать в CLAUDE.md (загружаемом через [`settingSources`](/docs/ru/agent-sdk/claude-code-features)), а не в начальном промпте, потому что содержимое CLAUDE.md повторно добавляется в каждый запрос.

301 301 

302Вы можете настроить поведение компактирования несколькими способами:302Вы можете настроить поведение сжатия контекста несколькими способами:

303 303 

304* **Инструкции по суммированию в CLAUDE.md:** Компактор читает ваш CLAUDE.md как любой другой контекст, поэтому вы можете включить раздел, рассказывающий ему, что сохранить при суммировании. Компактор совпадает по намерению, поэтому заголовок раздела свободной формы.304* **Инструкции по резюмированию в CLAUDE.md:** механизм сжатия читает ваш CLAUDE.md как любой другой контекст, поэтому вы можете добавить раздел, указывающий, что сохранять при резюмировании. Механизм сжатия ориентируется на смысл, поэтому заголовок раздела может быть произвольным.

305* **Hook `PreCompact`:** Запустите пользовательскую логику перед компактированием, например для архивирования полной транскрипции. Hook получает поле `trigger` (`manual` или `auto`). См. [hooks](/docs/ru/agent-sdk/hooks).305* **Хук `PreCompact`:** запускайте пользовательскую логику перед сжатием контекста, например для архивирования полного транскрипта. Хук получает поле `trigger` (`manual` или `auto`). См. [хуки](/docs/ru/agent-sdk/hooks).

306* **Ручное компактирование:** Отправьте `/compact` как строку запроса для запуска компактирования по требованию. Команды, отправленные таким образом, — это обычные входные данные SDK. См. [dispatch commands by name](/docs/ru/agent-sdk/skills#dispatch-commands-by-name).306* **Ручное сжатие контекста:** отправьте `/compact` в качестве строки промпта, чтобы запустить сжатие по требованию. Команды, отправленные таким образом, — это обычные входные данные SDK. См. [отправка команд по имени](/docs/ru/agent-sdk/skills#dispatch-commands-by-name).

307 307 

308<Accordion title="Пример: Инструкции по суммированию в CLAUDE.md">308<Accordion title="Пример: инструкции по резюмированию в CLAUDE.md">

309 Добавьте раздел в CLAUDE.md вашего проекта, рассказывающий компактору, что сохранить. Имя заголовка не является специальным; используйте любой четкий ярлык.309 Добавьте в CLAUDE.md вашего проекта раздел, указывающий механизму сжатия, что сохранять. Название заголовка не имеет особого значения; используйте любую понятную метку.

310 310 

311 ```markdown CLAUDE.md theme={null}311 ```markdown CLAUDE.md theme={null}

312 # Summary instructions312 # Summary instructions


320</Accordion>320</Accordion>

321 321 

322<h3 id="keep-context-efficient">322<h3 id="keep-context-efficient">

323 Держите контекст эффективным323 Эффективное использование контекста

324</h3>324</h3>

325 325 

326Несколько стратегий для долгоживущих агентов:326Несколько стратегий для долго работающих агентов:

327 327 

328* **Используйте подагентов для подзадач.** Каждый подагент начинает со свежего разговора (без предыдущей истории сообщений, хотя он загружает свой собственный системный запрос и контекст уровня проекта, такой как CLAUDE.md). Он не видит ходы родителя, и только его финальный ответ возвращается родителю как результат инструмента. Контекст основного агента растет на эту резюме, а не на полную транскрипцию подзадачи. См. [Что наследуют подагенты](/docs/ru/agent-sdk/subagents#what-subagents-inherit) для деталей.328* **Используйте субагентов для подзадач.** Каждый субагент начинает с нового диалога (без предыдущей истории сообщений, хотя он загружает собственный системный промпт и контекст уровня проекта, такой как CLAUDE.md). Он не видит ходы родительского агента, и родителю возвращается только его финальный ответ. Контекст основного агента увеличивается на это резюме, а не на полный транскрипт подзадачи. Подробности см. в разделе [Что наследуют субагенты](/docs/ru/agent-sdk/subagents#what-subagents-inherit).

329* **Будьте избирательны с инструментами.** Каждое определение инструмента занимает место контекста. Используйте поле `tools` на [`AgentDefinition`](/docs/ru/agent-sdk/subagents#agentdefinition-configuration) для ограничения подагентов минимальным набором, который им нужен.329* **Тщательно выбирайте инструменты.** Каждое определение инструмента занимает место в контексте. Используйте поле `tools` в [`AgentDefinition`](/docs/ru/agent-sdk/subagents#agentdefinition-configuration), чтобы ограничить субагентов минимальным необходимым набором инструментов.

330* **Следите за стоимостью MCP сервера.** [MCP tool search](/docs/ru/agent-sdk/mcp#mcp-tool-search) отложит схемы инструментов MCP по умолчанию и загружает их по требованию. Когда поиск инструментов отключен или вернулся к предварительной загрузке, каждый MCP сервер добавляет все свои схемы инструментов в каждый запрос, поэтому несколько серверов с множеством инструментов могут потребить значительный контекст перед тем, как агент выполнит какую-либо работу. См. [Configure tool search](/docs/ru/agent-sdk/tool-search#configure-tool-search) для конфигураций, где применяется fallback.330* **Следите за затратами на MCP-серверы.** [MCP Tool Search](/docs/ru/agent-sdk/mcp#mcp-tool-search) по умолчанию откладывает загрузку схем инструментов MCP и загружает их по требованию. Когда поиск инструментов отключен или переключился на предварительную загрузку, каждый MCP-сервер добавляет все свои схемы инструментов в каждый запрос, поэтому несколько серверов с множеством инструментов могут потребить значительный объем контекста еще до того, как агент выполнит какую-либо работу. Конфигурации, в которых применяется этот резервный вариант, см. в разделе [Настройка поиска инструментов](/docs/ru/agent-sdk/tool-search#configure-tool-search).

331* **Используйте более низкие усилия для обычных задач.** Установите [effort](#effort-level) на `"low"` для агентов, которым нужно только читать файлы или список каталогов. Это снижает использование токенов и стоимость.331* **Используйте более низкий уровень effort для рутинных задач.** Установите [effort](#effort-level) в значение `"low"` для агентов, которым нужно только читать файлы или выводить списки каталогов. Это снижает расход токенов и стоимость.

332 332 

333Для подробного разбора стоимости контекста для каждой функции см. [Понять стоимость контекста](/docs/ru/features-overview#understand-context-costs).333Подробную разбивку затрат контекста по функциям см. в разделе [Понимание затрат контекста](/docs/ru/features-overview#understand-context-costs).

334 334 

335<h2 id="sessions-and-continuity">335<h2 id="sessions-and-continuity">

336 Сессии и непрерывность336 Сессии и непрерывность

Details

1488Используйте с полем `betas` в `ClaudeAgentOptions` для включения бета-функций.1488Используйте с полем `betas` в `ClaudeAgentOptions` для включения бета-функций.

1489 1489 

1490<Warning>1490<Warning>

1491 Бета-версия `context-1m-2025-08-07` снята с производства по состоянию на 30 апреля 2026 года. Передача этого заголовка с Claude Sonnet 4.5 или Sonnet 4 не имеет эффекта, и запросы, превышающие стандартное окно контекста из 200k токенов, возвращают ошибку. Для использования окна контекста из 1M токенов перейдите на [Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 или Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), которые включают контекст из 1M по стандартной цене без требования заголовка бета-версии.1491 В Claude API бета-версия `context-1m-2025-08-07` выведена из эксплуатации для Claude Sonnet 4.5 и Claude Sonnet 4. Если вы всё ещё передаёте её с любой из этих моделей, запросы, превышающие стандартное контекстное окно в 200K токенов, возвращают ошибку, поэтому удалите её из `betas`. Чтобы запустить сессию с контекстным окном в 1M токенов, установите в `model` модель, которая [по умолчанию работает с окном в 1M](/docs/ru/model-config#extended-context), например `claude-sonnet-5-5` или `claude-opus-5-5`. Для модели, которая поддерживает 1M только через свой вариант `[1m]`, добавьте этот суффикс к ID модели, как в `claude-opus-4-6[1m]`.

1492</Warning>1492</Warning>

1493 1493 

1494<h3 id="mcpsdkserverconfig">1494<h3 id="mcpsdkserverconfig">

Details

166 166 

167Когда вы запустите пример, версия TypeScript выводит каждый ответ по мере его завершения. Цикл `receive_response()` версии Python заканчивается на первом сообщении результата, поэтому он выводит анализ безопасности; чтобы прочитать оба ответа, используйте одну пару `query()` и `receive_response()` на сообщение, как показано в [примере продолжения разговора в справочнике Python](/docs/ru/agent-sdk/python#example-continuing-a-conversation).167Когда вы запустите пример, версия TypeScript выводит каждый ответ по мере его завершения. Цикл `receive_response()` версии Python заканчивается на первом сообщении результата, поэтому он выводит анализ безопасности; чтобы прочитать оба ответа, используйте одну пару `query()` и `receive_response()` на сообщение, как показано в [примере продолжения разговора в справочнике Python](/docs/ru/agent-sdk/python#example-continuing-a-conversation).

168 168 

169Если у блока изображения поле `source` отсутствует или не является объектом, SDK не сообщает об ошибке. Claude Code отправляет Claude текстовое примечание вместо изображения, например `[Image could not be processed: image block has no source object]`, и сессия продолжается.

170 

169<Note>171<Note>

170 В TypeScript SDK, если ваш генератор сообщений выбросит исключение, например, когда файл, который он читает, отсутствует, поток завершится с ошибкой, которая гласит `Claude Code process aborted by user` вместо исходной ошибки, поэтому сначала проверьте код внутри вашего генератора, когда вы видите это сообщение. Ошибке также может предшествовать длинная минифицированная строка объединённого исходного кода SDK, поэтому прочитайте до конца вывода, чтобы найти текст ошибки.172 В TypeScript SDK, если ваш генератор сообщений выбросит исключение, например, когда файл, который он читает, отсутствует, поток завершится с ошибкой, которая гласит `Claude Code process aborted by user` вместо исходной ошибки, поэтому сначала проверьте код внутри вашего генератора, когда вы видите это сообщение. Ошибке также может предшествовать длинная минифицированная строка объединённого исходного кода SDK, поэтому прочитайте до конца вывода, чтобы найти текст ошибки.

171 173 

Details

204| Определения инструментов (унаследованные от родителя или подмножество в `tools`, [отфильтрованные для фоновых запусков](/docs/ru/sub-agents#available-tools)) | Системное приглашение родителя |204| Определения инструментов (унаследованные от родителя или подмножество в `tools`, [отфильтрованные для фоновых запусков](/docs/ru/sub-agents#available-tools)) | Системное приглашение родителя |

205 205 

206<Note>206<Note>

207 Родитель получает финальное сообщение подагента как результат инструмента Agent, но может обобщить его в своём ответе. Чтобы сохранить выходные данные подагента дословно в ответе, видимом пользователю, включите инструкцию об этом в приглашение или опцию `systemPrompt`, которую вы передаёте основному вызову `query()`.207 Родитель получает итоговый отчёт субагента, но может обобщить его в своём ответе. Чтобы сохранить выходные данные субагента дословно в ответе, видимом пользователю, включите инструкцию об этом в промпт или опцию `systemPrompt`, которую вы передаёте основному вызову `query()`.

208 208 

209 В v2.1.210 и более поздних версиях Claude Code [сканирует финальное сообщение на предмет шаблонов, похожих на инструкции](/docs/ru/sub-agents#subagent-output-scanning), прежде чем родитель его прочитает. Сканирование обрабатывает три вида шаблонов по-разному:209 В v2.1.210 и более поздних версиях Claude Code [сканирует финальное сообщение на предмет шаблонов, похожих на инструкции](/docs/ru/sub-agents#subagent-output-scanning), прежде чем родитель его прочитает. Сканирование обрабатывает три вида шаблонов по-разному:

210 210 

Details

1596 1596 

1597На сообщении, которое содержит блок `tool_result`, `tool_use_result` — это структурированный объект вывода инструмента, а не текст, отправленный модели. Его форма зависит от инструмента, названного соответствующим блоком `tool_use`, поэтому поле типизировано как `unknown`; встроенные формы перечислены в разделе [Tool Output Types](#tool-output-types).1597На сообщении, которое содержит блок `tool_result`, `tool_use_result` — это структурированный объект вывода инструмента, а не текст, отправленный модели. Его форма зависит от инструмента, названного соответствующим блоком `tool_use`, поэтому поле типизировано как `unknown`; встроенные формы перечислены в разделе [Tool Output Types](#tool-output-types).

1598 1598 

1599Для инструмента `Agent` `tool_use_result` — это [`AgentOutput`](#agent-2). На результате `completed` `content` содержит отчёт подагента без ID агента и трейлера использования, который Claude Code добавляет к тексту `tool_result`, поэтому выполняйте рендеринг из `tool_use_result` вместо анализа этого текста.1599Для инструмента `Agent` `tool_use_result` — это [`AgentOutput`](#agent-2). Выполняйте рендеринг на его основе, а не анализируйте текст `tool_result`. Поле `content` результата `completed` содержит отчёт субагента или, для субагента, чей отчёт передаётся через вызов инструмента `SubagentHandback`, краткую заметку об этой передаче вместо отчёта. В [авторежиме](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) в Claude Code v2.1.271 или позже так отчитывается каждый субагент, выдающий результат `completed`, если только он не является [форком](/docs/ru/sub-agents#fork-the-current-conversation), и Claude получает отчёт отдельным сообщением от субагента.

1600 1600 

1601Для инструмента MCP, чей результат содержит блоки `resource_link`, `tool_use_result` — это объект с массивом `resourceLinks` записей [`SDKMcpResourceLink`](#sdkmcpresourcelink). Claude получает каждую ссылку как строку текста в блоке `tool_result`, поэтому читайте `resourceLinks`, чтобы выполнить рендеринг файлов, которые вернул сервер, вместо анализа этого текста. Claude Code опускает `resourceLinks`, когда результат не содержит ссылок и на результатах от подагентов, сохраняет максимум 50 ссылок на результат и прекращает добавление ссылок, когда массив достигает 64 КиБ сериализованного JSON. `resourceLinks` требует Agent SDK v0.3.257 или позже.1601Для инструмента MCP, чей результат содержит блоки `resource_link`, `tool_use_result` — это объект с массивом `resourceLinks` записей [`SDKMcpResourceLink`](#sdkmcpresourcelink). Claude получает каждую ссылку как строку текста в блоке `tool_result`, поэтому читайте `resourceLinks`, чтобы выполнить рендеринг файлов, которые вернул сервер, вместо анализа этого текста. Claude Code опускает `resourceLinks`, когда результат не содержит ссылок и на результатах от подагентов, сохраняет максимум 50 ссылок на результат и прекращает добавление ссылок, когда массив достигает 64 КиБ сериализованного JSON. `resourceLinks` требует Agent SDK v0.3.257 или позже.

1602 1602 


5079 `ApiKeySource`5079 `ApiKeySource`

5080</h3>5080</h3>

5081 5081 

5082Источник API ключа для запросов сессии, сообщаемый как `apiKeySource` в инициализирующем сообщении [`SDKSystemMessage`](#sdksystemmessage).5082Источник API-ключа для запросов сессии, сообщаемый как `apiKeySource` в инициализирующем сообщении [`SDKSystemMessage`](#sdksystemmessage).

5083 5083 

5084```typescript theme={null}5084```typescript theme={null}

5085type ApiKeySource =5085type ApiKeySource =


5101| `ANTHROPIC_API_KEY` | Ключ в переменной окружения `ANTHROPIC_API_KEY` |5101| `ANTHROPIC_API_KEY` | Ключ в переменной окружения `ANTHROPIC_API_KEY` |

5102| `apiKeyHelper` | Ключ, возвращённый вашей командой [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) |5102| `apiKeyHelper` | Ключ, возвращённый вашей командой [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) |

5103| `/login managed key` | Ключ, сохранённый Claude Code при входе с учётной записью [Claude Console](/docs/ru/authentication#claude-console-authentication) |5103| `/login managed key` | Ключ, сохранённый Claude Code при входе с учётной записью [Claude Console](/docs/ru/authentication#claude-console-authentication) |

5104| `none` | Нет API ключа. Сессия аутентифицируется другим способом, например, через вход claude.ai, токен-носитель или облачного провайдера |5104| `none` | Нет API-ключа. Сессия аутентифицируется другим способом, например через вход в claude.ai, Bearer-токен или облачного провайдера |

5105 5105 

5106Agent SDK v0.3.234 и позже перечисляют эти четыре значения в типе. Тип также сохраняет `user`, `project`, `org`, `temporary` и `oauth`, чтобы старый код всё ещё компилировался, и Claude Code их не сообщает.5106Agent SDK v0.3.234 и более поздние версии перечисляют в типе эти четыре значения. Тип также сохраняет `user`, `project`, `org`, `temporary` и `oauth`, чтобы старый код продолжал компилироваться, но Claude Code их не сообщает.

5107 5107 

5108<h3 id="sdkbeta">5108<h3 id="sdkbeta">

5109 `SdkBeta`5109 `SdkBeta`


5116```5116```

5117 5117 

5118<Warning>5118<Warning>

5119 Бета `context-1m-2025-08-07` снята с производства по состоянию на 30 апреля 2026 года. Передача этого значения с Claude Sonnet 4.5 или Sonnet 4 не имеет эффекта, и запросы, превышающие стандартное окно контекста 200k-токенов, возвращают ошибку. Для использования окна контекста 1M-токенов перейдите на [Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 или Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), которые включают контекст 1M по стандартной цене без требуемого заголовка beta.5119 В Claude API бета `context-1m-2025-08-07` снята с поддержки для Claude Sonnet 4.5 и Claude Sonnet 4. Если вы по-прежнему передаёте её с любой из этих моделей, запросы, превышающие стандартное контекстное окно в 200K токенов, возвращают ошибку, поэтому удалите её из `betas`. Чтобы запустить сессию с контекстным окном в 1M токенов, установите в `model` модель, которая [по умолчанию работает с окном 1M](/docs/ru/model-config#extended-context), например `claude-sonnet-5-5` или `claude-opus-5-5`. Для модели, которая получает 1M только через свой вариант `[1m]`, добавьте суффикс к идентификатору модели, как в `claude-opus-4-6[1m]`.

5120</Warning>5120</Warning>

5121 5121 

5122<h3 id="slashcommand">5122<h3 id="slashcommand">


5135};5135};

5136```5136```

5137 5137 

5138`builtin` это `true` в строке, когда команда является собственной Claude Code и ввод `/name` её запускает. Она отсутствует для команды, определённой пользователем, проектом, плагином или MCP сервером, и для встроенной команды, которую один из них [заменяет по имени](/docs/ru/skills#resolve-skills-that-share-a-name). Требует Agent SDK v0.3.277 или позже.5138`builtin` имеет значение `true` в строке, когда команда является собственной командой Claude Code и ввод `/name` её запускает. Поле отсутствует для команды, определённой пользователем, проектом, плагином или MCP-сервером, а также для встроенной команды, которую одна из них [заменяет по имени](/docs/ru/skills#resolve-skills-that-share-a-name). Требует Agent SDK v0.3.277 или более поздней версии.

5139 5139 

5140<h3 id="modelinfo">5140<h3 id="modelinfo">

5141 `ModelInfo`5141 `ModelInfo`


5160| Поле | Тип | Описание |5160| Поле | Тип | Описание |

5161| :- | :- | :- |5161| :- | :- | :- |

5162| `value` | `string` | Идентификатор модели для передачи в вызовы API |5162| `value` | `string` | Идентификатор модели для передачи в вызовы API |

5163| `resolvedModel` | `string \| undefined` | Канонический идентификатор модели провода, на который разрешается `value` этой записи. Запись псевдонима, такая как `sonnet`, разрешается на явный идентификатор модели, такой как `claude-sonnet-5`, поэтому хост может сопоставить сохранённый явный идентификатор модели с записью псевдонима, которая его охватывает. Требуется Claude Code v2.1.197 или позже. |5163| `resolvedModel` | `string \| undefined` | Идентификатор модели, в который разрешается `value` этой записи, например `claude-sonnet-5-5` для записи псевдонима `sonnet`. Требуется Claude Code v2.1.197 или более поздней версии. |

5164| `displayName` | `string` | Удобочитаемое отображаемое имя |5164| `displayName` | `string` | Удобочитаемое отображаемое имя |

5165| `description` | `string` | Описание возможностей модели |5165| `description` | `string` | Описание возможностей модели |

5166| `supportsEffort` | `boolean \| undefined` | Поддерживает ли эта модель уровни усилий |5166| `supportsEffort` | `boolean \| undefined` | Поддерживает ли эта модель уровни effort |

5167| `supportedEffortLevels` | `("low" \| "medium" \| "high" \| "xhigh" \| "max")[] \| undefined` | Уровни усилий, которые принимает эта модель |5167| `supportedEffortLevels` | `("low" \| "medium" \| "high" \| "xhigh" \| "max")[] \| undefined` | Уровни effort, которые принимает эта модель |

5168| `supportsAdaptiveThinking` | `boolean \| undefined` | Поддерживает ли эта модель адаптивное мышление, где Claude решает, когда и сколько думать |5168| `supportsAdaptiveThinking` | `boolean \| undefined` | Поддерживает ли эта модель адаптивное мышление, при котором Claude решает, когда и сколько думать |

5169| `supportsFastMode` | `boolean \| undefined` | Поддерживает ли эта модель быстрый режим |5169| `supportsFastMode` | `boolean \| undefined` | Поддерживает ли эта модель быстрый режим |

5170| `supportsAutoMode` | `boolean \| undefined` | Поддерживает ли эта модель автоматический режим |5170| `supportsAutoMode` | `boolean \| undefined` | Поддерживает ли эта модель авторежим |

5171 5171 

5172<h3 id="agentinfo">5172<h3 id="agentinfo">

5173 `AgentInfo`5173 `AgentInfo`

5174</h3>5174</h3>

5175 5175 

5176Информация о доступном подагенте, который может быть вызван через tool Agent.5176Информация о доступном субагенте, который может быть вызван через инструмент Agent.

5177 5177 

5178```typescript theme={null}5178```typescript theme={null}

5179type AgentInfo = {5179type AgentInfo = {


5186| Поле | Тип | Описание |5186| Поле | Тип | Описание |

5187| :- | :- | :- |5187| :- | :- | :- |

5188| `name` | `string` | Идентификатор типа агента (например, `"Explore"`, `"general-purpose"`) |5188| `name` | `string` | Идентификатор типа агента (например, `"Explore"`, `"general-purpose"`) |

5189| `description` | `string` | Описание, когда использовать этого агента |5189| `description` | `string` | Описание того, когда использовать этого агента |

5190| `model` | `string \| undefined` | Модель, которую использует этот агент: псевдоним или идентификатор модели, или `'inherit'` для модели родителя. Когда это `undefined`, Claude Code выбирает модель в [порядке выбора модели подагента](/docs/ru/sub-agents#choose-a-model) |5190| `model` | `string \| undefined` | Модель, которую использует этот агент: псевдоним или идентификатор модели, или `'inherit'` для модели родителя. Когда значение `undefined`, Claude Code выбирает модель в [порядке выбора модели субагента](/docs/ru/sub-agents#choose-a-model) |

5191 5191 

5192<h3 id="mcpserverprovenance">5192<h3 id="mcpserverprovenance">

5193 `McpServerProvenance`5193 `McpServerProvenance`

5194</h3>5194</h3>

5195 5195 

5196MCP сервер, который обслуживает tool `mcp__*`, и источник определения этого сервера. Входные данные hook [`PreToolUse`](#pretoolusehookinput), `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` и `PermissionDenied` несут его как `mcp_server`, а опции [`CanUseTool`](#canusetool) несут его как `mcpServer`. Оба опускают его для tools, которые не поступают от MCP сервера.5196MCP-сервер, который обслуживает инструмент `mcp__*`, и источник определения этого сервера. Входные данные хуков [`PreToolUse`](#pretoolusehookinput), `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` и `PermissionDenied` содержат его как `mcp_server`, а опции [`CanUseTool`](#canusetool) содержат его как `mcpServer`. Оба опускают его для инструментов, которые не поступают от MCP-сервера.

5197 5197 

5198```typescript theme={null}5198```typescript theme={null}

5199type McpServerProvenance = {5199type McpServerProvenance = {


5205| Поле | Тип | Описание |5205| Поле | Тип | Описание |

5206| :- | :- | :- |5206| :- | :- | :- |

5207| `name` | `string` | Имя, под которым зарегистрирован сервер, то же значение, которое [`mcpServerStatus()`](#query-object) сообщает для него |5207| `name` | `string` | Имя, под которым зарегистрирован сервер, то же значение, которое [`mcpServerStatus()`](#query-object) сообщает для него |

5208| `source` | `string` | Источник определения сервера: `sdk`, `plugin` или область конфигурации |5208| `source` | `string` | Источник определения сервера: `sdk`, `plugin` или область действия конфигурации |

5209 5209 

5210`source` принимает одно из следующих значений. Набор открыт, поэтому рассматривайте значение, которое вы не узнаёте, как настроенный источник, никогда не как `sdk`:5210`source` принимает одно из следующих значений. Набор открыт, поэтому рассматривайте незнакомое значение как настроенный источник, но никогда не как `sdk`:

5211 5211 

5212* **`sdk`**: встроенный в процесс сервер, который зарегистрировало ваше приложение. Только приложение-хост SDK может зарегистрировать один, поэтому настроенный сервер никогда не сообщает `sdk`, независимо от его имени.5212* **`sdk`**: встроенный в процесс сервер, который зарегистрировало ваше приложение. Зарегистрировать такой сервер может только приложение-хост SDK, поэтому настроенный сервер никогда не сообщает `sdk`, независимо от его имени.

5213* **`plugin`**: сервер, который предоставляет [plugin](/docs/ru/agent-sdk/plugins). Его `name` это форма с областью видимости `plugin:<plugin-name>:<server-name>`, описанная в разделе [plugin-provided MCP servers](/docs/ru/mcp#plugin-provided-mcp-servers).5213* **`plugin`**: сервер, который предоставляет [плагин](/docs/ru/agent-sdk/plugins). Его `name` имеет форму с областью `plugin:<plugin-name>:<server-name>`, описанную в разделе [MCP-серверы, предоставляемые плагинами](/docs/ru/mcp#plugin-provided-mcp-servers).

5214* **Область конфигурации**: `user`, `project`, `local`, `dynamic`, `managed`, `enterprise`, `claudeai` или `agent`. Сервер `.mcp.json` сообщает `project`, и [MCP installation scopes](/docs/ru/mcp#mcp-installation-scopes) определяет `local`, `project` и `user`. Серверы, которые ваше приложение передаёт в опции [`mcpServers`](#options), кроме встроенных в процесс SDK серверов, сообщают `dynamic`.5214* **Область действия конфигурации**: `user`, `project`, `local`, `dynamic`, `managed`, `enterprise`, `claudeai` или `agent`. Сервер из `.mcp.json` сообщает `project`, а [области действия установки MCP](/docs/ru/mcp#mcp-installation-scopes) определяют `local`, `project` и `user`. Серверы, которые ваше приложение передаёт в опции [`mcpServers`](#options), кроме встроенных в процесс SDK-серверов, сообщают `dynamic`.

5215 5215 

5216Основывайте решения о доверии на `source`, а не на `name` или префиксе имени tool `mcp__<server>__`. Для любого источника, кроме `sdk`, `name` это недоверенный текст: экранируйте его перед отображением.5216Основывайте решения о доверии на `source`, а не на `name` или префиксе имени инструмента `mcp__<server>__`. Для любого источника, кроме `sdk`, `name` является недоверенным текстом: экранируйте его перед отображением.

5217 5217 

5218`McpServerProvenance` и поля, которые его несут, требуют Agent SDK v0.3.274 или позже.5218`McpServerProvenance` и поля, которые его содержат, требуют Agent SDK v0.3.274 или более поздней версии.

5219 5219 

5220<h3 id="mcpserverstatus">5220<h3 id="mcpserverstatus">

5221 `McpServerStatus`5221 `McpServerStatus`

5222</h3>5222</h3>

5223 5223 

5224Статус подключённого MCP сервера.5224Статус подключённого MCP-сервера.

5225 5225 

5226```typescript theme={null}5226```typescript theme={null}

5227type McpServerStatus = {5227type McpServerStatus = {


5248};5248};

5249```5249```

5250 5250 

5251`source` говорит, откуда поступило определение сервера, с теми же значениями и правилом доверия, что и `source` [`McpServerProvenance`](#mcpserverprovenance). Поле требует Agent SDK v0.3.274 или позже и отсутствует в более ранних версиях.5251`source` указывает, откуда поступило определение сервера, с теми же значениями и правилом доверия, что и `source` в [`McpServerProvenance`](#mcpserverprovenance). Поле требует Agent SDK v0.3.274 или более поздней версии и отсутствует в более ранних версиях.

5252 5252 

5253`_meta` на записи `tools` содержит членов MCP Apps этого tool `_meta`, поэтому ваше приложение может найти ресурс `ui://` для отображения с помощью [`readMcpResource()`](#query-object). Claude Code пропускает объект `ui` и устаревшую плоскую строку `ui/resourceUri`, и скрывает каждый другой ключ. Внутри `ui`, `resourceUri` это строка `ui://` и `visibility` массив `"model"` и `"app"` когда сервер их устанавливает, и любой другой член пропускается без изменений. Claude Code отбрасывает любой ключ, когда значение неправильно сформировано, и опускает `_meta` из tool, который не объявляет ни один. Поле присутствует только когда [`capabilities`](#sdksystemmessage) инициализирующего сообщения включают `mcp_tool_ui_meta_v1`, и требует TypeScript Agent SDK v0.3.280 или позже.5253`_meta` в записи `tools` содержит члены MCP Apps из `_meta` этого инструмента, чтобы ваше приложение могло найти ресурс `ui://` для отображения с помощью [`readMcpResource()`](#query-object). Claude Code пропускает объект `ui` и устаревшую плоскую строку `ui/resourceUri` и скрывает все остальные ключи. Внутри `ui` значение `resourceUri` является строкой `ui://`, а `visibility` — массивом из `"model"` и `"app"`, когда сервер их устанавливает, а любой другой член пропускается без изменений. Claude Code отбрасывает любой из этих ключей, если значение имеет неверный формат, и опускает `_meta` у инструмента, который не объявляет ни один из них. Поле присутствует, только когда [`capabilities`](#sdksystemmessage) инициализирующего сообщения включают `mcp_tool_ui_meta_v1`, и требует TypeScript Agent SDK v0.3.280 или более поздней версии.

5254 5254 

5255<h3 id="mcpserverstatusconfig">5255<h3 id="mcpserverstatusconfig">

5256 `McpServerStatusConfig`5256 `McpServerStatusConfig`

5257</h3>5257</h3>

5258 5258 

5259Конфигурация MCP сервера, как сообщается `mcpServerStatus()`. Это объединение всех типов транспорта MCP сервера.5259Конфигурация MCP-сервера в том виде, в каком её сообщает `mcpServerStatus()`. Это объединение всех типов транспорта MCP-сервера.

5260 5260 

5261```typescript theme={null}5261```typescript theme={null}

5262type McpServerStatusConfig =5262type McpServerStatusConfig =


5273 `AccountInfo`5273 `AccountInfo`

5274</h3>5274</h3>

5275 5275 

5276Информация об учётной записи для аутентифицированного пользователя.5276Информация об учётной записи аутентифицированного пользователя.

5277 5277 

5278```typescript theme={null}5278```typescript theme={null}

5279type AccountInfo = {5279type AccountInfo = {


5289 `ModelUsage`5289 `ModelUsage`

5290</h3>5290</h3>

5291 5291 

5292Статистика использования для каждой модели, возвращаемая в сообщениях результата. Значение `costUSD` это оценка на стороне клиента. См. [Отслеживание стоимости и использования](/docs/ru/agent-sdk/cost-tracking) для предостережений выставления счётов.5292Статистика использования для каждой модели, возвращаемая в сообщениях результата. Значение `costUSD` — это оценка на стороне клиента. См. [Отслеживание стоимости и использования](/docs/ru/agent-sdk/cost-tracking) для оговорок о биллинге.

5293 5293 

5294```typescript theme={null}5294```typescript theme={null}

5295type ModelUsage = {5295type ModelUsage = {


5308};5308};

5309```5309```

5310 5310 

5311`thinkingTokens` подсчитывает токены мышления, которые сгенерировала эта модель. `outputTokens` уже включает их, поэтому не складывайте эти два значения вместе. Поле отсутствует до тех пор, пока ход не запустится на версии Claude Code, которая его записывает, поэтому возобновлённая сессия, которая началась на более ранней версии, сообщает частичный подсчёт. `thinkingTokens` требует Agent SDK v0.3.257 или позже.5311`thinkingTokens` подсчитывает токены размышлений, которые сгенерировала эта модель. `outputTokens` уже включает их, поэтому не складывайте эти два значения. Поле отсутствует до тех пор, пока ход не выполнится на версии Claude Code, которая его записывает, поэтому возобновлённая сессия, начатая на более ранней версии, сообщает частичный подсчёт. `thinkingTokens` требует Agent SDK v0.3.257 или более поздней версии.

5312 5312 

5313Поля `canonicalModel` и `provider` требуют Claude Code v2.1.218 или позже. `canonicalModel` это канонический идентификатор модели, который используется для поиска цены; он может отличаться от исходной строки модели, которая является ключом записи, например, когда эта строка это идентификатор провайдера или псевдоним.5313Поля `canonicalModel` и `provider` требуют Claude Code v2.1.218 или более поздней версии. `canonicalModel` — это канонический идентификатор модели, который используется для поиска цены; он может отличаться от исходной строки модели, которая является ключом записи, например когда эта строка является идентификатором конкретного провайдера или псевдонимом.

5314 5314 

5315`provider` называет API бэкенд, который обслуживал модель, такой как `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` или `gateway`.5315`provider` называет API-бэкенд, который обслуживал модель, например `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` или `gateway`.

5316 5316 

5317`costBasis` называет таблицу цен, которая установила цену на последний запрос модели: `list` для цены списка, `managed` для таблицы [`modelPricing`](/docs/ru/settings-reference#modelpricing) или `unknown`, когда ни одна не совпала с идентификатором модели. Поле требует Claude Code v2.1.246 или позже.5317`costBasis` называет таблицу цен, по которой был оценён последний запрос модели: `list` для прейскурантной цены, `managed` для таблицы [`modelPricing`](/docs/ru/settings-reference#modelpricing) или `unknown`, когда ни одна из них не совпала с идентификатором модели. Поле требует Claude Code v2.1.246 или более поздней версии.

5318 5318 

5319<h3 id="configscope">5319<h3 id="configscope">

5320 `ConfigScope`5320 `ConfigScope`


5328 `NonNullableUsage`5328 `NonNullableUsage`

5329</h3>5329</h3>

5330 5330 

5331Версия [`Usage`](#usage) со всеми nullable полями, сделанными non-nullable.5331Версия [`Usage`](#usage), в которой все nullable поля сделаны non-nullable.

5332 5332 

5333```typescript theme={null}5333```typescript theme={null}

5334type NonNullableUsage = {5334type NonNullableUsage = {


5363 5363 

5364`BetaServerToolUsage`, `BetaIterationsUsage` и `BetaOutputTokensDetails` определены в `@anthropic-ai/sdk`.5364`BetaServerToolUsage`, `BetaIterationsUsage` и `BetaOutputTokensDetails` определены в `@anthropic-ai/sdk`.

5365 5365 

5366`output_tokens_details` разбивает выставленный счёт по категориям. В настоящее время он содержит одно поле, `thinking_tokens: number`, подсчитывающее выходные токены, которые модель сгенерировала как внутреннее рассуждение, включая разделители блока мышления. Поле `output_tokens_details` требует TypeScript SDK v0.3.228 или позже, который поставляется с Claude Code v2.1.228.5366`output_tokens_details` разбивает тарифицируемый вывод по категориям. В настоящее время он содержит одно поле, `thinking_tokens: number`, подсчитывающее выходные токены, которые модель сгенерировала как внутренние рассуждения, включая разделители блоков размышлений. Поле `output_tokens_details` требует TypeScript SDK v0.3.228 или более поздней версии, которая поставляется с Claude Code v2.1.228.

5367 5367 

5368* **Выставление счётов**: читайте разбивку для наблюдаемости, а не для выставления счётов. `output_tokens` остаётся авторитетным итогом, и `output_tokens - thinking_tokens` приблизительно соответствует выходу без рассуждений.5368* **Биллинг**: используйте разбивку для наблюдаемости, а не для биллинга. `output_tokens` остаётся авторитетным итогом, а `output_tokens - thinking_tokens` приблизительно соответствует выводу без рассуждений.

5369* **Что подсчитывает**: исходное рассуждение, которое произвела модель, которое может быть длиннее текста мышления, возвращённого в теле ответа. API вычисляет его путём повторной токенизации этого исходного текста, поэтому он может отличаться от точного подсчёта генерации модели на несколько токенов.5369* **Что охватывает подсчёт**: исходные рассуждения, которые произвела модель и которые могут быть длиннее текста размышлений, возвращённого в теле ответа. API вычисляет его путём повторной токенизации этого исходного текста, поэтому он может отличаться от точного числа сгенерированных моделью токенов на несколько токенов.

5370* **Потоковая передача**: на потоковых сообщениях ассистента эта разбивка, как и `output_tokens`, это заполнитель `message_start` и не содержит реального подсчёта, поэтому читайте её из сообщения результата `usage` как [Читайте выходные токены из сообщения результата](/docs/ru/agent-sdk/cost-tracking#read-output-tokens-from-the-result-message) описывает. На сообщении результата `thinking_tokens` читает `0`, когда модель или провайдер не сообщает разбивку.5370* **Потоковая передача**: в потоковых сообщениях ассистента эта разбивка, как и `output_tokens`, является заполнителем `message_start` и не содержит реального подсчёта, поэтому читайте её из `usage` сообщения результата, как описано в разделе [Чтение выходных токенов из сообщения результата](/docs/ru/agent-sdk/cost-tracking#read-output-tokens-from-the-result-message). В сообщении результата `thinking_tokens` имеет значение `0`, когда модель или провайдер не сообщает разбивку.

5371* **Случаи `null`**: `output_tokens_details` сам по себе это `null` на сообщениях ассистента, которые Claude Code синтезирует, такие как сообщения об ошибках API.5371* **Случаи `null`**: сам `output_tokens_details` имеет значение `null` в сообщениях ассистента, которые синтезирует Claude Code, например в сообщениях об ошибках API.

5372 5372 

5373<h3 id="calltoolresult">5373<h3 id="calltoolresult">

5374 `CallToolResult`5374 `CallToolResult`

5375</h3>5375</h3>

5376 5376 

5377Тип результата MCP tool (из `@modelcontextprotocol/sdk/types.js`). `structuredContent` это объект JSON, который может быть возвращён вместе с `content`, включая блоки изображений. См. [Возврат структурированных данных](/docs/ru/agent-sdk/custom-tools#return-structured-data).5377Тип результата MCP-инструмента (из `@modelcontextprotocol/sdk/types.js`). `structuredContent` — это объект JSON, который может быть возвращён вместе с `content`, включая блоки изображений. См. [Возврат структурированных данных](/docs/ru/agent-sdk/custom-tools#return-structured-data).

5378 5378 

5379```typescript theme={null}5379```typescript theme={null}

5380type CallToolResult = {5380type CallToolResult = {


5391 `SDKMcpResourceLink`5391 `SDKMcpResourceLink`

5392</h3>5392</h3>

5393 5393 

5394Один файл, который MCP tool вернул по ссылке. Claude Code создаёт каждую запись из блока `resource_link` в результате tool и доставляет список как `resourceLinks` на [`SDKUserMessage.tool_use_result`](#sdkusermessage) или как `resource_links` на [`SDKTaskNotificationMessage`](#sdktasknotificationmessage), когда вызов завершился в фоне. Требует Agent SDK v0.3.257 или позже.5394Один файл, который MCP-инструмент вернул по ссылке. Claude Code создаёт каждую запись из блока `resource_link` в результате инструмента и доставляет список как `resourceLinks` в [`SDKUserMessage.tool_use_result`](#sdkusermessage) или как `resource_links` в [`SDKTaskNotificationMessage`](#sdktasknotificationmessage), когда вызов завершился в фоне. Требует Agent SDK v0.3.257 или более поздней версии.

5395 5395 

5396```typescript theme={null}5396```typescript theme={null}

5397type SDKMcpResourceLink = {5397type SDKMcpResourceLink = {


5405};5405};

5406```5406```

5407 5407 

5408Claude Code отбрасывает блок, чей `uri` или `name` не является строкой, и опускает опциональное поле, чьё значение не соответствует указанному типу.5408Claude Code отбрасывает блок, у которого `uri` или `name` не является строкой, и опускает необязательное поле, значение которого не соответствует указанному типу.

5409 5409 

5410| Поле | Тип | Описание |5410| Поле | Тип | Описание |

5411| :- | :- | :- |5411| :- | :- | :- |

5412| `uri` | `string` | URI ресурса, как его вернул сервер |5412| `uri` | `string` | URI ресурса в том виде, в каком его вернул сервер |

5413| `name` | `string` | Имя, которое сервер дал ресурсу |5413| `name` | `string` | Имя, которое сервер дал ресурсу |

5414| `title` | `string \| undefined` | Отображаемое название, когда сервер его установил |5414| `title` | `string \| undefined` | Отображаемое название, если сервер его установил |

5415| `description` | `string \| undefined` | Описание, когда сервер его установил |5415| `description` | `string \| undefined` | Описание, если сервер его установил |

5416| `mimeType` | `string \| undefined` | MIME тип, когда сервер его установил |5416| `mimeType` | `string \| undefined` | MIME-тип, если сервер его установил |

5417| `size` | `number \| undefined` | Размер в байтах, когда сервер его установил |5417| `size` | `number \| undefined` | Размер в байтах, если сервер его установил |

5418| `annotations` | `Record<string, unknown> \| undefined` | Объект MCP аннотаций блока, когда сервер его установил |5418| `annotations` | `Record<string, unknown> \| undefined` | Объект MCP-аннотаций блока, если сервер его установил |

5419 5419 

5420<h3 id="thinkingconfig">5420<h3 id="thinkingconfig">

5421 `ThinkingConfig`5421 `ThinkingConfig`

5422</h3>5422</h3>

5423 5423 

5424Контролирует поведение мышления/рассуждения Claude. Имеет приоритет над устаревшим `maxThinkingTokens`.5424Управляет поведением мышления/рассуждений Claude. Имеет приоритет над устаревшим `maxThinkingTokens`.

5425 5425 

5426```typescript theme={null}5426```typescript theme={null}

5427type ThinkingDisplay = "summarized" | "omitted";5427type ThinkingDisplay = "summarized" | "omitted";


5432 | { type: "disabled" }; // Без расширенного мышления5432 | { type: "disabled" }; // Без расширенного мышления

5433```5433```

5434 5434 

5435Опциональное поле `display` контролирует, возвращается ли текст мышления `"summarized"` или `"omitted"`. На Claude Opus 4.7 и позже, значение по умолчанию API это `"omitted"`, поэтому установите `"summarized"` для получения содержимого мышления в блоках `thinking`. Claude Code не отправляет `display` на Amazon Bedrock или Google Cloud's Agent Platform, поэтому на этих провайдерах Opus 4.7 и позже возвращают пустые блоки `thinking` даже когда вы установите `display` на `"summarized"`.5435Необязательное поле `display` управляет тем, возвращается ли текст размышлений как `"summarized"` или `"omitted"`. На Claude Opus 4.7 и более поздних версиях значение API по умолчанию — `"omitted"`, поэтому установите `"summarized"`, чтобы получать содержимое размышлений в блоках `thinking`. Claude Code не отправляет `display` в Amazon Bedrock или Google Cloud's Agent Platform, поэтому у этих провайдеров Opus 4.7 и более поздние версии возвращают пустые блоки `thinking`, даже если вы установите `display` в `"summarized"`.

5436 5436 

5437<h3 id="spawnedprocess">5437<h3 id="spawnedprocess">

5438 `SpawnedProcess`5438 `SpawnedProcess`


5482```5482```

5483 5483 

5484<Note>5484<Note>

5485 Поле `signal` сообщает вашей функции spawn, когда нужно разобрать процесс. Передайте его как опцию `signal` в `spawn()` Node, или передайте его обработчику разборки вашей VM или контейнера.5485 Поле `signal` сообщает вашей функции spawn, когда нужно завершить процесс. Передайте его как опцию `signal` в `spawn()` Node или передайте его обработчику завершения вашей VM или контейнера.

5486 5486 

5487 Этот сигнал не срабатывает в момент отмены [`Options.abortController`](#options). SDK сначала закрывает stdin процесса и ждёт около двух секунд, чтобы CLI мог корректно завершить работу, затем отменяет этот сигнал. Чтобы реагировать в момент отмены вызывающей стороной, слушайте на вашем собственном `Options.abortController.signal`, на который может ссылаться ваша функция spawn из её охватывающей области.5487 Этот сигнал не срабатывает в тот же момент, когда отменяется [`Options.abortController`](#options). SDK сначала закрывает stdin процесса и ждёт около двух секунд, чтобы CLI мог корректно завершить работу, а затем отменяет этот сигнал. Чтобы реагировать сразу в момент отмены вызывающей стороной, слушайте собственный `Options.abortController.signal`, на который ваша функция spawn может ссылаться из охватывающей области видимости.

5488</Note>5488</Note>

5489 5489 

5490<h3 id="mcpsetserversresult">5490<h3 id="mcpsetserversresult">


5501};5501};

5502```5502```

5503 5503 

5504Когда вы вызываете `setMcpServers()`, Claude Code применяет эти правила:5504Когда вы вызываете `setMcpServers()`, Claude Code применяет следующие правила:

5505 5505 

5506* **Серверы, которые вызов не называет**: Claude Code держит серверы, предоставленные плагинами, работающими. Требует Agent SDK v0.3.210 или позже.5506* **Серверы, которые вызов не называет**: Claude Code оставляет серверы, предоставленные плагинами, работающими. Требует Agent SDK v0.3.210 или более поздней версии.

5507* **Серверы, которые вызов называет**: за исключением встроенных серверов, которые CLI запустил при запуске, Claude Code заменяет работающий сервер только когда его конфигурация отличается от переданной вами.5507* **Серверы, которые вызов называет**: за исключением встроенных серверов, которые CLI запустил при старте, Claude Code заменяет работающий сервер, только если его конфигурация отличается от переданной вами.

5508* **Встроенные серверы, которые CLI запустил при запуске**: если вызов называет один, Claude Code отбрасывает эту запись и сообщает её в `errors`.5508* **Встроенные серверы, которые CLI запустил при старте**: если вызов называет такой сервер, Claude Code отбрасывает эту запись и сообщает о ней в `errors`.

5509 5509 

5510Обещание разрешается после того, как вновь добавленные stdio, HTTP и SSE серверы подключатся или не смогут подключиться, поэтому tools из серверов, которые подключились, доступны на следующем ходу.5510Промис разрешается после того, как вновь добавленные stdio-, HTTP- и SSE-серверы подключатся или не смогут подключиться, поэтому инструменты подключившихся серверов доступны на следующем ходу.

5511 5511 

5512`added` перечисляет серверы, которые Claude Code добавил или заменил, подключились они или нет. Сервер, который не смог подключиться, появляется как в `added`, так и в `errors`, с текстом ошибки под `errors` и строкой `failed` в [`mcpServerStatus()`](#methods). До Claude Code v2.1.257 сервер, попытка подключения которого выбросила исключение, сообщался только под `errors`.5512`added` перечисляет серверы, которые Claude Code добавил или заменил, независимо от того, подключились они или нет. Сервер, который не смог подключиться, появляется и в `added`, и в `errors`, с текстом ошибки в `errors` и строкой `failed` в [`mcpServerStatus()`](#methods). До Claude Code v2.1.257 сервер, попытка подключения которого выбросила исключение, сообщался только в `errors`.

5513 5513 

5514<h3 id="rewindfilesresult">5514<h3 id="rewindfilesresult">

5515 `RewindFilesResult`5515 `RewindFilesResult`


5528};5528};

5529```5529```

5530 5530 

5531`skippedLinks` подсчитывает отслеживаемые пути, которые перемотка отказалась восстанавливать или удалять для безопасности ссылок: символическая ссылка, жёсткая ссылка или другой не обычный файл по отслеживаемому пути, родительский каталог, который больше не разрешается туда, где он указывал при создании контрольной точки, или резервная копия, которая не могла быть прочитана безопасно. Поле требует Claude Code v2.1.216 или позже. Предварительный вызов с `rewindFiles(userMessageId, { dryRun: true })` никогда его не устанавливает.5531`skippedLinks` подсчитывает отслеживаемые пути, которые перемотка отказалась восстанавливать или удалять ради безопасности ссылок: символическая ссылка, жёсткая ссылка или другой необычный файл по отслеживаемому пути, родительский каталог, который больше не разрешается туда, куда он указывал при создании контрольной точки, или резервная копия, которую не удалось безопасно прочитать. Поле требует Claude Code v2.1.216 или более поздней версии. Предварительный вызов с `rewindFiles(userMessageId, { dryRun: true })` никогда его не устанавливает.

5532 5532 

5533<h3 id="sdkstatusmessage">5533<h3 id="sdkstatusmessage">

5534 `SDKStatusMessage`5534 `SDKStatusMessage`

5535</h3>5535</h3>

5536 5536 

5537Сообщение обновления статуса (например, компактирование).5537Сообщение об обновлении статуса (например, компактирование).

5538 5538 

5539```typescript theme={null}5539```typescript theme={null}

5540type SDKStatusMessage = {5540type SDKStatusMessage = {


5551 `SDKTaskNotificationMessage`5551 `SDKTaskNotificationMessage`

5552</h3>5552</h3>

5553 5553 

5554Уведомление, когда фоновая задача завершается, не работает или остановлена. Фоновые задачи включают команды Bash `run_in_background`, наблюдения [Monitor](#monitor) и фоновые подагенты. Для поля `ambient` см. [`SDKTaskStartedMessage`](#sdktaskstartedmessage), которое его определяет и его требование версии.5554Уведомление о том, что фоновая задача завершилась, завершилась с ошибкой или была остановлена. Фоновые задачи включают команды Bash с `run_in_background`, наблюдения [Monitor](#monitor) и фоновых субагентов. Описание поля `ambient` и требование к версии для него см. в [`SDKTaskStartedMessage`](#sdktaskstartedmessage).

5555 5555 

5556```typescript theme={null}5556```typescript theme={null}

5557type SDKTaskNotificationMessage = {5557type SDKTaskNotificationMessage = {


5574};5574};

5575```5575```

5576 5576 

5577Когда Claude Code [перемещает долгий вызов MCP tool в фоновый режим](/docs/ru/mcp#automatic-backgrounding-of-long-tool-calls), блок `tool_result` для этого вызова содержит только заполнитель и реальный результат вызова приходит в этом уведомлении. Сопоставьте уведомление с вызовом с помощью `tool_use_id`. На уведомлении `completed`, `resource_links` перечисляет файлы, которые tool вернул по ссылке как записи [`SDKMcpResourceLink`](#sdkmcpresourcelink), с теми же ограничениями 50-ссылок и 64 KiB, что и [`tool_use_result.resourceLinks`](#sdkusermessage). Claude Code опускает `resource_links`, когда результат не имел ссылок и на уведомлениях для задач, которые не являются вызовами MCP tool. `resource_links` требует Agent SDK v0.3.257 или позже.5577Когда Claude Code [переводит долгий вызов MCP-инструмента в фоновый режим](/docs/ru/mcp#automatic-backgrounding-of-long-tool-calls), блок `tool_result` для этого вызова содержит только заполнитель, а реальный результат вызова приходит в этом уведомлении. Сопоставьте уведомление с вызовом с помощью `tool_use_id`. В уведомлении `completed` поле `resource_links` перечисляет файлы, которые инструмент вернул по ссылке, как записи [`SDKMcpResourceLink`](#sdkmcpresourcelink), с теми же ограничениями в 50 ссылок и 64 KiB, что и у [`tool_use_result.resourceLinks`](#sdkusermessage). Claude Code опускает `resource_links`, когда в результате не было ссылок, а также в уведомлениях для задач, которые не являются вызовами MCP-инструментов. `resource_links` требует Agent SDK v0.3.257 или более поздней версии.

5578 5578 

5579Claude Code добавляет уведомление к каждому уведомлению задачи, которое он отправляет модели, за исключением доставок с меткой подвида [`scheduled-trigger`](#task-notification-subkinds), которые несут вместо этого фреймворк назначенной задачи. Уведомление указывает, что не произошло никакого взаимодействия с человеком, поэтому модель не рассматривает уведомление как инструкцию пользователя или одобрение.5579Claude Code добавляет пометку в начало каждого уведомления задачи, которое он отправляет модели, за исключением доставок, помеченных [подвидом `scheduled-trigger`](#task-notification-subkinds), которые вместо этого оформлены как назначенная задача. Пометка указывает, что никакого ввода от человека не было, поэтому модель не воспринимает уведомление как инструкцию или подтверждение пользователя.

5580 5580 

5581Чтобы обнаружить ход уведомления задачи, проверьте `origin.kind === "task-notification"` на [`SDKUserMessage`](#sdkusermessage) или [`SDKResultMessage`](#sdkresultmessage) вместо сопоставления текста уведомления. Читайте `subkind` из того же поля, если вам нужно знать, что его вызвало. До v2.1.205 Claude Code оставлял уведомление на уведомлениях, которые приходили, пока сессия была неактивна.5581Чтобы обнаружить ход с уведомлением задачи, проверяйте `origin.kind === "task-notification"` в [`SDKUserMessage`](#sdkusermessage) или [`SDKResultMessage`](#sdkresultmessage), а не сопоставляйте текст пометки. Читайте `subkind` из того же поля, если вам нужно знать, что вызвало уведомление. До v2.1.205 Claude Code не добавлял пометку к уведомлениям, которые приходили, пока сессия была неактивна.

5582 5582 

5583<h3 id="sdktoolusesummarymessage">5583<h3 id="sdktoolusesummarymessage">

5584 `SDKToolUseSummaryMessage`5584 `SDKToolUseSummaryMessage`

5585</h3>5585</h3>

5586 5586 

5587Резюме использования tool в диалоге.5587Сводка использования инструментов в диалоге.

5588 5588 

5589```typescript theme={null}5589```typescript theme={null}

5590type SDKToolUseSummaryMessage = {5590type SDKToolUseSummaryMessage = {


5600 `SDKHookStartedMessage`5600 `SDKHookStartedMessage`

5601</h3>5601</h3>

5602 5602 

5603Выдаётся, когда hook начинает выполняться.5603Выдаётся, когда хук начинает выполняться.

5604 5604 

5605Claude Code доставляет это сообщение, [`SDKHookProgressMessage`](#sdkhookprogressmessage) и [`SDKHookResponseMessage`](#sdkhookresponsemessage) в поток сообщений немедленно, включая во время выполнения hook `SessionStart` или `Setup` во время запуска сессии. Claude Code v2.1.169 через v2.1.203 доставляли эти сообщения в одном пакете после завершения hook `SessionStart` или `Setup`; v2.1.204 восстановил живую доставку.5605Claude Code доставляет это сообщение, [`SDKHookProgressMessage`](#sdkhookprogressmessage) и [`SDKHookResponseMessage`](#sdkhookresponsemessage) в поток сообщений немедленно, в том числе пока хук `SessionStart` или `Setup` ещё выполняется во время запуска сессии. Claude Code с v2.1.169 по v2.1.203 доставлял эти сообщения одним пакетом после завершения хука `SessionStart` или `Setup`; v2.1.204 восстановил доставку в реальном времени.

5606 5606 

5607```typescript theme={null}5607```typescript theme={null}

5608type SDKHookStartedMessage = {5608type SDKHookStartedMessage = {


5620 `SDKHookProgressMessage`5620 `SDKHookProgressMessage`

5621</h3>5621</h3>

5622 5622 

5623Выдаётся во время выполнения hook с выводом stdout/stderr.5623Выдаётся во время выполнения хука с выводом stdout/stderr.

5624 5624 

5625```typescript theme={null}5625```typescript theme={null}

5626type SDKHookProgressMessage = {5626type SDKHookProgressMessage = {


5641 `SDKHookResponseMessage`5641 `SDKHookResponseMessage`

5642</h3>5642</h3>

5643 5643 

5644Выдаётся, когда hook завершает выполнение.5644Выдаётся, когда хук завершает выполнение.

5645 5645 

5646```typescript theme={null}5646```typescript theme={null}

5647type SDKHookResponseMessage = {5647type SDKHookResponseMessage = {


5664 `SDKToolProgressMessage`5664 `SDKToolProgressMessage`

5665</h3>5665</h3>

5666 5666 

5667Выдаётся периодически во время выполнения tool для указания прогресса.5667Выдаётся периодически во время выполнения инструмента для отображения прогресса.

5668 5668 

5669```typescript theme={null}5669```typescript theme={null}

5670type SDKToolProgressMessage = {5670type SDKToolProgressMessage = {


5689};5689};

5690```5690```

5691 5691 

5692Пока вызов tool выполняется в основном диалоге, Claude Code выдаёт сообщение `tool_progress` каждые 30 секунд с `heartbeat: true`. Каждый heartbeat содержит имя tool и прошедшие секунды, поэтому вы можете отличить долгоживущий вызов от зависшей сессии. Claude Code не выдаёт heartbeats для вызовов tool внутри подагента. Поле `heartbeat` требует Agent SDK v0.3.214 или позже. До v2.1.257 Claude Code не выдавал heartbeats для вызова Agent tool на переднем плане либо.5692Пока вызов инструмента выполняется в основном диалоге, Claude Code выдаёт сообщение `tool_progress` каждые 30 секунд с `heartbeat: true`. Каждый heartbeat содержит имя инструмента и прошедшее время в секундах, поэтому вы можете отличить долго выполняющийся вызов от зависшей сессии. Claude Code не выдаёт heartbeat для вызовов инструментов внутри субагента. Поле `heartbeat` требует Agent SDK v0.3.214 или более поздней версии. До v2.1.257 Claude Code также не выдавал heartbeat для вызова инструмента Agent на переднем плане.

5693 5693 

5694На сообщениях `tool_progress` для tool Agent, кроме heartbeats, `subagent_type` называет работающий тип подагента, такой как `general-purpose`. `subagent_retry` присутствует, пока этот подагент ждёт отката ошибки API, такой как ограничение скорости или перегрузка, с одним сообщением на попытку повтора. Оба поля требуют Agent SDK v0.3.214 или позже.5694В сообщениях `tool_progress` для инструмента Agent, кроме heartbeat, `subagent_type` называет тип выполняющегося субагента, например `general-purpose`. `subagent_retry` присутствует, пока этот субагент выжидает паузу после ошибки API, такой как ограничение частоты запросов или перегрузка, с одним сообщением на каждую повторную попытку. Оба поля требуют Agent SDK v0.3.214 или более поздней версии.

5695 5695 

5696Чтобы отобразить индикатор повтора из `subagent_retry`:5696Чтобы отобразить индикатор повторной попытки из `subagent_retry`:

5697 5697 

5698* Отслеживайте индикатор по `parent_tool_use_id`, который уникален для каждого подагента. `tool_use_id` совместно используется параллельными подагентами из одного хода ассистента, поэтому отслеживание по нему позволило бы обновлению одного подагента очистить индикатор другого.5698* Отслеживайте индикатор по `parent_tool_use_id`, который уникален для каждого субагента. `tool_use_id` общий для параллельных субагентов из одного хода ассистента, поэтому при отслеживании по нему обновление одного субагента могло бы сбросить индикатор другого.

5699* Очистите индикатор, когда позже приходит `tool_progress` для того же `parent_tool_use_id` без `subagent_retry` и без `heartbeat: true`, или когда приходит сообщение результата tool. Кадры с `heartbeat: true` сообщают только о живости, поэтому сохраняйте индикатор, когда один приходит. `attempt` может превышать `max_retries` при постоянном повторе, поэтому не выводите очистку из счётчиков.5699* Сбрасывайте индикатор, когда для того же `parent_tool_use_id` приходит более поздний `tool_progress` без `subagent_retry` и без `heartbeat: true`, или когда приходит сообщение с результатом инструмента. Кадры с `heartbeat: true` сообщают только о том, что процесс жив, поэтому при их получении сохраняйте индикатор. `attempt` может превышать `max_retries` при постоянных повторных попытках, поэтому не определяйте момент сброса по счётчикам.

5700* Рассматривайте `error_category` как токен для выбора вашего собственного текста сообщения, а не как текст отображения. Значения это `rate_limit`, `overloaded`, `authentication_failed`, `server_error`, `cloud_credential_error` и `unknown`. Обрабатывайте значение, которое вы не узнаёте, так же, как вы обрабатываете `unknown`, потому что более поздние выпуски могут добавлять значения.5700* Рассматривайте `error_category` как токен для выбора собственного текста сообщения, а не как текст для отображения. Возможные значения: `rate_limit`, `overloaded`, `authentication_failed`, `server_error`, `cloud_credential_error` и `unknown`. Обрабатывайте незнакомое значение так же, как `unknown`, поскольку в более поздних выпусках могут появиться новые значения.

5701 5701 

5702<h3 id="sdkauthstatusmessage">5702<h3 id="sdkauthstatusmessage">

5703 `SDKAuthStatusMessage`5703 `SDKAuthStatusMessage`

5704</h3>5704</h3>

5705 5705 

5706Выдаётся во время потоков аутентификации.5706Выдаётся во время процессов аутентификации.

5707 5707 

5708```typescript theme={null}5708```typescript theme={null}

5709type SDKAuthStatusMessage = {5709type SDKAuthStatusMessage = {


5720 `SDKTaskStartedMessage`5720 `SDKTaskStartedMessage`

5721</h3>5721</h3>

5722 5722 

5723Выдаётся, когда задача начинается. Поле `task_type` это `"local_bash"` для команд Bash и наблюдений [Monitor](#monitor), `"local_agent"` для подагентов или `"remote_agent"`.5723Выдаётся, когда задача начинается. Поле `task_type` имеет значение `"local_bash"` для команд Bash и наблюдений [Monitor](#monitor), `"local_agent"` для субагентов или `"remote_agent"`.

5724 5724 

5725```typescript theme={null}5725```typescript theme={null}

5726type SDKTaskStartedMessage = {5726type SDKTaskStartedMessage = {


5738};5738};

5739```5739```

5740 5740 

5741`ambient` это `true` для задач, которые не являются частью работы сессии, такие как задачи, которые Claude Code запускает для своей собственной работы. Наблюдатели живого обновления также являются ambient, включая наблюдателей, которых попросил пользователь. Исключите ambient задачи из индикаторов активности. Поле требует Agent SDK v0.3.247 или позже.5741`ambient` имеет значение `true` для задач, которые не являются частью работы сессии, например задач, которые Claude Code запускает для собственной работы. Наблюдатели живых обновлений также являются ambient, включая наблюдателей, запрошенных пользователем. Исключайте ambient-задачи из индикаторов активности. Поле требует Agent SDK v0.3.247 или более поздней версии.

5742 5742 

5743`ambient` также появляется на [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) и на записях [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).5743`ambient` также присутствует в [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) и в записях [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).

5744 5744 

5745`is_backgrounded` и `spawn_depth` описывают, как Claude Code запустил задачу. Оба поля требуют Agent SDK v0.3.238 или позже.5745`is_backgrounded` и `spawn_depth` описывают, как Claude Code запустил задачу. Оба поля требуют Agent SDK v0.3.238 или более поздней версии.

5746 5746 

5747* `is_backgrounded`: Claude Code устанавливает его на задачах `"local_agent"` и `"local_bash"`. `true` означает, что задача выполняется в фоне. `false` означает, что задача выполняется на переднем плане, и вызов tool, который её запустил, остаётся заблокированным до тех пор, пока задача не завершится или не переместится в фоновый режим.5747* `is_backgrounded`: Claude Code устанавливает его для задач `"local_agent"` и `"local_bash"`. `true` означает, что задача выполняется в фоне. `false` означает, что задача выполняется на переднем плане, и вызов инструмента, который её запустил, остаётся заблокированным, пока задача не завершится или не перейдёт в фоновый режим.

5748* `spawn_depth`: Claude Code устанавливает его только на задачах `"local_agent"`. Подагент, который основной поток запустил, имеет глубину `1`. Подагент, который подагент глубины `1` запустил, имеет глубину `2`, и так далее.5748* `spawn_depth`: Claude Code устанавливает его только для задач `"local_agent"`. Субагент, запущенный основным потоком, имеет глубину `1`. Субагент, запущенный субагентом глубины `1`, имеет глубину `2`, и так далее.

5749 5749 

5750[Возобновлённый подагент](/docs/ru/agent-sdk/subagents#resume-subagents) всегда сообщает `is_backgrounded: true`, потому что Claude Code запускает каждый возобновлённый подагент в фоне. Когда задача на переднем плане позже переместится в фоновый режим, Claude Code сообщает новое значение `is_backgrounded` в сообщении [`task_updated`](#sdktaskupdatedmessage) вместо отправки второго `task_started`.5750[Возобновлённый субагент](/docs/ru/agent-sdk/subagents#resume-subagents) всегда сообщает `is_backgrounded: true`, потому что Claude Code запускает каждого возобновлённого субагента в фоне. Когда задача на переднем плане позже переходит в фоновый режим, Claude Code сообщает новое значение `is_backgrounded` в сообщении [`task_updated`](#sdktaskupdatedmessage), а не отправляет второй `task_started`.

5751 5751 

5752<h3 id="sdktaskprogressmessage">5752<h3 id="sdktaskprogressmessage">

5753 `SDKTaskProgressMessage`5753 `SDKTaskProgressMessage`

5754</h3>5754</h3>

5755 5755 

5756Выдаётся периодически во время выполнения подагента или фоновой задачи.5756Выдаётся периодически во время выполнения субагента или фоновой задачи.

5757 5757 

5758Для задачи подагента поле `summary` содержит сгенерированное моделью резюме прогресса и заполняется только когда включён [`agentProgressSummaries`](#options). Для [фоновой задачи вызова MCP tool](/docs/ru/mcp#automatic-backgrounding-of-long-tool-calls), `summary` содержит последний сообщённый прогресс MCP сервера и не зависит от этой опции.5758Для задачи субагента поле `summary` содержит сгенерированную моделью сводку прогресса и заполняется, только когда включён [`agentProgressSummaries`](#options). Для [вызова MCP-инструмента, переведённого в фоновый режим](/docs/ru/mcp#automatic-backgrounding-of-long-tool-calls), `summary` содержит последний прогресс, сообщённый MCP-сервером, и не зависит от этой опции.

5759 5759 

5760```typescript theme={null}5760```typescript theme={null}

5761type SDKTaskProgressMessage = {5761type SDKTaskProgressMessage = {


5781 `SDKTaskUpdatedMessage`5781 `SDKTaskUpdatedMessage`

5782</h3>5782</h3>

5783 5783 

5784Выдаётся, когда состояние фоновой задачи изменяется, например, когда она переходит из `running` в `completed`. Объедините `patch` в вашу локальную карту задач, индексированную по `task_id`. Поле `end_time` это временная метка Unix epoch в миллисекундах, сравнимая с `Date.now()`.5784Выдаётся при изменении состояния фоновой задачи, например когда она переходит из `running` в `completed`. Объединяйте `patch` с вашей локальной картой задач, индексированной по `task_id`. Поле `end_time` — это временная метка Unix epoch в миллисекундах, сравнимая с `Date.now()`.

5785 5785 

5786```typescript theme={null}5786```typescript theme={null}

5787type SDKTaskUpdatedMessage = {5787type SDKTaskUpdatedMessage = {


5805 `SDKBackgroundTasksChangedMessage`5805 `SDKBackgroundTasksChangedMessage`

5806</h3>5806</h3>

5807 5807 

5808Выдаётся всякий раз, когда набор активных фоновых задач изменяется: задача начинается, завершается, убивается, задача на переднем плане переводится в фоновый режим, или поле `description` или `ambient` задачи изменяется.5808Выдаётся всякий раз, когда меняется набор активных фоновых задач: задача запускается, завершается, принудительно останавливается, агент на переднем плане переводится в фоновый режим или меняется поле `description` или `ambient` задачи.

5809 5809 

5810Массив `tasks` это полный активный набор. Замените любой кэшированный набор каждым payload вместо сопряжения событий `task_started` и `task_notification`, поэтому следующее изменение членства исправит любое событие, которое вы пропустили.5810Массив `tasks` — это полный активный набор. Заменяйте любой кэшированный набор данными каждого сообщения, а не сопоставляйте события `task_started` и `task_notification`, чтобы следующее изменение состава исправляло любое пропущенное событие.

5811 5811 

5812Порядок относительно этих событий для каждой задачи не определён, поэтому не коррелируйте два потока.5812Порядок относительно этих событий отдельных задач не определён, поэтому не сопоставляйте эти два потока.

5813 5813 

5814Ничего не выдаётся при запуске. Сбросьте на пустой набор всякий раз, когда процесс CLI сессии запускается или перезапускается, и позвольте следующему изменению членства переполнить его.5814При запуске ничего не выдаётся. Сбрасывайте набор до пустого всякий раз, когда процесс CLI сессии запускается или перезапускается, и позвольте следующему изменению состава заново его заполнить.

5815 5815 

5816Когда вы отправляете повторный запрос управления `initialize` работающей сессии, такой как с [`reinitialize()`](#query-object) после разрыва транспорта, Claude Code следует ответу снимком текущего активного набора, даже когда он пуст. Переподключающийся хост поэтому узнаёт, что работает, без ожидания следующего изменения членства. До Agent SDK v0.3.239 Claude Code не отправлял снимок после повторного `initialize`.5816Когда вы отправляете повторный управляющий запрос `initialize` работающей сессии, например с помощью [`reinitialize()`](#query-object) после разрыва транспорта, Claude Code отправляет после ответа снимок текущего активного набора, даже если он пуст. Таким образом, переподключающийся хост узнаёт, что выполняется, не дожидаясь следующего изменения состава. До Agent SDK v0.3.239 Claude Code не отправлял снимок после повторного `initialize`.

5817 5817 

5818Требуется Claude Code v2.1.203 или позже.5818Требуется Claude Code v2.1.203 или более поздней версии.

5819 5819 

5820```typescript theme={null}5820```typescript theme={null}

5821type SDKBackgroundTasksChangedMessage = {5821type SDKBackgroundTasksChangedMessage = {


5836 `SDKThinkingTokensMessage`5836 `SDKThinkingTokensMessage`

5837</h3>5837</h3>

5838 5838 

5839Выдаётся во время создания Claude блока мышления, включая отредактированный. `estimated_tokens` это текущая оценка токенов мышления, сгенерированных до сих пор в текущем блоке, и `estimated_tokens_delta` это приращение, переносимое этим кадром. Используйте эти оценки для отображения прогресса.5839Выдаётся, пока Claude создаёт блок размышлений, в том числе скрытый (redacted). `estimated_tokens` — это текущая оценка числа токенов размышлений, сгенерированных к этому моменту в текущем блоке, а `estimated_tokens_delta` — приращение, которое несёт этот кадр. Используйте эти оценки для отображения прогресса.

5840 5840 

5841Когда модель или провайдер сообщает разбивку, окончательный подсчёт для цикла агента верхнего уровня это [`usage.output_tokens_details.thinking_tokens`](#usage) сообщения результата, который [не включает токены подагентов](/docs/ru/agent-sdk/cost-tracking#get-the-total-cost-of-a-query).5841Когда модель или провайдер сообщает разбивку, окончательный подсчёт для цикла агента верхнего уровня — это [`usage.output_tokens_details.thinking_tokens`](#usage) сообщения результата, который [не включает токены субагентов](/docs/ru/agent-sdk/cost-tracking#get-the-total-cost-of-a-query).

5842 5842 

5843Требуется Claude Code v2.1.153 или позже.5843Требуется Claude Code v2.1.153 или более поздней версии.

5844 5844 

5845```typescript theme={null}5845```typescript theme={null}

5846type SDKThinkingTokensMessage = {5846type SDKThinkingTokensMessage = {


5876 `SDKRateLimitEvent`5876 `SDKRateLimitEvent`

5877</h3>5877</h3>

5878 5878 

5879Выдаётся, когда сессия встречает ограничение скорости.5879Выдаётся, когда сессия сталкивается с ограничением частоты запросов.

5880 5880 

5881```typescript theme={null}5881```typescript theme={null}

5882type SDKRateLimitEvent = {5882type SDKRateLimitEvent = {


5894};5894};

5895```5895```

5896 5896 

5897Когда `errorCode` это `"credits_required"`, отклонение происходит от подписки claude.ai, чьё включённое использование исчерпано, и сессия не может продолжаться, пока пользователь не купит кредиты использования. `canUserPurchaseCredits` указывает, может ли аутентифицированный пользователь купить кредиты для учётной записи, и `hasChargeableSavedPaymentMethod` указывает, есть ли сохранённый способ оплаты в файле. Все три поля отсутствуют на событиях ограничения скорости, которые не являются отклонениями, требующими кредитов. Требуется Claude Code v2.1.181 или позже.5897Когда `errorCode` имеет значение `"credits_required"`, отклонение вызвано подпиской claude.ai, у которой исчерпано включённое использование, и сессия не может продолжиться, пока пользователь не купит кредиты использования. `canUserPurchaseCredits` указывает, может ли аутентифицированный пользователь купить кредиты для учётной записи, а `hasChargeableSavedPaymentMethod` указывает, сохранён ли способ оплаты. Все три поля отсутствуют в событиях ограничения частоты запросов, которые не являются отклонениями из-за необходимости кредитов. Требуется Claude Code v2.1.181 или более поздней версии.

5898 5898 

5899<h3 id="sdklocalcommandoutputmessage">5899<h3 id="sdklocalcommandoutputmessage">

5900 `SDKLocalCommandOutputMessage`5900 `SDKLocalCommandOutputMessage`

5901</h3>5901</h3>

5902 5902 

5903Claude Code не выдаёт этот тип сообщения. Когда вы отправляете команду, такую как `/context` или `/usage`, как запрос, её вывод приходит как [`SDKAssistantMessage`](#sdkassistantmessage).5903Claude Code не выдаёт этот тип сообщения. Когда вы отправляете команду, такую как `/context` или `/usage`, в качестве промпта, её вывод приходит как [`SDKAssistantMessage`](#sdkassistantmessage).

5904 5904 

5905```typescript theme={null}5905```typescript theme={null}

5906type SDKLocalCommandOutputMessage = {5906type SDKLocalCommandOutputMessage = {


5916 `SDKCommandsChangedMessage`5916 `SDKCommandsChangedMessage`

5917</h3>5917</h3>

5918 5918 

5919Выдаётся, когда набор доступных команд изменяется во время сессии, например, когда Claude Code обнаруживает skills при входе агента в подпапку. Массив `commands` это полный обновлённый список, поэтому замените любой кэшированный список команд этим payload. Вызов [`supportedCommands()`](#query-object) после этого сообщения возвращает тот же обновлённый список, потому что метод отслеживает последний push; это требует Agent SDK v0.3.216 или позже. В более ранних версиях SDK `supportedCommands()` возвращает снимок, захваченный при инициализации, и никогда не отражает изменения во время сессии.5919Выдаётся, когда набор доступных команд меняется во время сессии, например когда Claude Code обнаруживает скиллы при входе агента в подкаталог. Массив `commands` — это полный обновлённый список, поэтому заменяйте любой кэшированный список команд этими данными. Вызов [`supportedCommands()`](#query-object) после этого сообщения возвращает тот же обновлённый список, потому что метод отслеживает последнее полученное обновление; для этого требуется Agent SDK v0.3.216 или более поздней версии. В более ранних версиях SDK `supportedCommands()` возвращает снимок, сделанный при инициализации, и никогда не отражает изменения во время сессии.

5920 5920 

5921Claude Code также выдаёт это сообщение, когда [prompts](/docs/ru/mcp#use-mcp-prompts-as-commands) MCP сервера присоединяются или покидают список, например, когда сервер завершает подключение после запуска сессии. Это требует Claude Code v2.1.281 или позже.5921Claude Code также выдаёт это сообщение, когда [промпты](/docs/ru/mcp#use-mcp-prompts-as-commands) MCP-сервера добавляются в список или удаляются из него, например когда сервер завершает подключение после запуска сессии. Для этого требуется Claude Code v2.1.281 или более поздней версии.

5922 5922 

5923```typescript theme={null}5923```typescript theme={null}

5924type SDKCommandsChangedMessage = {5924type SDKCommandsChangedMessage = {


5934 `SDKPromptSuggestionMessage`5934 `SDKPromptSuggestionMessage`

5935</h3>5935</h3>

5936 5936 

5937Выдаётся после хода, когда [`promptSuggestions`](#options) включён и Claude Code сгенерировал предложение для этого хода. Содержит предсказанный следующий пользовательский запрос. Для ходов, которые не получают никаких, см. [Когда Claude Code пропускает предложения](/docs/ru/interactive-mode#when-claude-code-skips-suggestions).5937Выдаётся после хода, когда включён [`promptSuggestions`](#options) и Claude Code сгенерировал предложение для этого хода. Содержит предсказанный следующий промпт пользователя. О ходах, для которых предложения не создаются, см. [Когда Claude Code пропускает предложения](/docs/ru/interactive-mode#when-claude-code-skips-suggestions).

5938 5938 

5939```typescript theme={null}5939```typescript theme={null}

5940type SDKPromptSuggestionMessage = {5940type SDKPromptSuggestionMessage = {


5949 `SDKConversationResetMessage`5949 `SDKConversationResetMessage`

5950</h3>5950</h3>

5951 5951 

5952Выдаётся, когда диалог сессии заменяется без завершения сессии. В вызове `query()` только `/clear` и его псевдонимы производят это сообщение. Смонтируйте пустой транскрипт под `new_conversation_id` и отбросьте любой кэшированный заголовок сессии.5952Выдаётся, когда диалог сессии заменяется без завершения сессии. В вызове `query()` это сообщение порождают только `/clear` и его псевдонимы. Создайте пустой транскрипт под `new_conversation_id` и отбросьте любой кэшированный заголовок сессии.

5953 5953 

5954```typescript theme={null}5954```typescript theme={null}

5955type SDKConversationResetMessage = {5955type SDKConversationResetMessage = {


5963};5963};

5964```5964```

5965 5965 

5966Опциональные поля описывают сброс:5966Необязательные поля описывают сброс:

5967 5967 

5968* `trigger`: что отбросило диалог. Сбросьте ваш транскрипт на каждом сообщении `conversation_reset`, включая то, где это поле отсутствует или несёт значение, которое вы не узнаёте.5968* `trigger`: что привело к отбрасыванию диалога. Сбрасывайте транскрипт при каждом сообщении `conversation_reset`, в том числе когда это поле отсутствует или содержит незнакомое значение.

5969* `user_message_uuid`: `uuid` пользовательского сообщения, которое несло `/clear`. Используйте его для сопоставления сброса с этим сообщением.5969* `user_message_uuid`: `uuid` пользовательского сообщения, содержавшего `/clear`. Используйте его, чтобы сопоставить сброс с этим сообщением.

5970* `timestamp`: когда произошёл сброс, как строка ISO 8601 в UTC. Используйте его для отображения, а не для упорядочивания сообщений.5970* `timestamp`: время сброса в виде строки ISO 8601 в UTC. Используйте его для отображения, а не для упорядочивания сообщений.

5971 5971 

5972Поля `trigger`, `user_message_uuid` и `timestamp` требуют Claude Code v2.1.281 или позже.5972Поля `trigger`, `user_message_uuid` и `timestamp` требуют Claude Code v2.1.281 или более поздней версии.

5973 5973 

5974Опубликованные типизации SDK объявляют `SDKConversationResetMessage` в Claude Code v2.1.203 и позже. До v2.1.203, `SDKMessage` ссылалась на тип без его объявления, поэтому сужение на `type === "conversation_reset"` не прошло проверку типов, когда `skipLibCheck` был отключён.5974Опубликованные типизации SDK объявляют `SDKConversationResetMessage` в Claude Code v2.1.203 и более поздних версиях. До v2.1.203 `SDKMessage` ссылался на этот тип, не объявляя его, поэтому сужение по `type === "conversation_reset"` не проходило проверку типов, когда `skipLibCheck` был отключён.

5975 5975 

5976<h3 id="aborterror">5976<h3 id="aborterror">

5977 `AbortError`5977 `AbortError`


5983class AbortError extends Error {}5983class AbortError extends Error {}

5984```5984```

5985 5985 

5986`AbortError` это единственный класс ошибки в типизированном API SDK. Другие сбои, такие как выход процесса Claude Code или неудача при запуске, отклоняют итерацию сообщения с ошибками, которые не несут класс SDK для сопоставления. [Troubleshooting](/docs/ru/agent-sdk/troubleshooting) ключает эти ошибки по сообщению, с причиной и исправлением для каждого.5986`AbortError` — единственный класс ошибки в типизированном API SDK. Другие сбои, например завершение процесса Claude Code или невозможность его запуска, отклоняют итерацию сообщений с ошибками, у которых нет класса SDK для сопоставления. В разделе [Устранение неполадок](/docs/ru/agent-sdk/troubleshooting) эти ошибки перечислены по тексту сообщения, с причиной и способом исправления для каждой.

5987 5987 

5988<h2 id="sandbox-configuration">5988<h2 id="sandbox-configuration">

5989 Конфигурация Sandbox5989 Конфигурация Sandbox

Details

526 526 

527Если ваша организация доставляет заголовки guardrail через политику [Claude apps gateway](/docs/ru/claude-apps-gateway), они считаются [параметрами, требующими одобрения](/docs/ru/server-managed-settings#environment-variables-and-the-approval-dialog).527Если ваша организация доставляет заголовки guardrail через политику [Claude apps gateway](/docs/ru/claude-apps-gateway), они считаются [параметрами, требующими одобрения](/docs/ru/server-managed-settings#environment-variables-and-the-approval-dialog).

528 528 

529Когда guardrail блокирует ответ на полпути, уже переданный в потоке текст сохраняется, а ответ завершается сообщением, настроенным в guardrail для заблокированных ответов.

530 

529<h2 id="use-the-mantle-endpoint">531<h2 id="use-the-mantle-endpoint">

530 Используйте конечную точку Mantle532 Используйте конечную точку Mantle

531</h2>533</h2>

chrome.md +94 −32

Details

10 10 

11Claude открывает новые вкладки для задач браузера и использует состояние входа вашего браузера, поэтому он может получить доступ к любому сайту, на который вы уже вошли. Действия браузера выполняются в видимом окне Chrome в реальном времени. Когда Claude встречает страницу входа или CAPTCHA, он приостанавливается и просит вас обработать это вручную.11Claude открывает новые вкладки для задач браузера и использует состояние входа вашего браузера, поэтому он может получить доступ к любому сайту, на который вы уже вошли. Действия браузера выполняются в видимом окне Chrome в реальном времени. Когда Claude встречает страницу входа или CAPTCHA, он приостанавливается и просит вас обработать это вручную.

12 12 

13Расширение собирает вкладки, которые открывает Claude, в группу вкладок Chrome, привязанную к вашей сессии. В локальных сессиях то, закроет ли Claude Code эту группу при завершении сессии, зависит от способа её завершения:

14 

15* Когда вы вводите `/clear`, Claude Code закрывает группу вместе с открытыми страницами, если только не продолжает выполняться работа, которая сохраняется после очистки

16* Когда вы переключаете сессии с помощью такой команды, как `/resume`, выходите из Claude Code или выполняете `/clear`, пока продолжает выполняться работа, которая сохраняется после очистки, Claude Code закрывает группу только в том случае, если в ней нет ничего, кроме пустых новых вкладок, поэтому страницы, которые вы, возможно, ещё читаете, остаются открытыми

17 

13<Note>18<Note>

14 Интеграция с Chrome работает с Google Chrome и Microsoft Edge. Она еще не поддерживается на Brave, Arc или других браузерах на основе Chromium. Она также не поддерживается в Windows Subsystem for Linux (WSL).19 Интеграция с Chrome работает с Google Chrome и Microsoft Edge. Claude Code также обнаруживает расширение и настраивает подключение в других браузерах на основе Chromium, включая Brave, Arc, Vivaldi и Opera. Интеграция с Chrome не поддерживается в Windows Subsystem for Linux (WSL).

15</Note>20</Note>

16 21 

17<h2 id="capabilities">22<h2 id="capabilities">


26* **Аутентифицированные веб-приложения**: взаимодействуйте с Google Docs, Gmail, Notion или любым приложением, в которое вы вошли, без коннекторов API31* **Аутентифицированные веб-приложения**: взаимодействуйте с Google Docs, Gmail, Notion или любым приложением, в которое вы вошли, без коннекторов API

27* **Извлечение данных**: извлекайте структурированную информацию со страниц и сохраняйте её локально32* **Извлечение данных**: извлекайте структурированную информацию со страниц и сохраняйте её локально

28* **Автоматизация задач**: автоматизируйте повторяющиеся задачи браузера, такие как ввод данных, заполнение форм или многосайтовые рабочие процессы33* **Автоматизация задач**: автоматизируйте повторяющиеся задачи браузера, такие как ввод данных, заполнение форм или многосайтовые рабочие процессы

29* **Запись сеанса**: записывайте взаимодействия браузера в виде GIF-файлов для документирования или обмена информацией о том, что произошло34* **Загрузка файлов**: прикрепляйте файлы с вашего компьютера к полям загрузки на веб-страницах

35* **Запись сессии**: записывайте взаимодействия браузера в виде GIF-файлов для документирования или обмена информацией о том, что произошло

30 36 

31<h2 id="prerequisites">37<h2 id="prerequisites">

32 Предварительные требования38 Предварительные требования


34 40 

35Перед использованием Claude Code с Chrome вам необходимо:41Перед использованием Claude Code с Chrome вам необходимо:

36 42 

37* Браузер [Google Chrome](https://www.google.com/chrome/) или [Microsoft Edge](https://www.microsoft.com/edge)43* [Google Chrome](https://www.google.com/chrome/), [Microsoft Edge](https://www.microsoft.com/edge) или другой браузер на основе Chromium, например Brave, Arc, Vivaldi или Opera

38* Расширение [Claude in Chrome](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) версии 1.0.36 или выше, доступное в Chrome Web Store для обоих браузеров44* Расширение [Claude in Chrome](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) версии 1.0.36 или выше, доступное в Chrome Web Store

39* [Claude Code](/docs/ru/quickstart#step-1-install-claude-code)45* [Claude Code](/docs/ru/quickstart#step-1-install-claude-code)

40* Прямой план Anthropic (Pro, Max, Team или Enterprise)46* Прямой план Anthropic (Pro, Max, Team или Enterprise)

41 47 

48Для интеграции с Chrome также требуется вход с помощью `/login`. Если вы проходите аутентификацию с помощью API-ключа или долгоживущего токена из [`claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token), Claude Code оставляет интеграцию с Chrome выключенной, даже если вы передаёте `--chrome`, поскольку расширение браузера не может пройти аутентификацию с этими учётными данными. До версии v2.1.216 такие сессии могли включать интеграцию с Chrome, но каждая попытка подключиться к расширению браузера завершалась ошибкой 403.

49 

42<Note>50<Note>

43 Интеграция с Chrome недоступна через сторонних поставщиков, таких как Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry. Если вы получаете доступ к Claude исключительно через стороннего поставщика, вам нужна отдельная учетная запись claude.ai для использования этой функции.51 Интеграция с Chrome недоступна через сторонних поставщиков, таких как Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry. Если вы получаете доступ к Claude исключительно через стороннего поставщика, вам нужна отдельная учетная запись claude.ai для использования этой функции.

44</Note>52</Note>


55 claude --chrome63 claude --chrome

56 ```64 ```

57 65 

58 Вы также можете включить Chrome в существующем сеансе, выполнив `/chrome`.66 При первом запуске с Chrome Claude Code показывает одноразовое диалоговое окно, которое знакомит с интеграцией и объясняет, как работают разрешения сайтов. Нажмите Enter, чтобы продолжить.

67 

68 Чтобы включить Chrome для будущих сессий без флага, см. [Включение Chrome по умолчанию](#enable-chrome-by-default).

59 </Step>69 </Step>

60 70 

61 <Step title="Попросите Claude использовать браузер">71 <Step title="Попросите Claude использовать браузер">

62 Этот пример переходит на страницу, взаимодействует с ней и сообщает, что он находит, всё из вашего терминала или редактора:72 Этот пример переходит на страницу, взаимодействует с ней и сообщает, что он находит, всё из вашего терминала или редактора:

63 73 

64 ```text theme={null}74 ```text wrap theme={null}

65 Go to code.claude.com/docs, click on the search box,75 Go to code.claude.com/docs, click on the search box,

66 type "hooks", and tell me what results appear76 type "hooks", and tell me what results appear

67 ```77 ```

68 78 

69 Первое действие браузера запрашивает разрешение на использование навыка `claude-in-chrome`. Одобрите его, и Claude откроет новую вкладку и начнёт выполнение задачи.79 Если Claude Code запрашивает разрешение перед действием в браузере, одобрите его. Диалоговое окно начинается со слов `Claude in Chrome wants to` и предлагает вариант разрешить все действия на этом сайте на время сессии. Claude откроет новую вкладку и начнёт выполнение задачи.

70 </Step>80 </Step>

71</Steps>81</Steps>

72 82 

73Выполните `/chrome` в любое время, чтобы проверить статус подключения, управлять разрешениями, переподключить расширение или выбрать, какой подключённый браузер использовать. Если при запуске действия браузера подключено более одного браузера, Claude предложит вам выбрать один.83Выполните `/chrome` в любое время, чтобы проверить статус подключения, управлять разрешениями, переподключить расширение или выбрать, какой подключённый браузер использовать. Интеграция работает, когда панель статуса показывает «Статус: включено» и «Расширение: установлено».

84 

85Если подключено более одного браузера, вы выбираете, какой из них использует Claude. Если действие в браузере начинается до того, как вы сделали выбор, Claude предложит вам выбрать один. Чтобы позже сменить браузер, выполните `/chrome` и выберите **Выбрать браузер…**. Claude продолжает использовать ваш выбор, даже когда подключается другой браузер.

74 86 

75Для VS Code см. [автоматизацию браузера в VS Code](/docs/ru/vs-code#automate-browser-tasks-with-chrome).87Для VS Code см. [автоматизацию браузера в VS Code](/docs/ru/vs-code#automate-browser-tasks-with-chrome).

76 88 

89<h3 id="install-the-extension-when-claude-asks">

90 Установка расширения по запросу Claude

91</h3>

92 

93Когда Claude нужен ваш браузер в интерактивной сессии, а Claude Code не обнаруживает расширение, Claude Code показывает запрос на установку с заголовком «Claude хочет использовать ваш браузер». Claude Code спрашивает не более одного раза за сессию.

94 

95Запрос предлагает три варианта:

96 

97* **Установить расширение**: открывает страницу установки расширения в вашем браузере и запускает пошаговую настройку. Claude Code ожидает установки, подключает расширение и включает инструменты браузера в той же сессии. Когда подключение готово, выберите «Продолжить с инструментами браузера», и Claude возобновит задачу в вашем браузере. Вы можете выйти из настройки, выбрав «Продолжить без инструментов браузера», и завершить её позже с помощью `/chrome`.

98* **Не сейчас**: продолжает задачу без инструментов браузера. Claude Code может спросить снова в одной из следующих сессий.

99* **Больше не спрашивать**: отключает запрос в будущих сессиях. Вы по-прежнему можете настроить интеграцию в любое время с помощью `/chrome`.

100 

101Две управляемые политики MCP отключают этот запрос:

102 

103* Если ваша организация блокирует MCP-сервер `claude-in-chrome` с помощью [управляемой настройки `deniedMcpServers`](/docs/ru/managed-mcp#policy-based-control-with-allowlists-and-denylists), Claude Code не показывает запрос на установку.

104* Если ваша организация развёртывает файл [`managed-mcp.json`](/docs/ru/managed-mcp#exclusive-control-with-managed-mcp-json), не [разрешив Claude in Chrome наряду с управляемым набором](/docs/ru/managed-mcp#allow-claude-in-chrome-alongside-the-managed-set), Claude Code не показывает запрос на установку.

105 

77<h3 id="enable-chrome-by-default">106<h3 id="enable-chrome-by-default">

78 Включение Chrome по умолчанию107 Включение Chrome по умолчанию

79</h3>108</h3>

80 109 

81Чтобы избежать передачи `--chrome` в каждом сеансе, выполните `/chrome` и выберите "Включено по умолчанию".110Чтобы избежать передачи `--chrome` в каждой сессии, выполните `/chrome` и выберите «Включено по умолчанию».

111 

112Claude Code запускается нормально, когда Chrome не запущен. До версии v2.1.211 запуск мог зависать, если интеграция с Chrome была включена, но Chrome не был запущен.

82 113 

83В [расширении VS Code](/docs/ru/vs-code#automate-browser-tasks-with-chrome) Chrome доступен всякий раз, когда установлено расширение Chrome. Дополнительный флаг не требуется.114В [расширении VS Code](/docs/ru/vs-code#automate-browser-tasks-with-chrome) Chrome доступен всякий раз, когда установлено расширение Chrome. Дополнительный флаг не требуется.

84 115 

85<Note>116<Note>

86 Включение Chrome по умолчанию в CLI увеличивает использование контекста, поскольку инструменты браузера всегда загружены. Если вы заметили увеличение потребления контекста, отключите этот параметр и используйте `--chrome` только при необходимости.117 Включение Chrome по умолчанию в CLI увеличивает использование контекста, поскольку инструменты браузера всегда загружены. Если вы заметили увеличение потребления контекста, отключите эту настройку и используйте `--chrome` только при необходимости.

87</Note>118</Note>

88 119 

89<h3 id="manage-site-permissions">120<h3 id="manage-site-permissions">

90 Управление разрешениями сайта121 Управление разрешениями сайта

91</h3>122</h3>

92 123 

93Разрешения на уровне сайта наследуются из расширения Chrome. Управляйте разрешениями в параметрах расширения Chrome, чтобы контролировать, какие сайты Claude может просматривать, нажимать и вводить текст.124Разрешения на уровне сайта наследуются из расширения Chrome. Управляйте разрешениями в настройках расширения Chrome, чтобы контролировать, какие сайты Claude может просматривать, нажимать и вводить текст. В [авторежиме](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), когда классификатор авторежима сам одобряет вызов браузера к сайту, расширение пропускает собственную проверку для этого сайта при данном вызове, если только ваши правила разрешений не запрещают какой-либо сайт для Claude in Chrome.

94 125 

95<h3 id="browser-tools-in-plan-mode">126<h3 id="browser-tools-in-plan-mode">

96 Инструменты браузера в режиме плана127 Инструменты браузера в режиме планирования

97</h3>128</h3>

98 129 

99В [режиме плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) вызовы инструментов браузера, которые только читают страницу или состояние браузера, выполняются без запроса разрешения, а вызовы, которые изменяют состояние, запрашивают одобрение.130В [режиме планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) запрос разрешения появляется перед тем, как Claude записывает GIF, открывает новую вкладку или запускает ярлык. Если в вашей сессии [доступен режим обхода разрешений](/docs/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) и [получение feature-флагов](/docs/ru/env-vars#features-that-need-feature-flag-fetching) отключено, эти вызовы выполняются без запроса.

100 

101* **Вызовы только для чтения**: `read_page`, `get_page_text`, `find`, чтение сообщений консоли или сетевых запросов и создание снимка экрана

102* **Вызовы, изменяющие состояние**: клики, ввод текста, навигация, управление вкладками и окнами, а также запись GIF

103 131 

104Начиная с версии 2.1.199, вызов, который в остальном предназначен только для чтения, но устанавливает флаг входа, изменяющий состояние, такой как `createIfEmpty` на `tabs_context_mcp`, `clear` на средствах чтения консоли и сети или `save_to_disk` на снимке экрана, также запрашивает одобрение. Вызов `browser_batch` выполняется без запроса только в том случае, если каждое действие внутри него предназначено только для чтения.132Вызов `tabs_context_mcp` также запрашивает разрешение, когда он устанавливает `createIfEmpty`, как и вызов `browser_batch`, включающий любое из этих действий.

105 133 

106<h2 id="example-workflows">134<h2 id="example-workflows">

107 Примеры рабочих процессов135 Примеры рабочих процессов


115 143 

116При разработке веб-приложения попросите Claude проверить, что ваши изменения работают правильно:144При разработке веб-приложения попросите Claude проверить, что ваши изменения работают правильно:

117 145 

118```text theme={null}146```text wrap theme={null}

119I just updated the login form validation. Can you open localhost:3000,147I just updated the login form validation. Can you open localhost:3000,

120try submitting the form with invalid data, and check if the error148try submitting the form with invalid data, and check if the error

121messages appear correctly?149messages appear correctly?


129 157 

130Claude может читать вывод консоли, чтобы помочь диагностировать проблемы. Скажите Claude, какие шаблоны искать, а не просите весь вывод консоли, так как логи могут быть многословными:158Claude может читать вывод консоли, чтобы помочь диагностировать проблемы. Скажите Claude, какие шаблоны искать, а не просите весь вывод консоли, так как логи могут быть многословными:

131 159 

132```text theme={null}160```text wrap theme={null}

133Open the dashboard page and check the console for any errors when161Open the dashboard page and check the console for any errors when

134the page loads.162the page loads.

135```163```


142 170 

143Ускорьте повторяющиеся задачи ввода данных:171Ускорьте повторяющиеся задачи ввода данных:

144 172 

145```text theme={null}173```text wrap theme={null}

146I have a spreadsheet of customer contacts in contacts.csv. For each row,174I have a spreadsheet of customer contacts in contacts.csv. For each row,

147go to the CRM at crm.example.com, click "Add Contact", and fill in the175go to the CRM at crm.example.com, click "Add Contact", and fill in the

148name, email, and phone fields.176name, email, and phone fields.


150 178 

151Claude читает ваш локальный файл, переходит по веб-интерфейсу и вводит данные для каждой записи.179Claude читает ваш локальный файл, переходит по веб-интерфейсу и вводит данные для каждой записи.

152 180 

181<h3 id="upload-files-to-web-pages">

182 Загрузка файлов на веб-страницы

183</h3>

184 

185Claude может прикреплять файлы с вашего компьютера к полям загрузки на странице. Claude Code читает файл и отправляет его содержимое в браузер, поэтому загрузка работает как в локальных, так и в удалённых сессиях. Требуется Claude Code v2.1.211 или новее.

186 

187В этом примере к форме прикрепляется файл лога:

188 

189```text wrap theme={null}

190Open the bug tracker at bugs.example.com, create a new issue,

191and attach logs/session.log to it

192```

193 

194К загрузке применяются три ограничения:

195 

196* **Разрешения**: Claude может загрузить файл, только если сессии разрешено его читать, поэтому [правила разрешений](/docs/ru/settings-reference#permission-settings), запрещающие доступ `Read` к файлу, также блокируют его загрузку.

197* **Размер**: одна загрузка может включать до 10 МБ файлов в сумме.

198* **Жёсткие ссылки**: Claude отказывается загружать файлы с несколькими жёсткими ссылками, что часто встречается в хранилищах менеджеров пакетов, таких как `node_modules`. Скопируйте файл и загрузите копию.

199 

153<h3 id="draft-content-in-google-docs">200<h3 id="draft-content-in-google-docs">

154 Создание контента в Google Docs201 Создание контента в Google Docs

155</h3>202</h3>

156 203 

157Используйте Claude для прямого написания в ваших документах без настройки API:204Используйте Claude для прямого написания в ваших документах без настройки API:

158 205 

159```text theme={null}206```text wrap theme={null}

160Draft a project update based on the recent commits and add it to my207Draft a project update based on the recent commits and add it to my

161Google Doc at docs.google.com/document/d/abc123208Google Doc at docs.google.com/document/d/abc123

162```209```


169 216 

170Извлекайте структурированную информацию с веб-сайтов:217Извлекайте структурированную информацию с веб-сайтов:

171 218 

172```text theme={null}219```text wrap theme={null}

173Go to the product listings page and extract the name, price, and220Go to the product listings page and extract the name, price, and

174availability for each item. Save the results as a CSV file.221availability for each item. Save the results as a CSV file.

175```222```


182 229 

183Координируйте задачи на нескольких веб-сайтах:230Координируйте задачи на нескольких веб-сайтах:

184 231 

185```text theme={null}232```text wrap theme={null}

186Check my calendar for meetings tomorrow, then for each meeting with233Check my calendar for meetings tomorrow, then for each meeting with

187an external attendee, look up their company website and add a note234an external attendee, look up their company website and add a note

188about what they do.235about what they do.


196 243 

197Создавайте общедоступные записи взаимодействий браузера:244Создавайте общедоступные записи взаимодействий браузера:

198 245 

199```text theme={null}246```text wrap theme={null}

200Record a GIF showing how to complete the checkout flow, from adding247Record a GIF showing how to complete the checkout flow, from adding

201an item to the cart through to the confirmation page.248an item to the cart through to the confirmation page.

202```249```

203 250 

204Claude записывает последовательность взаимодействий и сохраняет её как GIF-файл.251Claude записывает последовательность взаимодействий и сохраняет её как GIF-файл. Запись захватывает всё, что видно в браузере, включая данные учётной записи на страницах, где выполнен вход, поэтому просмотрите её, прежде чем делиться ею за пределами вашей команды.

252 

253<h3 id="save-screenshots-to-disk">

254 Сохранение скриншотов на диск

255</h3>

256 

257Попросите Claude сохранить скриншот в виде файла:

258 

259```text wrap theme={null}

260Take a screenshot of the checkout page and save it to disk

261```

262 

263Claude сохраняет изображение на диск и сообщает путь к файлу. До версии v2.1.211 параметр `save_to_disk` инструмента для скриншотов не записывал файл.

205 264 

206<h2 id="troubleshooting">265<h2 id="troubleshooting">

207 Troubleshooting266 Устранение неполадок

208</h2>267</h2>

209 268 

210<h3 id="extension-not-detected">269<h3 id="extension-not-detected">


221 280 

222При первом включении интеграции с Chrome, Claude Code устанавливает файл конфигурации хоста собственного обмена сообщениями. Chrome читает этот файл при запуске, поэтому если расширение не обнаружено при первой попытке, перезагрузите Chrome, чтобы подобрать новую конфигурацию.281При первом включении интеграции с Chrome, Claude Code устанавливает файл конфигурации хоста собственного обмена сообщениями. Chrome читает этот файл при запуске, поэтому если расширение не обнаружено при первой попытке, перезагрузите Chrome, чтобы подобрать новую конфигурацию.

223 282 

224Начиная с версии 2.1.199, Claude Code открывает вкладку браузера с предложением подключить расширение только при первой установке. Последующие сеансы, которые переписывают файл конфигурации, например после переключения сборок Claude Code или каталогов конфигурации, не открывают его повторно.283Claude Code открывает вкладку браузера с предложением подключить расширение только при этой первой установке. Claude Code не открывает её повторно, когда последующая сессия перезаписывает файл конфигурации, например после переключения сборок или каталогов конфигурации.

225 284 

226Если соединение по-прежнему не удаётся, убедитесь, что файл конфигурации хоста существует в:285Если соединение по-прежнему не удаётся, убедитесь, что файл конфигурации хоста существует в:

227 286 


237* **Linux**: `~/.config/microsoft-edge/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json`296* **Linux**: `~/.config/microsoft-edge/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json`

238* **Windows**: проверьте `HKCU\Software\Microsoft\Edge\NativeMessagingHosts\` в реестре Windows297* **Windows**: проверьте `HKCU\Software\Microsoft\Edge\NativeMessagingHosts\` в реестре Windows

239 298 

299Другие браузеры на основе Chromium читают тот же файл из собственного каталога конфигурации, названного по имени браузера. Например, Brave в macOS использует `~/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/`, а в Windows у каждого браузера есть собственный раздел реестра, например `HKCU\Software\BraveSoftware\Brave-Browser\NativeMessagingHosts\`.

300 

240<h3 id="browser-not-responding">301<h3 id="browser-not-responding">

241 Браузер не отвечает302 Браузер не отвечает

242</h3>303</h3>


2483. Перезагрузите расширение Chrome, отключив и повторно включив его в `chrome://extensions`3093. Перезагрузите расширение Chrome, отключив и повторно включив его в `chrome://extensions`

249 310 

250<h3 id="connection-drops-during-long-sessions">311<h3 id="connection-drops-during-long-sessions">

251 Разрыв соединения во время длительных сеансов312 Разрыв соединения во время длительных сессий

252</h3>313</h3>

253 314 

254Service worker расширения Chrome может перейти в режим ожидания во время расширенных сеансов, что нарушает соединение. Если инструменты браузера перестают работать после периода неактивности, выполните `/chrome` и выберите "Reconnect extension".315Service worker расширения Chrome может перейти в режим ожидания во время продолжительных сессий, что нарушает соединение. Если инструменты браузера перестают работать после периода неактивности, выполните `/chrome` и выберите "Reconnect extension".

255 316 

256<h3 id="windows-specific-issues">317<h3 id="windows-specific-issues">

257 Проблемы, специфичные для Windows318 Проблемы, специфичные для Windows


259 320 

260На Windows вы можете столкнуться с:321На Windows вы можете столкнуться с:

261 322 

262* **Конфликты именованных каналов (EADDRINUSE)**: если другой процесс использует тот же именованный канал, перезагрузите Claude Code. Закройте все остальные сеансы Claude Code, которые могут использовать Chrome.323* **Конфликты именованных каналов (EADDRINUSE)**: если другой процесс использует тот же именованный канал, перезагрузите Claude Code. Закройте все остальные сессии Claude Code, которые могут использовать Chrome.

263* **Ошибки хоста собственного обмена сообщениями**: если хост собственного обмена сообщениями падает при запуске, попробуйте переустановить Claude Code, чтобы восстановить конфигурацию хоста.324* **Ошибки хоста собственного обмена сообщениями**: если хост собственного обмена сообщениями падает при запуске, попробуйте переустановить Claude Code, чтобы восстановить конфигурацию хоста.

325* **Страницы настройки не открываются**: обновите Claude Code. До версии v2.1.211 вкладка браузера с предложением подключить расширение могла не открываться в Windows.

264 326 

265<h3 id="common-error-messages">327<h3 id="common-error-messages">

266 Распространённые сообщения об ошибках328 Распространённые сообщения об ошибках


270 332 

271| Ошибка | Причина | Решение |333| Ошибка | Причина | Решение |

272| - | - | - |334| - | - | - |

273| "Browser extension is not connected" | Хост собственного обмена сообщениями не может достичь расширение | Перезагрузите Chrome и Claude Code, затем выполните `/chrome` для переподключения |335| "Browser extension is not connected" | Хост собственного обмена сообщениями не может достичь расширения, или список разрешённых IP-адресов вашей организации отклоняет подключение к `bridge.claudeusercontent.com` | Перезагрузите Chrome и Claude Code, затем выполните `/chrome` для переподключения. Если ваша организация использует список разрешённых IP-адресов и ошибка сохраняется, см. [Списки разрешённых IP-адресов организации и исходящий трафик через прокси](/docs/ru/network-config#organization-ip-allowlists-and-proxy-egress) |

274| "Extension not detected" | Расширение Chrome не установлено или отключено | Установите или включите расширение в `chrome://extensions` |336| Расширение отображается как "Not detected" в `/chrome` | Расширение Chrome не установлено или отключено | Установите или включите расширение в `chrome://extensions` |

275| "No tab available" | Claude попытался действовать до того, как вкладка была готова | Попросите Claude создать новую вкладку и повторить попытку |337| "No tab available" | Claude попытался действовать до того, как вкладка была готова | Попросите Claude создать новую вкладку и повторить попытку |

276| "Receiving end does not exist" | Service worker расширения перешёл в режим ожидания | Выполните `/chrome` и выберите "Reconnect extension" |338| "Receiving end does not exist" | Service worker расширения перешёл в режим ожидания | Выполните `/chrome` и выберите "Reconnect extension" |

277 339 

Details

20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Диаграмма Claude apps gateway на Google Cloud: клиенты Claude Code подключаются по HTTPS к шлюзу (Cloud Run или GKE), который работает внутри VPC рядом с приватной базой данных Cloud SQL для состояния сеанса. Шлюз выполняет вход пользователей через OIDC для Google Workspace, читает конфигурацию и секреты из Secret Manager, перенаправляет запросы моделей в Agent Platform и извлекает свой образ из Artifact Registry при развертывании." width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />20 <img src="https://mintcdn.com/claude-code/-uq-4JE0W_JO5Er5/images/claude-gateway-gcp-architecture.svg?fit=max&auto=format&n=-uq-4JE0W_JO5Er5&q=85&s=cb705151c69128ac0da235852d5600ab" alt="Диаграмма Claude apps gateway на Google Cloud: клиенты Claude Code подключаются по HTTPS к шлюзу (Cloud Run или GKE), который работает внутри VPC рядом с приватной базой данных Cloud SQL для состояния сеанса. Шлюз выполняет вход пользователей через OIDC для Google Workspace, читает конфигурацию и секреты из Secret Manager, перенаправляет запросы моделей в Agent Platform и извлекает свой образ из Artifact Registry при развертывании." width="760" height="400" data-path="images/claude-gateway-gcp-architecture.svg" />

21</Frame>21</Frame>

22 22 

23Эталонная конфигурация подготавливает:23Развёртывание включает:

24 24 

25* Сервис **Cloud Run** или развертывание **GKE**, запускающие контейнер шлюза25* Сервис **Cloud Run** или развертывание **GKE**, запускающие контейнер шлюза

26* Репозиторий **Artifact Registry** для образа шлюза26* Репозиторий **Artifact Registry** для образа шлюза

27* Экземпляр **Cloud SQL для PostgreSQL**, только с приватным IP, для [хранилища](/docs/ru/claude-apps-gateway-config#store) шлюза27* Экземпляр **Cloud SQL для PostgreSQL**, только с приватным IP, для [хранилища](/docs/ru/claude-apps-gateway-config#store) шлюза

28* Секреты **Secret Manager** для `gateway.yaml`, ключа подписи JWT, секрета клиента OIDC и URL Postgres28* Секреты **Secret Manager** для `gateway.yaml`, ключа подписи JWT, секрета клиента OIDC и URL Postgres

29* **Сервисный аккаунт** с `roles/aiplatform.user`, подключённый непосредственно на Cloud Run или привязанный через Workload Identity на GKE29* **Сервисный аккаунт** с `roles/aiplatform.user`, подключённый непосредственно на Cloud Run или привязанный через Workload Identity на GKE

30* **Внутренний Application Load Balancer** на Cloud Run или внутренний **GKE Ingress** класса `gce-internal` на GKE для HTTPS30* **HTTPS-фронтенд**, который вы предоставляете сами: внутренний Application Load Balancer перед Cloud Run, под который в этом пошаговом руководстве настраивается шлюз, но который здесь не создаётся, или внутренний **GKE Ingress** класса `gce-internal` на GKE

31 31 

32<h2 id="prerequisites">32<h2 id="prerequisites">

33 Предварительные требования33 Предварительные требования


143 <Step title="Написание gateway.yaml">143 <Step title="Написание gateway.yaml">

144 Блок `upstreams` указывает на Agent Platform с `auth: {}`, поэтому шлюз аутентифицируется через Application Default Credentials из сервисного аккаунта среды выполнения. Полное описание каждого поля см. в [справочнике конфигурации](/docs/ru/claude-apps-gateway-config).144 Блок `upstreams` указывает на Agent Platform с `auth: {}`, поэтому шлюз аутентифицируется через Application Default Credentials из сервисного аккаунта среды выполнения. Полное описание каждого поля см. в [справочнике конфигурации](/docs/ru/claude-apps-gateway-config).

145 145 

146 Два поля `listen` зависят от того, что находится перед шлюзом:146 Два поля `listen` описывают то, что находится перед шлюзом:

147 147 

148 * `public_url`: требуется за Cloud Run или GKE Ingress. Шлюз строит `redirect_uri` IdP и документ обнаружения только из этого значения, никогда из заголовков `X-Forwarded-*`.148 * `public_url`: внешний источник `https://`, обязательный для любой привязки, отличной от loopback; см. [справочник `listen`](/docs/ru/claude-apps-gateway-config#listen). Шлюз строит `redirect_uri` IdP и документ обнаружения только из этого значения, никогда из заголовков `X-Forwarded-*`.

149 * `trusted_proxies`: диапазоны источников переднего конца. Шлюз соблюдает `X-Forwarded-For` только когда TCP-пир находится в этом списке, затем проходит по цепи мимо доверенных переходов, поэтому ограничения скорости входа на IP и события аудита записывают IP-адреса разработчиков вместо адреса балансировщика нагрузки.149 * `trusted_proxies`: диапазоны источников переднего конца. Шлюз соблюдает `X-Forwarded-For` только когда TCP-пир находится в этом списке, затем проходит по цепи мимо доверенных переходов, поэтому ограничения частоты запросов на вход по IP и события аудита записывают IP-адреса разработчиков вместо адреса балансировщика нагрузки.

150 150 

151 Установите `trusted_proxies` в соответствии с вашим передним концом. Внешний GKE Ingress класса `gce` не указан: он подготавливает адрес публичного правила переадресации, который проверка [приватной сети](/docs/ru/claude-apps-gateway#prerequisites) `/login` отклоняет.151 Установите `trusted_proxies` в соответствии с вашим передним концом. Внешний GKE Ingress класса `gce` не указан: он подготавливает адрес публичного правила переадресации, который проверка [приватной сети](/docs/ru/claude-apps-gateway#prerequisites) `/login` отклоняет.

152 152 


179 179 

180 store:180 store:

181 postgres_url: ${GATEWAY_POSTGRES_URL} # GKE: ${file:/secrets/postgres-url}181 postgres_url: ${GATEWAY_POSTGRES_URL} # GKE: ${file:/secrets/postgres-url}

182 # readiness_grace_seconds: 300 # keep passing the readiness probe

183 # through a Cloud SQL failover

182 184 

183 upstreams:185 upstreams:

184 - provider: vertex186 - provider: vertex


219 --region="$REGION" \221 --region="$REGION" \

220 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \222 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \

221 --min-instances=1 \223 --min-instances=1 \

224 --max-instances=8 \

222 --timeout=3600 \225 --timeout=3600 \

223 --ingress=internal-and-cloud-load-balancing \226 --ingress=internal \

224 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \227 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \

225 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \228 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \

226 --no-invoker-iam-check229 --no-invoker-iam-check

227 ```230 ```

228 231 

229 Прямой исход VPC через `--network`, `--subnet` и `--vpc-egress=private-ranges-only` позволяет сервису достичь приватного IP Cloud SQL напрямую. Публичный исход к конечным точкам Agent Platform и `accounts.google.com` идёт непосредственно в интернет, а не через VPC, поэтому Cloud NAT не требуется.232 Прямой исход VPC через `--network`, `--subnet` и `--vpc-egress=private-ranges-only` позволяет сервису достичь приватного IP Cloud SQL напрямую. Каждый экземпляр удерживает до [`store.max_connections`](/docs/ru/claude-apps-gateway-config#store) подключений к Postgres, по умолчанию пять, поэтому следите, чтобы максимальное число экземпляров × `store.max_connections` оставалось ниже лимита подключений вашего уровня Cloud SQL; по этой причине [эталонные активы](#terraform-reference) ограничивают число экземпляров значением 8 для уровня `db-g1-small`. Публичный исход к эндпоинтам Agent Platform в Google Cloud и `accounts.google.com` идёт непосредственно в интернет, а не через VPC, поэтому Cloud NAT не требуется.

230 233 

231 Проверка IAM вызывающего должна быть открыта или отключена. Шлюз запускает свой собственный OIDC, и его клиенты не несут токен GCP, поэтому проверка вызывающего Cloud Run должна допускать неаутентифицированные запросы. Аутентификация запроса OIDC шлюза происходит после того, как он достигает контейнера, с `allowed_email_domains`, ограничивающим, какие домены могут входить.234 Проверка IAM вызывающего должна быть открыта или отключена. Шлюз запускает свой собственный OIDC, и его клиенты не несут токен GCP, поэтому проверка вызывающего Cloud Run должна допускать неаутентифицированные запросы. Аутентификация запроса OIDC шлюза происходит после того, как он достигает контейнера, с `allowed_email_domains`, ограничивающим, какие домены могут входить.

232 235 


239 242 

240 По умолчанию URL Cloud Run `*.run.app` разрешается на публичный адрес, который проверка [приватной сети](/docs/ru/claude-apps-gateway#prerequisites) `/login` отклоняет. Две топологии дают разработчикам приватно разрешаемое имя хоста, и Cloud Run не подготавливает ни одну для вас:243 По умолчанию URL Cloud Run `*.run.app` разрешается на публичный адрес, который проверка [приватной сети](/docs/ru/claude-apps-gateway#prerequisites) `/login` отклоняет. Две топологии дают разработчикам приватно разрешаемое имя хоста, и Cloud Run не подготавливает ни одну для вас:

241 244 

242 * **Internal Application Load Balancer**, топология, которую предполагает команда развертывания выше: развертывайте с `--ingress=internal-and-cloud-load-balancing`, подготовьте внутренний Application Load Balancer перед сервисом с внутренним именем DNS и сертификатом, и установите `listen.public_url` на это имя хоста.245 * **Internal Application Load Balancer** — топология, которую предполагает `gateway.yaml` на этой странице: подготовьте внутренний Application Load Balancer перед сервисом с внутренним именем DNS и сертификатом и установите `listen.public_url` на это имя хоста. Настройка входа `internal` уже допускает трафик от внутренних Application Load Balancer; `internal-and-cloud-load-balancing` дополнительно допускает внешние Application Load Balancer, чьи публичные адреса отклоняет проверка приватной сети `/login`, поэтому ни одной топологии на этой странице этот вариант не нужен.

243 * **Внутренний вход только без балансировщика нагрузки**: развертывайте с `--ingress=internal` и оставьте `listen.public_url` как URL `*.run.app`, значение по умолчанию в [эталонных активах](#terraform-reference) ниже. Чтобы `*.run.app` разрешался приватно, ваша команда сети должна уже работать с конечной точкой Private Service Connect для Google APIs, приватной зоной Cloud DNS, разрешающей `*.run.app` для неё, и маршрутизацией на месте к этой конечной точке.246 * **Внутренний вход только без балансировщика нагрузки**: оставьте команду развёртывания как есть и оставьте `listen.public_url` как URL `*.run.app`, значение по умолчанию в [эталонных активах](#terraform-reference) ниже. Чтобы `*.run.app` разрешался приватно, ваша команда сети должна уже работать с эндпоинтом Private Service Connect для Google APIs, приватной зоной Cloud DNS, разрешающей `*.run.app` в него, и маршрутизацией из локальной инфраструктуры к этому эндпоинту.

244 247 

245 [Руководство Google по приватной сети для Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) охватывает инфраструктуру, которая требуется обоим вариантам. Проверьте вход после того, как шлюз обслуживает приватное имя хоста; до этого подтвердите загрузку контейнера из его журналов в Cloud Run.248 [Руководство Google по приватной сети для Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) охватывает инфраструктуру, которая требуется обоим вариантам. Проверьте вход после того, как шлюз обслуживает приватное имя хоста; до этого подтвердите загрузку контейнера из его журналов в Cloud Run.

246 249 


288 </Step>291 </Step>

289 292 

290 <Step title="Отправка URL шлюза на машины разработчиков">293 <Step title="Отправка URL шлюза на машины разработчиков">

291 Шлюз теперь работает, но разработчики не могут достичь его из `/login` до тех пор, пока URL шлюза не будет на их машинах. Установите `forceLoginMethod` и `forceLoginGatewayUrl` в [файле управляемых параметров](/docs/ru/claude-apps-gateway#set-the-gateway-url), который вы развертываете на каждом устройстве через MDM. В средстве выбора входа нет опции шлюза для разработчика, чтобы выбрать вручную.294 Шлюз теперь работает, но разработчики не могут достичь его из `/login` до тех пор, пока URL шлюза не будет на их машинах. Разверните полный [фрагмент управляемых настроек](/docs/ru/claude-apps-gateway#set-the-gateway-url) с `forceLoginMethod`, `forceLoginGatewayUrl` и включением `parentSettingsBehavior: "merge"` на каждом устройстве через MDM. В средстве выбора входа нет опции шлюза, которую разработчик мог бы выбрать вручную.

292 </Step>295 </Step>

293</Steps>296</Steps>

294 297 


302* `terraform/`: то же развертывание как инфраструктура как код, для развертывания на зелёном поле: целевое применение для создания репозитория Artifact Registry, затем построение и отправка образа, затем полное применение305* `terraform/`: то же развертывание как инфраструктура как код, для развертывания на зелёном поле: целевое применение для создания репозитория Artifact Registry, затем построение и отправка образа, затем полное применение

303* `gateway.yaml.example` и `Dockerfile` для образа среды выполнения distroless306* `gateway.yaml.example` и `Dockerfile` для образа среды выполнения distroless

304 307 

305Артефакты по умолчанию используют входящий трафик Cloud Run `internal`, поэтому балансировщик нагрузки не требуется. Чтобы соответствовать развертыванию этой страницы за ALB для производства, запустите `setup.sh` с `INGRESS=internal-and-cloud-load-balancing` или установите переменную Terraform `ingress` на `INGRESS_TRAFFIC_INTERNAL_LOAD_BALANCER`. Артефакты также по умолчанию используют слой вызывающего как предоставление `allUsers` `run.invoker` вместо `--no-invoker-iam-check`, обратное пошаговому руководству этой страницы; оба работают, и выбор зависит от ограничений политики вашей организации.308Артефакты по умолчанию используют входящий трафик Cloud Run `internal`, что соответствует команде развёртывания на этой странице; эта настройка работает как с внутренним Application Load Balancer перед сервисом, так и без него, причём артефакты сами балансировщик нагрузки не создают. Артефакты также по умолчанию используют слой вызывающего как предоставление `allUsers` `run.invoker` вместо `--no-invoker-iam-check`, обратное пошаговому руководству этой страницы; оба работают, и выбор зависит от ограничений политики вашей организации.

306 309 

307Активы предоставляются как рабочие примеры, а не как поддерживаемый артефакт для производства; проверьте и адаптируйте их к своей среде.310Активы предоставляются как рабочие примеры, а не как поддерживаемый артефакт для производства; проверьте и адаптируйте их к своей среде.

308 311 


317| Cloud Run возвращает `403 Forbidden` перед достижением контейнера | Проверка IAM вызывающего всё ещё включена | Развертывайте с `--no-invoker-iam-check` или предоставьте `allUsers` роль `run.invoker` с `--allow-unauthenticated` |320| Cloud Run возвращает `403 Forbidden` перед достижением контейнера | Проверка IAM вызывающего всё ещё включена | Развертывайте с `--no-invoker-iam-check` или предоставьте `allUsers` роль `run.invoker` с `--allow-unauthenticated` |

318| `--no-invoker-iam-check` отклонён с `invoker_iam_disabled is not currently available` | Заблокировано `constraints/run.managed.requireInvokerIam` | Используйте `--allow-unauthenticated`. Если Domain Restricted Sharing через `constraints/iam.allowedPolicyMemberDomains` также блокирует это, используйте трек GKE, который предоставляет шлюз на уровне сети без привязки `allUsers`. |321| `--no-invoker-iam-check` отклонён с `invoker_iam_disabled is not currently available` | Заблокировано `constraints/run.managed.requireInvokerIam` | Используйте `--allow-unauthenticated`. Если Domain Restricted Sharing через `constraints/iam.allowedPolicyMemberDomains` также блокирует это, используйте трек GKE, который предоставляет шлюз на уровне сети без привязки `allUsers`. |

319| `Container manifest type … must support amd64/linux` при развертывании | Образ был построен на хосте, отличном от amd64, или buildx выдал индекс образа OCI | Постройте с `--platform=linux/amd64 --provenance=false` |322| `Container manifest type … must support amd64/linux` при развертывании | Образ был построен на хосте, отличном от amd64, или buildx выдал индекс образа OCI | Постройте с `--platform=linux/amd64 --provenance=false` |

320| Загрузка шлюза завершается с ошибкой тайм-аута подключения Postgres на Cloud Run | Сервис не подключён к VPC или Cloud SQL не имеет приватного IP на этом VPC; хранилище перестаёт ждать после 5 секунд | Развертывайте с `--network` и `--subnet` для прямого исхода VPC и создавайте экземпляр Cloud SQL с `--no-assign-ip` и `--network`, указывающим на тот же VPC |323| Загрузка шлюза завершается с ошибкой таймаута подключения Postgres на Cloud Run | Сервис не подключён к VPC или Cloud SQL не имеет приватного IP на этом VPC | Развертывайте с `--network` и `--subnet` для прямого исхода VPC и создавайте экземпляр Cloud SQL с `--no-assign-ip` и `--network`, указывающим на тот же VPC |

321| Запросы Agent Platform возвращают `403 PERMISSION_DENIED` | Среда выполнения не использует сервисный аккаунт `claude-gateway` или модель не включена в Model Garden для проекта | Установите `--service-account` на Cloud Run или привяжите Workload Identity на GKE и включите каждую модель Claude в Model Garden для целевого региона |324| Запросы Agent Platform возвращают `403 PERMISSION_DENIED` | Среда выполнения не использует сервисный аккаунт `claude-gateway` или модель не включена в Model Garden для проекта | Установите `--service-account` на Cloud Run или привяжите Workload Identity на GKE и включите каждую модель Claude в Model Garden для целевого региона |

322| Потоковые ответы обрезаны после фиксированной продолжительности | Тайм-аут запроса переднего конца: сервис бэкенда балансировщика нагрузки за GKE Ingress по умолчанию имеет 30 секунд, а Cloud Run — 300 секунд | Присоедините BackendConfig с повышенным `timeoutSec` на GKE или развертывайте с `--timeout=3600` на Cloud Run |325| Потоковые ответы обрезаны после фиксированной продолжительности | Тайм-аут запроса переднего конца: сервис бэкенда балансировщика нагрузки за GKE Ingress по умолчанию имеет 30 секунд, а Cloud Run — 300 секунд | Присоедините BackendConfig с повышенным `timeoutSec` на GKE или развертывайте с `--timeout=3600` на Cloud Run |

323 326 

cli-reference.md +44 −36

Details

10 Команды CLI10 Команды CLI

11</h2>11</h2>

12 12 

13Вы можете запускать сеансы, передавать содержимое, возобновлять беседы и управлять обновлениями с помощью этих команд:13Вы можете запускать сессии, передавать содержимое, возобновлять диалоги и управлять обновлениями с помощью этих команд:

14 14 

15| Команда | Описание | Пример |15| Команда | Описание | Пример |

16| :- | :- | :- |16| :- | :- | :- |

17| `claude` | Запустить интерактивный сеанс | `claude` |17| `claude` | Запустить интерактивную сессию | `claude` |

18| `claude "query"` | Запустить интерактивный сеанс с начальным запросом | `claude "explain this project"` |18| `claude "query"` | Запустить интерактивную сессию с начальным промптом | `claude "explain this project"` |

19| `claude -p "query"` | Запрос через SDK, затем выход | `claude -p "explain this function"` |19| `claude -p "query"` | Запрос через SDK, затем выход | `claude -p "explain this function"` |

20| `cat file \| claude -p "query"` | Обработка переданного содержимого | `cat logs.txt \| claude -p "explain"` |20| `cat file \| claude -p "query"` | Обработка переданного содержимого | `cat logs.txt \| claude -p "explain"` |

21| `claude -c` | Продолжить самую последнюю беседу в текущем каталоге | `claude -c` |21| `claude -c` | Продолжить самый последний диалог в текущем каталоге | `claude -c` |

22| `claude -c -p "query"` | Продолжить через SDK | `claude -c -p "Check for type errors"` |22| `claude -c -p "query"` | Продолжить через SDK | `claude -c -p "Check for type errors"` |

23| `claude -r "<session>" "query"` | Возобновить сеанс по ID или имени | `claude -r "auth-refactor" "Finish this PR"` |23| `claude -r "<session>" "query"` | Возобновить сессию по ID или имени | `claude -r "auth-refactor" "Finish this PR"` |

24| `claude update` | Обновить до последней версии | `claude update` |24| `claude update` | Обновить до последней версии | `claude update` |

25| `claude gateway` | Запустить сервер самостоятельно размещаемого [Claude apps gateway](/docs/ru/claude-apps-gateway) для администраторов, развертывающих SSO и политику перед Claude Code на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry. Требует `--config`, указывающий на [`gateway.yaml`](/docs/ru/claude-apps-gateway-config). | `claude gateway --config gateway.yaml` |25| `claude gateway` | Запустить сервер самостоятельно размещаемого [Claude apps gateway](/docs/ru/claude-apps-gateway) для администраторов, развёртывающих SSO и политики перед Claude Code на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry. Требует `--config`, указывающий на [`gateway.yaml`](/docs/ru/claude-apps-gateway-config). | `claude gateway --config gateway.yaml` |

26| `claude install [version]` | Установить или переустановить собственный двоичный файл. Принимает версию, такую как `2.1.118`, или `stable`, или `latest`. См. [Установить конкретную версию](/docs/ru/setup#install-a-specific-version) | `claude install stable` |26| `claude install [version]` | Установить или переустановить нативный двоичный файл. Принимает версию, такую как `2.1.118`, или `stable`, или `latest`. См. [Установить конкретную версию](/docs/ru/setup#install-a-specific-version) | `claude install stable` |

27| `claude auth login` | Войти в свою учетную запись Anthropic. Используйте `--email` для предварительного заполнения адреса электронной почты, `--sso` для принудительной аутентификации SSO и `--console` для входа с помощью Anthropic Console для выставления счетов за использование API вместо подписки Claude | `claude auth login --console` |27| `claude auth login` | Войти в свою учётную запись Anthropic. Используйте `--email` для предварительного заполнения адреса электронной почты, `--sso` для принудительной аутентификации SSO и `--console` для входа с помощью Anthropic Console с биллингом за использование API вместо подписки Claude | `claude auth login --console` |

28| `claude auth logout` | Выйти из своей учетной записи Anthropic | `claude auth logout` |28| `claude auth logout` | Выйти из своей учётной записи Anthropic | `claude auth logout` |

29| `claude auth status` | Показать статус аутентификации в формате JSON. Используйте `--text` для удобочитаемого вывода. Выходит с кодом 0, если вы вошли, 1, если нет. JSON включает поле `configDirectory`, называющее [каталог конфигурации](/docs/ru/claude-directory), который использует CLI. Это поле требует Claude Code v2.1.268 или позже | `claude auth status` |29| `claude auth status` | Показать статус аутентификации в формате JSON. Используйте `--text` для удобочитаемого вывода. Завершается с кодом 0, если вы вошли, и 1, если нет. JSON включает поле `configDirectory` с указанием [каталога конфигурации](/docs/ru/claude-directory), который использует CLI. Это поле требует Claude Code v2.1.268 или новее. Поле `authMethod` в JSON принимает одно из значений: `none`, `claude.ai`, `oauth_token`, `api_key`, `api_key_helper` или `third_party` | `claude auth status` |

30| `claude agents` | Открыть [представление агентов](/docs/ru/agent-view) для мониторинга и отправки параллельных фоновых сеансов. Используйте `--cwd <path>` для отображения только сеансов, запущенных в этом каталоге, или `--json` для вывода активных сеансов в виде массива JSON для написания скриптов (`--json --all` также включает завершенные фоновые сеансы). Передайте `--permission-mode`, `--model`, `--effort` или `--agent` для установки [значений по умолчанию для отправленных сеансов](/docs/ru/agent-view#permission-mode-model-and-effort). Принимает `--settings`, `--add-dir`, `--plugin-dir` и `--mcp-config` как команда верхнего уровня `claude`. Открытие представления агентов требует интерактивный терминал | `claude agents --json` |30| `claude agents` | Открыть [представление агентов](/docs/ru/agent-view) для мониторинга и отправки параллельных фоновых сессий. Используйте `--cwd <path>` для отображения только сессий, запущенных в этом каталоге, или `--json` для вывода активных сессий в виде массива JSON для скриптов (`--json --all` также включает завершённые фоновые сессии). Передайте `--permission-mode`, `--model`, `--effort` или `--agent` для установки [значений по умолчанию для отправленных сессий](/docs/ru/agent-view#permission-mode-model-and-effort). Принимает `--settings`, `--add-dir`, `--plugin-dir` и `--mcp-config`, как и команда верхнего уровня `claude`. Открытие представления агентов требует интерактивного терминала | `claude agents --json` |

31| `claude attach <id>` | Подключиться к [фоновому сеансу](/docs/ru/agent-view#manage-sessions-from-the-shell) в этом терминале | `claude attach 7c5dcf5d` |31| `claude attach <id>` | Подключиться к [фоновой сессии](/docs/ru/agent-view#manage-sessions-from-the-shell) в этом терминале | `claude attach 7c5dcf5d` |

32| `claude auto-mode defaults` | Вывести встроенные правила классификатора [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) в формате JSON. Используйте `claude auto-mode config` для просмотра вашей эффективной конфигурации с применяемыми параметрами. `--label <prefix>` выводит только правила, метка которых начинается с этого префикса, сопоставляя без учета регистра. Требует Claude Code v2.1.208 или позже | `claude auto-mode defaults --label 'Git Destructive'` |32| `claude auto-mode defaults` | Вывести встроенные правила классификатора [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) в формате JSON. Используйте `claude auto-mode config`, чтобы увидеть вашу действующую конфигурацию с применёнными настройками. `--label <prefix>` выводит только правила, метка которых начинается с этого префикса, без учёта регистра. Требует Claude Code v2.1.208 или новее | `claude auto-mode defaults --label 'Git Destructive'` |

33| `claude auto-mode reset` | Восстановить конфигурацию [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) по умолчанию, удалив раздел `autoMode` из файла пользовательских параметров. Запрашивает подтверждение перед записью; передайте `-y`/`--yes` для пропуска приглашения. Правила из [управляемых параметров](/docs/ru/server-managed-settings) или флага `--settings` по-прежнему применяются. Требует Claude Code v2.1.212 или позже. См. [Проверить значения по умолчанию и вашу эффективную конфигурацию](/docs/ru/auto-mode-config#inspect-the-defaults-and-your-effective-config) | `claude auto-mode reset --yes` |33| `claude auto-mode reset` | Восстановить конфигурацию [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) по умолчанию, удалив раздел `autoMode` из файла пользовательских настроек. Запрашивает подтверждение перед записью; передайте `-y`/`--yes`, чтобы пропустить запрос. Правила из [управляемых настроек](/docs/ru/server-managed-settings) или флага `--settings` по-прежнему применяются. Требует Claude Code v2.1.212 или новее. См. [Проверить значения по умолчанию и вашу действующую конфигурацию](/docs/ru/auto-mode-config#inspect-the-defaults-and-your-effective-config) | `claude auto-mode reset --yes` |

34| `claude daemon status` | Вывести состояние [супервизора](/docs/ru/agent-view#the-supervisor-process) фонового сеанса, версию, каталог сокета и количество рабочих процессов для диагностики. Выходит с кодом 1, если супервизор не запущен | `claude daemon status` |34| `claude daemon status` | Вывести состояние [супервизора](/docs/ru/agent-view#the-supervisor-process) фоновых сессий, версию, каталог сокетов и количество рабочих процессов для диагностики. Завершается с кодом 1, если супервизор не запущен | `claude daemon status` |

35| `claude daemon stop --any` | Остановить [супервизора](/docs/ru/agent-view#the-supervisor-process) фонового сеанса и размещаемые им сеансы. Передайте `--keep-workers` для сохранения работающих фоновых сеансов, чтобы следующий супервизор переподключился к ним. `--any` подтверждает остановку супервизора по требованию, который используется по умолчанию. Используйте это для восстановления после [неответчивого супервизора](/docs/ru/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |35| `claude daemon stop --any` | Остановить [супервизор](/docs/ru/agent-view#the-supervisor-process) фоновых сессий и размещённые им сессии. Передайте `--keep-workers`, чтобы оставить фоновые сессии работающими, и следующий супервизор переподключится к ним. `--any` подтверждает остановку супервизора по требованию, который используется по умолчанию. Используйте это для восстановления после [неотвечающего супервизора](/docs/ru/agent-view#agent-view-says-the-background-service-did-not-respond) | `claude daemon stop --any --keep-workers` |

36| `claude doctor` | Вывести диагностику установки и параметров только для чтения из терминала без запуска сеанса, включая проверку здоровья установки, ошибки валидации файла параметров и приемлемость Remote Control. Для проверки настройки в сеансе, которая также может применять исправления, запустите [`/doctor`](/docs/ru/commands#all-commands) | `claude doctor` |36| `claude doctor` | Вывести диагностику установки и настроек (только для чтения) из терминала без запуска сессии, включая состояние установки, ошибки валидации файлов настроек и доступность Remote Control. Для проверки настройки внутри сессии, которая также может применять исправления, запустите [`/doctor`](/docs/ru/commands#all-commands) | `claude doctor` |

37| `claude import [source]` | Запустить интерактивный сеанс, который запускает [`/import`](/docs/ru/commands#all-commands) для переноса конфигурации из других агентов кодирования в Claude Code. Принимает те же опции `--dry-run` и `--yes`, что и команда. Недоступно на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или Claude Platform на AWS. Также недоступно, когда вы отключаете [получение флагов функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Требует Claude Code v2.1.213 или позже | `claude import codex --dry-run` |37| `claude import [source]` | Запустить интерактивную сессию, которая выполняет [`/import`](/docs/ru/commands#all-commands) для переноса конфигурации из других агентов для программирования в Claude Code. Принимает те же опции `--dry-run` и `--yes`, что и команда. Недоступно на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или Claude Platform on AWS. Также недоступно, если вы отключили [получение флагов функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Требует Claude Code v2.1.213 или новее | `claude import codex --dry-run` |

38| `claude logs <id>` | Вывести недавний вывод из [фонового сеанса](/docs/ru/agent-view#manage-sessions-from-the-shell) | `claude logs 7c5dcf5d` |38| `claude logs <id>` | Вывести недавний вывод [фоновой сессии](/docs/ru/agent-view#manage-sessions-from-the-shell) | `claude logs 7c5dcf5d` |

39| `claude mcp` | Настроить серверы Model Context Protocol (MCP) | См. [документацию Claude Code MCP](/docs/ru/mcp). |39| `claude mcp` | Настроить серверы Model Context Protocol (MCP) | См. [документацию Claude Code по MCP](/docs/ru/mcp). |

40| `claude mcp login <name>` | Запустить поток OAuth настроенного сервера MCP без открытия интерактивной панели `/mcp`. Работает для HTTP, SSE и серверов соединителя claude.ai. Добавьте `--no-browser` через SSH для вывода URL авторизации вместо открытия браузера, затем вставьте URL перенаправления обратно в приглашение. См. [Аутентификация из командной строки](/docs/ru/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |40| `claude mcp login <name>` | Запустить процесс OAuth настроенного MCP-сервера без открытия интерактивной панели `/mcp`. Работает для HTTP, SSE и серверов коннекторов claude.ai. Добавьте `--no-browser` при работе через SSH, чтобы вывести URL авторизации вместо открытия браузера, а затем вставьте URL перенаправления обратно в поле ввода. См. [Аутентификация из командной строки](/docs/ru/mcp#authenticate-from-the-command-line) | `claude mcp login sentry` |

41| `claude mcp logout <name>` | Очистить сохраненные учетные данные OAuth для сервера MCP | `claude mcp logout sentry` |41| `claude mcp logout <name>` | Очистить сохранённые учётные данные OAuth для MCP-сервера | `claude mcp logout sentry` |

42| `claude plugin` | Управлять Claude Code [plugins](/docs/ru/plugins/overview). Псевдоним: `claude plugins`. См. [справочник plugins](/docs/ru/plugins/cli-reference#claude-plugin-commands) для подкоманд | `claude plugin install code-review@claude-plugins-official` |42| `claude plugin` | Управлять [плагинами](/docs/ru/plugins/overview) Claude Code. Псевдоним: `claude plugins`. Подкоманды см. в [справочнике по плагинам](/docs/ru/plugins/cli-reference#claude-plugin-commands) | `claude plugin install code-review@claude-plugins-official` |

43| `claude project purge [path]` | Удалить все локальное состояние Claude Code для проекта: стенограммы, списки задач, журналы отладки, историю редактирования файлов, строки истории подсказок и запись проекта в `~/.claude.json`. Опустите `[path]` для выбора из интерактивного списка. Флаги: `--dry-run` для предпросмотра, `-y`/`--yes` для пропуска подтверждения, `-i`/`--interactive` для подтверждения каждого элемента, `--all` для каждого проекта. См. [Очистить локальные данные](/docs/ru/claude-directory#clear-local-data) | `claude project purge ~/work/repo --dry-run` |43| `claude project purge [path]` | Удалить всё локальное состояние Claude Code для проекта: транскрипты, списки задач, логи отладки, историю редактирования файлов, строки истории промптов и запись проекта в `~/.claude.json`. Опустите `[path]`, чтобы выбрать из интерактивного списка. Флаги: `--dry-run` для предпросмотра, `-y`/`--yes` для пропуска подтверждения, `-i`/`--interactive` для подтверждения каждого элемента, `--all` для всех проектов. См. [Очистить локальные данные](/docs/ru/claude-directory#clear-local-data) | `claude project purge ~/work/repo --dry-run` |

44| `claude remote-control` | Запустить сервер [Remote Control](/docs/ru/remote-control) для управления Claude Code из Claude.ai или приложения Claude. Работает в режиме сервера (без локального интерактивного сеанса). См. [флаги режима сервера](/docs/ru/remote-control#start-a-remote-control-session). После остановки сервера вы можете восстановить сеансы, которые он обслуживал. См. [Возобновить сеансы после остановки сервера](/docs/ru/remote-control#resume-sessions-after-stopping-the-server) | `claude remote-control --name "My Project"` |44| `claude remote-control` | Запустить сервер [Remote Control](/docs/ru/remote-control) для управления Claude Code из Claude.ai или приложения Claude. Работает в режиме сервера (без локальной интерактивной сессии). См. [флаги режима сервера](/docs/ru/remote-control#start-a-remote-control-session). После остановки сервера вы можете вернуть сессии, которые он обслуживал. См. [Возобновить сессии после остановки сервера](/docs/ru/remote-control#resume-sessions-after-stopping-the-server) | `claude remote-control --name "My Project"` |

45| `claude respawn <id>` | Перезапустить [фоновый сеанс](/docs/ru/agent-view#manage-sessions-from-the-shell), работающий или остановленный, с сохранением его беседы. Используйте `--all` для перезапуска каждого работающего сеанса, например для применения обновленного двоичного файла Claude Code | `claude respawn 7c5dcf5d` |45| `claude respawn <id>` | Перезапустить [фоновую сессию](/docs/ru/agent-view#manage-sessions-from-the-shell), работающую или остановленную, с сохранением её диалога. Используйте `--all` для перезапуска всех работающих сессий, например чтобы применить обновлённый двоичный файл Claude Code | `claude respawn 7c5dcf5d` |

46| `claude rm <id>` | Удалить [фоновый сеанс](/docs/ru/agent-view#manage-sessions-from-the-shell) из списка. Когда удаление [отказано из-за worktree](/docs/ru/agent-view#what-deleting-a-session-removes) и второе `claude rm` может его разрешить, отказ выводит точный флаг и значение для передачи: `--discard-unpushed <commit>@<worktree-id>` отказывает от worktree, который имеет неотправленные коммиты вместе с этими коммитами, и `--force-remove-worktree <worktree-id>` удаляет каталог worktree, который git или хук `WorktreeRemove` не смог удалить. `--discard-unpushed` требует Claude Code v2.1.260 или позже, и `--force-remove-worktree` требует v2.1.268 или позже. Стенограмма беседы остается на вашем локальном компьютере, доступная через `claude --resume` | `claude rm 7c5dcf5d` |46| `claude rm <id>` | Удалить [фоновую сессию](/docs/ru/agent-view#manage-sessions-from-the-shell) из списка. Если в удалении [отказано из-за worktree сессии](/docs/ru/agent-view#what-deleting-a-session-removes) и повторный вызов `claude rm` может это решить, сообщение об отказе выводит точный флаг и значение для передачи: `--discard-unpushed <commit>@<worktree-id>` отбрасывает worktree с неотправленными коммитами вместе с этими коммитами, а `--force-remove-worktree <worktree-id>` удаляет каталог worktree, который git или хук `WorktreeRemove` не смогли удалить. `--discard-unpushed` требует Claude Code v2.1.260 или новее, а `--force-remove-worktree` требует v2.1.268 или новее. Транскрипт диалога остаётся на вашем локальном компьютере и доступен через `claude --resume` | `claude rm 7c5dcf5d` |

47| `claude self-hosted-runner` | Запустить процесс runner, который регистрирует эту машину или контейнер с [самостоятельно размещаемой средой](/docs/ru/self-hosted-environments) и размещает облачные сеансы Claude Code на вашей инфраструктуре. Запустите `claude self-hosted-runner setup` для управляемого пошагового руководства оператора, `claude self-hosted-runner doctor` для [диагностики развернутого runner](/docs/ru/self-hosted-environments-deploy#troubleshooting) и `claude self-hosted-runner orchestrator` для создания [runner по требованию](/docs/ru/self-hosted-environments-configuration#on-demand-runners). Требует Claude Code v2.1.224 или позже | `claude self-hosted-runner setup` |47| `claude self-hosted-runner` | Запустить процесс runner, который регистрирует эту машину или контейнер в [самостоятельно размещаемой среде](/docs/ru/self-hosted-environments) и размещает облачные сессии Claude Code на вашей инфраструктуре. Запустите `claude self-hosted-runner setup` для пошагового руководства оператора, `claude self-hosted-runner doctor` для [диагностики развёрнутого runner](/docs/ru/self-hosted-environments-deploy#troubleshooting) и `claude self-hosted-runner orchestrator` для создания [runner по требованию](/docs/ru/self-hosted-environments-configuration#on-demand-runners). Требует Claude Code v2.1.224 или новее | `claude self-hosted-runner setup` |

48| `claude setup-token` | Создать долгоживущий OAuth токен для CI и скриптов. Выводит токен в терминал без сохранения. Требует подписку Claude. См. [Создать долгоживущий токен](/docs/ru/authentication#generate-a-long-lived-token) | `claude setup-token` |48| `claude setup-token` | Создать долгоживущий OAuth-токен для CI и скриптов. Выводит токен в терминал без сохранения. Требует подписки Claude. См. [Создать долгоживущий токен](/docs/ru/authentication#generate-a-long-lived-token) | `claude setup-token` |

49| `claude stop <id>` | Остановить [фоновый сеанс](/docs/ru/agent-view#manage-sessions-from-the-shell). Также принимает `claude kill` | `claude stop 7c5dcf5d` |49| `claude stop <id>` | Остановить [фоновую сессию](/docs/ru/agent-view#manage-sessions-from-the-shell). Также принимается `claude kill` | `claude stop 7c5dcf5d` |

50| `claude ultrareview [target]` | Запустить [ultrareview](/docs/ru/ultrareview#run-ultrareview-non-interactively) неинтерактивно. Выводит результаты в stdout и выходит с кодом 0 при успехе или 1 при ошибке. Используйте `--json` для необработанного полезного груза и `--timeout <minutes>` для переопределения 45-минутного значения по умолчанию. Используйте `--post` на целевом pull request `github.com` для публикации завершенных результатов в PR как один простой комментарий из вашей учетной записи GitHub. `--no-post` используется по умолчанию. `--post` и `--no-post` требуют Claude Code v2.1.227 или позже. См. [Публикация результатов в pull request](/docs/ru/ultrareview#post-findings-to-the-pull-request) | `claude ultrareview 1234 --json` |50| `claude ultrareview [target]` | Запустить [ultrareview](/docs/ru/ultrareview#run-ultrareview-non-interactively) неинтерактивно. Выводит результаты в stdout и завершается с кодом 0 при успехе или 1 при ошибке. Используйте `--json` для получения необработанных данных и `--timeout <minutes>`, чтобы переопределить значение по умолчанию в 45 минут. Используйте `--post` с целевым pull request на `github.com`, чтобы опубликовать готовые результаты в PR одним простым комментарием от вашей учётной записи GitHub. По умолчанию используется `--no-post`. `--post` и `--no-post` требуют Claude Code v2.1.227 или новее. См. [Публикация результатов в pull request](/docs/ru/ultrareview#post-findings-to-the-pull-request) | `claude ultrareview 1234 --json` |

51 51 

52Если вы неправильно введете подкоманду, Claude Code предложит ближайшее совпадение и выйдет без запуска сеанса. Например, `claude udpate` выводит `Did you mean claude update?`.52Если вы опечатаетесь в подкоманде, Claude Code предложит ближайшее совпадение и завершит работу без запуска сессии. Например, `claude udpate` выводит `Did you mean claude update?`.

53 53 

54Начиная с версии v2.1.199, `claude --dangerously-skip-permissions daemon <subcommand>` запускает подкоманду `daemon`. В более ранних версиях `daemon <subcommand>` рассматривалась как приглашение для нового интерактивного сеанса, поэтому подкоманда никогда не запускалась, когда флаг шел первым, что является распространенной настройкой, когда `claude` имеет псевдоним, включающий флаг. Только ведущий `--dangerously-skip-permissions` или `--allow-dangerously-skip-permissions` маршрутизирует к `daemon` таким образом; любой другой ведущий флаг по-прежнему запускает интерактивный сеанс.54Начиная с версии v2.1.199, `claude --dangerously-skip-permissions daemon <subcommand>` запускает подкоманду `daemon`. В более ранних версиях `daemon <subcommand>` рассматривалась как промпт для новой интерактивной сессии, поэтому подкоманда никогда не выполнялась, если флаг шёл первым, — распространённая ситуация, когда для `claude` задан псевдоним, включающий этот флаг. Только стоящий в начале `--dangerously-skip-permissions` или `--allow-dangerously-skip-permissions` направляет к `daemon` таким образом; любой другой флаг в начале по-прежнему запускает интерактивную сессию.

55 55 

56<h2 id="cli-flags">56<h2 id="cli-flags">

57 Флаги CLI57 Флаги CLI


156| `--append-system-prompt-file` | Добавляет содержимое файла к запросу по умолчанию | `claude --append-system-prompt-file ./style-rules.txt` |156| `--append-system-prompt-file` | Добавляет содержимое файла к запросу по умолчанию | `claude --append-system-prompt-file ./style-rules.txt` |

157| `--system-prompt-snapshot` | С `off`, перестраивает запрос при каждом запросе. С `on`, по умолчанию, повторно использует записанный запрос, где [применяется запись](#system-prompt-flags-in-resumed-conversations) | `claude --append-system-prompt "Draft rules" --system-prompt-snapshot off` |157| `--system-prompt-snapshot` | С `off`, перестраивает запрос при каждом запросе. С `on`, по умолчанию, повторно использует записанный запрос, где [применяется запись](#system-prompt-flags-in-resumed-conversations) | `claude --append-system-prompt "Draft rules" --system-prompt-snapshot off` |

158 158 

159`--system-prompt` и `--system-prompt-file` являются взаимоисключающими. Флаги добавления можно комбинировать с любым флагом замены.159Эти флаги можно комбинировать. Чтобы заменить промпт по умолчанию и при этом добавить собственный текст, передайте `--append-system-prompt` или `--append-system-prompt-file` вместе с `--system-prompt` или `--system-prompt-file`. В Claude Code v2.1.283 или новее можно также передать флаг вместе с его файловой формой, например `--append-system-prompt` с `--append-system-prompt-file`, и Claude Code использует оба.

160 

161Например, выполните следующую команду в оболочке, чтобы добавить и руководство по стилю из файла, и одну дополнительную инструкцию:

162 

163```bash theme={null}

164claude -p --append-system-prompt-file ./style.md --append-system-prompt "Always reply in French" "Summarize README.md"

165```

166 

167Claude получает системный промпт по умолчанию, за которым следуют содержимое `style.md`, пустая строка и затем `Always reply in French`. Содержимое файла идёт первым, даже если вы передаёте `--append-system-prompt` перед `--append-system-prompt-file`.

160 168 

161Когда текст замены объединяет инструкции, которые одинаковы при каждом запуске, с контекстом, который изменяется при каждом запуске, добавьте строку, содержащую только `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` между инструкциями и контекстом. Claude Code разделяет приглашение в первой такой строке и удаляет эту строку, поэтому часть выше неё остаётся кэшированной, а часть ниже изменяется. Требует Claude Code v2.1.275 или позже. [Кэшировать статическую часть пользовательского приглашения](/docs/ru/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt) перечисляет конфигурации, где применяется разделение.169Когда текст замены объединяет инструкции, которые одинаковы при каждом запуске, с контекстом, который изменяется при каждом запуске, добавьте строку, содержащую только `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` между инструкциями и контекстом. Claude Code разделяет приглашение в первой такой строке и удаляет эту строку, поэтому часть выше неё остаётся кэшированной, а часть ниже изменяется. Требует Claude Code v2.1.275 или позже. [Кэшировать статическую часть пользовательского приглашения](/docs/ru/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt) перечисляет конфигурации, где применяется разделение.

162 170 

commands.md +1 −1

Details

99| `/goal [condition\|clear]` | Установить [цель](/docs/ru/goal): Claude продолжает работать между ходами до тех пор, пока условие не будет выполнено или цель [очищается по другой причине](/docs/ru/goal#how-evaluation-works). Без аргумента показывает текущую или недавно достигнутую цель. `clear`, `stop`, `off`, `reset`, `none` или `cancel` удаляет активную цель рано |99| `/goal [condition\|clear]` | Установить [цель](/docs/ru/goal): Claude продолжает работать между ходами до тех пор, пока условие не будет выполнено или цель [очищается по другой причине](/docs/ru/goal#how-evaluation-works). Без аргумента показывает текущую или недавно достигнутую цель. `clear`, `stop`, `off`, `reset`, `none` или `cancel` удаляет активную цель рано |

100| `/heapdump` | Записать снимок кучи JavaScript и разбор памяти в `~/Desktop` или ваш домашний каталог на Linux без папки Desktop для диагностики высокого использования памяти. Прикрепляйте только файл `-diagnostics.json` при сообщении о проблеме с памятью; `.heapsnapshot` содержит ваш полный разговор и учётные данные, поэтому не делитесь им. [Скрыто из меню команд](#how-the-command-menu-matches-what-you-type); введите его полностью. См. [что делать с выводом](/docs/ru/troubleshooting#high-cpu-or-memory-usage) |100| `/heapdump` | Записать снимок кучи JavaScript и разбор памяти в `~/Desktop` или ваш домашний каталог на Linux без папки Desktop для диагностики высокого использования памяти. Прикрепляйте только файл `-diagnostics.json` при сообщении о проблеме с памятью; `.heapsnapshot` содержит ваш полный разговор и учётные данные, поэтому не делитесь им. [Скрыто из меню команд](#how-the-command-menu-matches-what-you-type); введите его полностью. См. [что делать с выводом](/docs/ru/troubleshooting#high-cpu-or-memory-usage) |

101| `/help` | Показать справку и доступные команды |101| `/help` | Показать справку и доступные команды |

102| `/hooks` | Просмотреть конфигурации [hook](/docs/ru/hooks) для событий инструментов |102| `/hooks` | Просмотреть конфигурации [хуков](/docs/ru/hooks#the-%2Fhooks-menu) |

103| `/ide` | Управлять интеграциями IDE и показать статус |103| `/ide` | Управлять интеграциями IDE и показать статус |

104| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | Привести конфигурацию из OpenAI Codex, Google Gemini CLI или Cursor на вашей машине в Claude Code, включая файлы инструкций, MCP серверы, команды, подагентов и skills. В [неинтерактивном режиме](/docs/ru/headless) с `-p` `/import` перечисляет то, что он нашёл, и даёт вам команду, которая подтверждает импорт. Добавьте `--dry-run` для предварительного просмотра без записи чего-либо или `--yes` для пропуска интерактивного средства выбора. Недоступно на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или Claude Platform на AWS, или через [Claude apps gateway](/docs/ru/claude-apps-gateway#availability-and-limitations). Также недоступно, когда вы отключаете [получение флагов функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Требует Claude Code v2.1.213 или позже. Импорт из Cursor требует v2.1.265 или позже |104| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | Привести конфигурацию из OpenAI Codex, Google Gemini CLI или Cursor на вашей машине в Claude Code, включая файлы инструкций, MCP серверы, команды, подагентов и skills. В [неинтерактивном режиме](/docs/ru/headless) с `-p` `/import` перечисляет то, что он нашёл, и даёт вам команду, которая подтверждает импорт. Добавьте `--dry-run` для предварительного просмотра без записи чего-либо или `--yes` для пропуска интерактивного средства выбора. Недоступно на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или Claude Platform на AWS, или через [Claude apps gateway](/docs/ru/claude-apps-gateway#availability-and-limitations). Также недоступно, когда вы отключаете [получение флагов функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Требует Claude Code v2.1.213 или позже. Импорт из Cursor требует v2.1.265 или позже |

105| `/init` | Инициализировать проект с руководством `CLAUDE.md`. Установите `CLAUDE_CODE_NEW_INIT=1` для интерактивного потока, который также проходит через skills, hooks и файлы личной памяти. Если `/init` находит конфигурацию OpenAI Codex или Google Gemini CLI, он предлагает перенести её с помощью `/import` |105| `/init` | Инициализировать проект с руководством `CLAUDE.md`. Установите `CLAUDE_CODE_NEW_INIT=1` для интерактивного потока, который также проходит через skills, hooks и файлы личной памяти. Если `/init` находит конфигурацию OpenAI Codex или Google Gemini CLI, он предлагает перенести её с помощью `/import` |

Details

65 Проверьте hooks65 Проверьте hooks

66</h2>66</h2>

67 67 

68Запустите `/hooks`, чтобы перечислить каждый hook, зарегистрированный для текущей сессии, сгруппированный по событиям. Если hook, который вы определили, не появляется, он не читается: hooks идут под ключом `"hooks"` в файле параметров, а не в отдельном файле.68Запустите `/hooks`, чтобы перечислить каждый хук, зарегистрированный для текущей сессии, сгруппированный по событиям. Если хук, который вы определили, не появляется, Claude Code его не загрузил. Проверьте следующие причины:

69 

70* Хук определён в отдельном файле. Хуки размещаются под ключом `"hooks"` в [файле настроек](/docs/ru/settings#settings-files).

71* Значение `matcher` — это массив, а не одна строка. Claude Code отображает эту запись как недопустимую настройку при запуске интерактивной сессии и в `claude doctor`. Если массив находится под `PreToolUse` или `PermissionRequest`, ни один из остальных хуков этого файла также не загружается.

69 72 

70Если hook появляется, но не срабатывает, обычно причина в matcher. Проверьте его на эти ошибки:73Если hook появляется, но не срабатывает, обычно причина в matcher. Проверьте его на эти ошибки:

71 74 

72* Поле `matcher` — это одна строка, которая использует `|` для соответствия нескольким именам tools, например `"Edit|Write"`. Разделитель `,` эквивалентен, поэтому `"Edit,Write"` соответствует тем же tools. До v2.1.191 запятая переходила к оценке regex и matcher никогда не совпадал, поэтому используйте `|`, если вы ещё не на v2.1.191.75* Поле `matcher` — это одна строка, которая использует `|` для соответствия нескольким именам tools, например `"Edit|Write"`. Разделитель `,` эквивалентен, поэтому `"Edit,Write"` соответствует тем же tools. До v2.1.191 запятая переходила к оценке regex и matcher никогда не совпадал, поэтому используйте `|`, если вы ещё не на v2.1.191.

73* Неправильное имя tool создаёт matcher, который ничему не соответствует, поэтому hook молча не срабатывает.76* Неправильное имя tool создаёт matcher, который ничему не соответствует, поэтому hook молча не срабатывает.

74* Значение массива — это ошибка схемы: Claude Code показывает уведомление об ошибке параметров и отклоняет весь файл параметров пользователя, проекта или локальных параметров, `claude doctor` сообщает об ошибке валидации, и ни один hook из этого файла не появляется в `/hooks`. В [управляемых параметрах](/docs/ru/managed-settings) Claude Code удаляет весь ключ `hooks` из файла, который содержит массив, поэтому ни один из hooks этого файла не применяется. Другие параметры файла всё ещё применяются, и `claude doctor` перечисляет удалённый ключ.

75 77 

76Когда вы редактируете `settings.json`, изменение вступает в силу в работающей сессии после краткой задержки стабильности файла, даже если вы создали файл или папку `.claude/` проекта после начала сессии. Вам не нужно перезагружаться. До v2.1.257 Claude Code не обнаруживал правки в папке `.claude/`, созданной после начала сессии.78Когда вы редактируете `settings.json`, изменение вступает в силу в работающей сессии после краткой задержки стабильности файла, даже если вы создали файл или папку `.claude/` проекта после начала сессии. Вам не нужно перезагружаться. До v2.1.257 Claude Code не обнаруживал правки в папке `.claude/`, созданной после начала сессии.

77 79 

env-vars.md +2 −1

Details

205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Таймаут стагнации в миллисекундах для подагентов. По умолчанию `600000` (10 минут); если вы повысите `CLAUDE_STREAM_IDLE_TIMEOUT_MS` при включённом стороже потока, по умолчанию он повысится вместе с ним, как описано в [Обработка медленных или зависших ответов API](/docs/ru/agent-sdk/typescript#handle-slow-or-stalled-api-responses). Таймер сбрасывается при каждом событии потока прогресса; если прогресс не поступает в течение окна, Claude Code прерывает подагента и сообщает о стагнации родителю |205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Таймаут стагнации в миллисекундах для подагентов. По умолчанию `600000` (10 минут); если вы повысите `CLAUDE_STREAM_IDLE_TIMEOUT_MS` при включённом стороже потока, по умолчанию он повысится вместе с ним, как описано в [Обработка медленных или зависших ответов API](/docs/ru/agent-sdk/typescript#handle-slow-or-stalled-api-responses). Таймер сбрасывается при каждом событии потока прогресса; если прогресс не поступает в течение окна, Claude Code прерывает подагента и сообщает о стагнации родителю |

206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Установите процент (1-100) окна автокомпактирования, при котором срабатывает автокомпактирование. Используйте более низкие значения, такие как `50`, для более раннего компактирования; переменная не может повысить порог, поэтому значения выше процента по умолчанию игнорируются. Применяется только в сеансах, которые [компактируют перед пределом контекста модели](/docs/ru/model-config#context-window-and-auto-compaction). Применяется к основным разговорам и подагентам |206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Установите процент (1-100) окна автокомпактирования, при котором срабатывает автокомпактирование. Используйте более низкие значения, такие как `50`, для более раннего компактирования; переменная не может повысить порог, поэтому значения выше процента по умолчанию игнорируются. Применяется только в сеансах, которые [компактируют перед пределом контекста модели](/docs/ru/model-config#context-window-and-auto-compaction). Применяется к основным разговорам и подагентам |

207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Установите на `1`, чтобы принудительно включить автоматическое фоновое выполнение долгоживущих задач агента. Когда включено, подагенты перемещаются в фон после работы примерно две минуты. Также включает [автоматическое фоновое выполнение долгих вызовов инструментов MCP](/docs/ru/mcp#automatic-backgrounding-of-long-tool-calls) в неинтерактивном режиме на Claude Code версии 2.1.212 или позже |207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Установите на `1`, чтобы принудительно включить автоматическое фоновое выполнение долгоживущих задач агента. Когда включено, подагенты перемещаются в фон после работы примерно две минуты. Также включает [автоматическое фоновое выполнение долгих вызовов инструментов MCP](/docs/ru/mcp#automatic-backgrounding-of-long-tool-calls) в неинтерактивном режиме на Claude Code версии 2.1.212 или позже |

208| `CLAUDE_AX_PREPARK_MS` | В [режиме чтения с экрана](/docs/ru/accessibility#what-your-screen-reader-hears) сколько миллисекунд Claude Code ждёт, с курсором в начале строки, перед тем как написать новую или изменённую строку. По умолчанию `50`. Установите `0` для немедленной записи. Claude Code ограничивает ожидание на `5000`. Требует Claude Code версии 2.1.233 или позже |208| `CLAUDE_AX_PREPARK_MS` | В [режиме программы чтения с экрана](/docs/ru/accessibility) — сколько миллисекунд Claude Code ждёт, прежде чем вывести новую или изменённую строку. По умолчанию `0`, поэтому Claude Code не ждёт. До v2.1.287 значение по умолчанию было `50`. Claude Code ограничивает ожидание значением `5000`. Требуется Claude Code v2.1.233 или новее |

209| `CLAUDE_AX_SCREEN_READER` | Установите на `1` для отображения, удобного для чтения с экрана: плоский текст без декоративных границ или анимаций. Установите на `0`, чтобы принудительно отключить режим чтения с экрана, даже если [`axScreenReader`](/docs/ru/settings-reference#axscreenreader) имеет значение `true`. Флаг [`--ax-screen-reader`](/docs/ru/cli-reference#cli-flags) имеет приоритет. Требует Claude Code версии 2.1.181 или позже |209| `CLAUDE_AX_SCREEN_READER` | Установите на `1` для отображения, удобного для чтения с экрана: плоский текст без декоративных границ или анимаций. Установите на `0`, чтобы принудительно отключить режим чтения с экрана, даже если [`axScreenReader`](/docs/ru/settings-reference#axscreenreader) имеет значение `true`. Флаг [`--ax-screen-reader`](/docs/ru/cli-reference#cli-flags) имеет приоритет. Требует Claude Code версии 2.1.181 или позже |

210| `CLAUDE_AX_STARTUP_QUIET_MS` | В [режиме чтения с экрана](/docs/ru/accessibility) сколько миллисекунд Claude Code удерживает первый рендер интерфейса после строки подтверждения запуска, чтобы ваш чтец с экрана мог полностью произнести строку перед тем, как новый вывод её прервёт. По умолчанию `3000`. Установите `0` для немедленного рендера. Claude Code ограничивает удержание на `600000` (10 минут). Ваше первое нажатие клавиши завершает удержание раньше. Требует Claude Code версии 2.1.217 или позже |210| `CLAUDE_AX_STARTUP_QUIET_MS` | В [режиме чтения с экрана](/docs/ru/accessibility) сколько миллисекунд Claude Code удерживает первый рендер интерфейса после строки подтверждения запуска, чтобы ваш чтец с экрана мог полностью произнести строку перед тем, как новый вывод её прервёт. По умолчанию `3000`. Установите `0` для немедленного рендера. Claude Code ограничивает удержание на `600000` (10 минут). Ваше первое нажатие клавиши завершает удержание раньше. Требует Claude Code версии 2.1.217 или позже |

211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Вернуться в исходный рабочий каталог после каждой команды Bash или PowerShell в основном сеансе |211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Вернуться в исходный рабочий каталог после каждой команды Bash или PowerShell в основном сеансе |


245| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Установите на `1`, чтобы отключить [полноэкранный рендер](/docs/ru/fullscreen) и использовать классический рендер основного экрана. Разговор остаётся в собственной прокрутке вашего терминала, поэтому `Cmd+f` и режим копирования tmux работают как обычно. Имеет приоритет над `CLAUDE_CODE_NO_FLICKER` и параметром [`tui`](/docs/ru/settings-reference#tui). Вы также можете переключаться с помощью `/tui default`. Не применяется к фоновым сеансам, открытым из [представления агента](/docs/ru/agent-view), которые всегда используют полноэкранный рендер |245| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Установите на `1`, чтобы отключить [полноэкранный рендер](/docs/ru/fullscreen) и использовать классический рендер основного экрана. Разговор остаётся в собственной прокрутке вашего терминала, поэтому `Cmd+f` и режим копирования tmux работают как обычно. Имеет приоритет над `CLAUDE_CODE_NO_FLICKER` и параметром [`tui`](/docs/ru/settings-reference#tui). Вы также можете переключаться с помощью `/tui default`. Не применяется к фоновым сеансам, открытым из [представления агента](/docs/ru/agent-view), которые всегда используют полноэкранный рендер |

246| `CLAUDE_CODE_DISABLE_ARTIFACT` | Установите на `1`, чтобы отключить инструмент [Artifact](/docs/ru/artifacts), который публикует вывод сеанса как приватную веб-страницу на claude.ai. После установки ни один файл параметров не включит инструмент обратно. Чтобы вместо этого отключить инструмент из файла параметров, установите [`enableArtifact`](/docs/ru/settings-reference#enableartifact) на `false`; устаревший ключ [`disableArtifact`](/docs/ru/settings-reference#disableartifact) также отключает его |246| `CLAUDE_CODE_DISABLE_ARTIFACT` | Установите на `1`, чтобы отключить инструмент [Artifact](/docs/ru/artifacts), который публикует вывод сеанса как приватную веб-страницу на claude.ai. После установки ни один файл параметров не включит инструмент обратно. Чтобы вместо этого отключить инструмент из файла параметров, установите [`enableArtifact`](/docs/ru/settings-reference#enableartifact) на `false`; устаревший ключ [`disableArtifact`](/docs/ru/settings-reference#disableartifact) также отключает его |

247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Установите на `1`, чтобы отключить обработку вложений. Упоминания файлов с синтаксисом `@` отправляются как простой текст вместо расширения в содержимое файла |247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Установите на `1`, чтобы отключить обработку вложений. Упоминания файлов с синтаксисом `@` отправляются как простой текст вместо расширения в содержимое файла |

248| `CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK` | Задайте `1`, чтобы процесс Claude Code сам выполнял команду [`gcpAuthRefresh`](/docs/ru/settings-reference#gcpauthrefresh) или [`awsAuthRefresh`](/docs/ru/settings-reference#awsauthrefresh), а не ждал, пока её выполнит другой процесс. Требуется Claude Code v2.1.286 или новее |

248| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Установите на `1`, чтобы отключить [автоматическую память](/docs/ru/memory#auto-memory). Установите на `0`, чтобы принудительно включить автоматическую память, даже если режим `--bare` или [`autoMemoryEnabled: false`](/docs/ru/settings-reference#automemoryenabled) в противном случае отключили бы её. Когда отключено, Claude не создаёт и не загружает файлы автоматической памяти |249| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Установите на `1`, чтобы отключить [автоматическую память](/docs/ru/memory#auto-memory). Установите на `0`, чтобы принудительно включить автоматическую память, даже если режим `--bare` или [`autoMemoryEnabled: false`](/docs/ru/settings-reference#automemoryenabled) в противном случае отключили бы её. Когда отключено, Claude не создаёт и не загружает файлы автоматической памяти |

249| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Установите на `1`, чтобы отключить всю функциональность фоновых задач, включая параметр `run_in_background` на инструментах Bash и подагента, автофоновое выполнение и сочетание клавиш Ctrl+B |250| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Установите на `1`, чтобы отключить всю функциональность фоновых задач, включая параметр `run_in_background` на инструментах Bash и подагента, автофоновое выполнение и сочетание клавиш Ctrl+B |

250| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Установите на `1`, чтобы остановить Claude Code от обработки потокового ответа [Amazon Bedrock](/docs/ru/amazon-bedrock) с отсутствующим или пустым заголовком `Content-Type` как двоичного потока событий Amazon Bedrock. По умолчанию Claude Code предполагает, что шлюз удалил заголовок из иначе неизменённого ответа, поэтому он декодирует тело и потоковая передача продолжает работать. Установите это только для шлюза, который также повторно выдаёт поток как события, отправляемые сервером; Claude Code затем читает тело без заголовка как события, отправляемые сервером, вместо этого. Требует Claude Code версии 2.1.239 или позже |251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Установите на `1`, чтобы остановить Claude Code от обработки потокового ответа [Amazon Bedrock](/docs/ru/amazon-bedrock) с отсутствующим или пустым заголовком `Content-Type` как двоичного потока событий Amazon Bedrock. По умолчанию Claude Code предполагает, что шлюз удалил заголовок из иначе неизменённого ответа, поэтому он декодирует тело и потоковая передача продолжает работать. Установите это только для шлюза, который также повторно выдаёт поток как события, отправляемые сервером; Claude Code затем читает тело без заголовка как события, отправляемые сервером, вместо этого. Требует Claude Code версии 2.1.239 или позже |

errors.md +819 −796

Details

8 8 

9На этой странице перечислены ошибки времени выполнения, которые отображает Claude Code, и способы восстановления после каждой из них, а также что проверить, когда ответы кажутся неправильными без ошибки. Для ошибок установки, таких как `command not found` или сбои TLS во время установки, см. [Устранение неполадок при установке и входе](/docs/ru/troubleshoot-install).9На этой странице перечислены ошибки времени выполнения, которые отображает Claude Code, и способы восстановления после каждой из них, а также что проверить, когда ответы кажутся неправильными без ошибки. Для ошибок установки, таких как `command not found` или сбои TLS во время установки, см. [Устранение неполадок при установке и входе](/docs/ru/troubleshoot-install).

10 10 

11За исключением [ошибок 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. Для других проблем, специфичных для конкретного интерфейса, см. раздел устранения неполадок на странице этого интерфейса.11За исключением [ошибок Wrapper и IDE](#wrapper-and-ide-errors), которые выводит запускающая программа, а не сам Claude Code, эти ошибки и команды восстановления применяются во всех интерфейсах: CLI, [приложении Desktop](/docs/ru/desktop) и [облачных сессиях](/docs/ru/claude-code-on-the-web), поскольку все три используют один и тот же Claude Code CLI. Для других проблем, специфичных для конкретного интерфейса, см. раздел устранения неполадок на странице этого интерфейса.

12 12 

13<Note>13<Note>

14 Claude Code вызывает Claude API для получения ответов модели, поэтому большинство ошибок времени выполнения соответствуют базовому коду ошибки API. На этой странице описано, что означает каждая ошибка в Claude Code и как восстановиться. Для определений кодов состояния HTTP в исходном виде см. [справочник по ошибкам платформы Claude](https://platform.claude.com/docs/en/api/errors).14 Claude Code вызывает Claude API для получения ответов модели, поэтому большинство ошибок времени выполнения соответствуют базовому коду ошибки API. На этой странице описано, что означает каждая ошибка в Claude Code и как восстановиться. Для определений кодов состояния HTTP в исходном виде см. [справочник по ошибкам платформы Claude](https://platform.claude.com/docs/en/api/errors).


186| `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |186| `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |

187| `Download timed out: exceeded the total deadline` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |187| `Download timed out: exceeded the total deadline` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |

188| `--bg and --print conflict` | [Command-line errors](#conflict-between-bg-and-print) |188| `--bg and --print conflict` | [Command-line errors](#conflict-between-bg-and-print) |

189| `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) |

189| `Cloud sessions cannot be created from a --restricted session` | [Command-line errors](#cloud-sessions-cannot-be-created-from-a-restricted-session) |190| `Cloud sessions cannot be created from a --restricted session` | [Command-line errors](#cloud-sessions-cannot-be-created-from-a-restricted-session) |

190| `Cloud sessions are disabled by your organization's policy` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |191| `Cloud sessions are disabled by your organization's policy` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |

191| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |192| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |


250| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Plugin errors](#plugin-command-references-user-config) |251| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Plugin errors](#plugin-command-references-user-config) |

251| `headersHelper for MCP server '<name>' references ${user_config.*}` | [Plugin errors](#plugin-command-references-user-config) |252| `headersHelper for MCP server '<name>' references ${user_config.*}` | [Plugin errors](#plugin-command-references-user-config) |

252| `Plugin archive integrity check failed` | [Plugin errors](#plugin-archive-integrity-check-failed) |253| `Plugin archive integrity check failed` | [Plugin errors](#plugin-archive-integrity-check-failed) |

254| `An npm plugin source must name a registry package` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) |

253| `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) |255| `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) |

254| `path could not be checked` | [Plugin errors](#path-could-not-be-checked) |256| `path could not be checked` | [Plugin errors](#path-could-not-be-checked) |

255| `its marketplace entry path does not stay inside the marketplace directory` | [Plugin errors](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |257| `its marketplace entry path does not stay inside the marketplace directory` | [Plugin errors](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |


418 Ошибки сервера420 Ошибки сервера

419</h2>421</h2>

420 422 

421Большинство этих ошибок поступают от поставщика вывода: сервиса 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, которая не может вызвать модель классификатора, или подагент, который достиг лимита использования.423Большинство этих ошибок поступают от поставщика вывода: сервиса 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, которая не может вызвать модель классификатора, или субагента, который достиг лимита использования.

422 424 

423<h3 id="api-error-500-internal-server-error">425<h3 id="api-error-500-internal-server-error">

424 API Error: 500 Internal server error426 API Error: 500 Internal server error


430API 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.432API 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.

431```433```

432 434 

433Завершающее предложение указывает, где проверить здоровье сервиса и варьируется в зависимости от поставщика. Конфигурации Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry указывают на страницу статуса этого поставщика. Пользовательский `ANTHROPIC_BASE_URL` указывает на хост шлюза.435Завершающее предложение указывает, где проверить состояние сервиса, и зависит от поставщика. Для конфигураций Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry указывается страница статуса этого поставщика. Для пользовательского `ANTHROPIC_BASE_URL` указывается хост шлюза.

434 436 

4355xx от самого API указывает на неожиданный сбой внутри API. Это не вызвано вашим приглашением, настройками или учетной записью.437Ошибка 5xx от самого API указывает на неожиданный сбой внутри API. Она не вызвана вашим промптом, настройками или учетной записью.

436 438 

437Когда прокси, балансировщик нагрузки или шлюз отвечает страницей ошибки HTML, сообщение показывает код состояния и заголовок страницы, такой как `API Error: 502 Bad Gateway`. Для страницы без заголовка сообщение показывает код состояния и его стандартное имя вместо этого. До v2.1.281 код состояния был удален, когда страница имела заголовок, и разметка страницы была напечатана в сыром виде, когда она не имела.439Когда прокси, балансировщик нагрузки или шлюз отвечает HTML-страницей ошибки, сообщение показывает код состояния и заголовок страницы, например `API Error: 502 Bad Gateway`. Для страницы без заголовка сообщение вместо этого показывает код состояния и его стандартное название. До v2.1.281 код состояния терялся, если у страницы был заголовок, а если заголовка не было, выводилась необработанная разметка страницы.

438 440 

439**Что делать:**441**Что делать:**

440 442 

441* Проверьте [status.claude.com](https://status.claude.com) или страницу статуса поставщика, указанную в сообщении, на предмет активных инцидентов443* Проверьте [status.claude.com](https://status.claude.com) или страницу статуса поставщика, указанную в сообщении, на предмет активных инцидентов

442* Подождите минуту, затем отправьте сообщение еще раз. Ваше исходное сообщение все еще находится в разговоре, поэтому для длинного приглашения вы можете ввести `try again` вместо вставки всего текста.444* Подождите минуту, затем отправьте сообщение еще раз. Ваше исходное сообщение все еще находится в диалоге, поэтому для длинного промпта вы можете ввести `try again` вместо вставки всего текста.

443* Если ошибка сохраняется без опубликованного инцидента, запустите `/feedback`, чтобы Anthropic могла расследовать детали вашего запроса. См. [Report an error](#report-an-error), если `/feedback` недоступен в вашей среде.445* Если ошибка сохраняется без опубликованного инцидента, запустите `/feedback`, чтобы Anthropic могла расследовать проблему с деталями вашего запроса. См. [Сообщить об ошибке](#report-an-error), если `/feedback` недоступен в вашей среде.

444 446 

445<h3 id="api-error-repeated-529-overloaded-errors">447<h3 id="api-error-repeated-529-overloaded-errors">

446 API Error: Repeated 529 Overloaded errors448 API Error: Repeated 529 Overloaded errors

447</h3>449</h3>

448 450 

449API временно работает на полную мощность для всех пользователей. Claude Code уже несколько раз повторил попытку перед отображением этого сообщения:451API временно работает на пределе мощности для всех пользователей. Claude Code уже несколько раз повторил попытку перед отображением этого сообщения:

450 452 

451```text theme={null}453```text theme={null}

452API 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.454API 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.

453```455```

454 456 

455Завершающее предложение варьируется в зависимости от поставщика так же, как ошибка 500 выше.457Завершающее предложение зависит от поставщика так же, как в ошибке 500 выше.

456 458 

457529 — это не ваш лимит использования и не учитывается в вашей квоте.459Ошибка 529 — это не ваш лимит использования, и она не учитывается в вашей квоте.

458 460 

459**Что делать:**461**Что делать:**

460 462 

461* Проверьте [status.claude.com](https://status.claude.com) или страницу статуса поставщика, указанную в сообщении, на предмет уведомлений о емкости463* Проверьте [status.claude.com](https://status.claude.com) или страницу статуса поставщика, указанную в сообщении, на предмет уведомлений о нехватке мощности

462* Повторите попытку через несколько минут464* Повторите попытку через несколько минут

463* Запустите `/model` и переключитесь на другую модель, чтобы продолжить работу, так как емкость отслеживается для каждой модели. Claude Code предлагает вам это сделать, когда одна модель испытывает особенно высокую нагрузку, например `Opus is experiencing high load, please use /model to switch to Sonnet`. На моделях Fable сообщение называет Fable.465* Запустите `/model` и переключитесь на другую модель, чтобы продолжить работу, так как мощность отслеживается для каждой модели отдельно. Claude Code предлагает вам это сделать, когда одна модель испытывает особенно высокую нагрузку, например `Opus is experiencing high load, please use /model to switch to Sonnet`. На моделях Fable сообщение называет Fable.

464 466 

465 В сессии, которую запускает приложение Claude Desktop, такой как вкладка Code или Cowork, сообщение читается как `Opus is experiencing high load. Switch to Sonnet.` и вы переключаете модели с помощью средства выбора модели приложения.467 В сессии, которую запускает приложение Claude Desktop, например во вкладке Code или в Cowork, сообщение выглядит как `Opus is experiencing high load. Switch to Sonnet.`, и вы переключаете модели с помощью средства выбора модели в приложении.

466 468 

467<h3 id="request-timed-out">469<h3 id="request-timed-out">

468 Request timed out470 Request timed out


474Request timed out476Request timed out

475```477```

476 478 

477Это может произойти в периоды высокой нагрузки или когда модель генерирует очень большой ответ. Время ожидания запроса по умолчанию составляет 10 минут.479Это может произойти в периоды высокой нагрузки или когда модель генерирует очень большой ответ. Таймаут запроса по умолчанию составляет 10 минут.

478 480 

479**Что делать:**481**Что делать:**

480 482 

481* Повторите запрос483* Повторите запрос

482* Если причина в медленной сети или прокси, увеличьте `API_TIMEOUT_MS`, как описано в [Automatic retries](#automatic-retries)484* Если причина в медленной сети или прокси, увеличьте `API_TIMEOUT_MS`, как описано в разделе [Автоматические повторные попытки](#automatic-retries)

483* Если тайм-ауты частые и ваша сеть в остальном здорова, см. [Network and connection errors](#network-and-connection-errors) ниже485* Если таймауты частые, а сеть в остальном работает нормально, см. [Ошибки сети и подключения](#network-and-connection-errors) ниже

484 486 

485<h3 id="no-response-from-api">487<h3 id="no-response-from-api">

486 No response from API488 No response from API

487</h3>489</h3>

488 490 

489Claude 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).491Claude 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).

490 492 

491```text theme={null}493```text theme={null}

492API 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.494API 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.

493```495```

494 496 

495Claude Code устанавливает ожидание заголовков ответа первой попытки и повторной попытки отдельно:497Claude Code задает время ожидания заголовков ответа для первой попытки и для повторной попытки отдельно:

496 498 

497* **Первая попытка**: [`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 КБ тела запроса.499* **Первая попытка**: [`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 КБ тела запроса.

498* **Повторная попытка**: на одну секунду меньше `API_TIMEOUT_MS`, чуть менее 10 минут по умолчанию, чтобы повторная попытка могла пережить прокси или шлюз, который держит ответ до завершения генерации. На Amazon Bedrock повторная попытка использует тот же срок, что и первая попытка, и сообщение показывает одну длительность вместо двух.500* **Повторная попытка**: на одну секунду меньше `API_TIMEOUT_MS`, по умолчанию чуть менее 10 минут, чтобы повторная попытка могла дождаться прокси или шлюза, который удерживает ответ до завершения генерации. На Amazon Bedrock повторная попытка использует тот же срок, что и первая, и сообщение показывает одну длительность вместо двух.

499 501 

500Ни одно ожидание не превышает одну секунду меньше положительного `API_TIMEOUT_MS`, и положительный `API_TIMEOUT_MS` менее 11 секунд отключает срок. Байт-уровневый watchdog начинается только после получения заголовков ответа, поэтому ответ, который перестает отправлять байты после этого, следует [stalled-stream rules](#automatic-retries) вместо этого срока.502Ни одно ожидание не превышает положительное значение `API_TIMEOUT_MS` минус одна секунда, а положительное значение `API_TIMEOUT_MS` менее 11 секунд отключает этот срок. Байтовый watchdog запускается только после получения заголовков ответа, поэтому ответ, который после этого перестает отправлять байты, подчиняется [правилам для зависших потоков](#automatic-retries), а не этому сроку.

501 503 

502**Что делать:**504**Что делать:**

503 505 

504* Отправьте сообщение еще раз. Ваше исходное сообщение все еще находится в разговоре, поэтому для длинного приглашения вы можете ввести `try again` вместо вставки всего текста.506* Отправьте сообщение еще раз. Ваше исходное сообщение все еще находится в диалоге, поэтому для длинного промпта вы можете ввести `try again` вместо вставки всего текста.

505* Если это повторяется, рассматривайте это как [network or proxy problem](#unable-to-connect-to-api).507* Если это повторяется, рассматривайте это как [проблему сети или прокси](#unable-to-connect-to-api).

506* Если прокси или шлюз в вашей сети держит ответы до их завершения, увеличьте `API_TIMEOUT_MS`, чтобы повторная попытка ждала дольше. На Amazon Bedrock также увеличьте `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`.508* Если прокси или шлюз в вашей сети удерживает ответы до их завершения, увеличьте `API_TIMEOUT_MS`, чтобы повторная попытка ждала дольше. На Amazon Bedrock также увеличьте `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`.

507* Если первая попытка продолжает истекать по времени, а повторная попытка затем успешна, увеличьте `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`, чтобы первая попытка также ждала достаточно долго.509* Если первая попытка постоянно завершается по таймауту, а повторная затем проходит успешно, увеличьте `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`, чтобы первая попытка тоже ждала достаточно долго.

508 510 

509До v2.1.242 Claude Code ждал полного тайм-аута запроса `API_TIMEOUT_MS`, 10 минут по умолчанию, перед отказом от потокового запроса без ответа. До v2.1.261 повторная попытка ждала тот же срок, что и первая попытка, и сообщение не показывало длительности.511До v2.1.242 Claude Code ждал полного таймаута запроса `API_TIMEOUT_MS`, по умолчанию 10 минут, прежде чем завершить потоковый запрос без ответа ошибкой. До v2.1.261 повторная попытка ждала тот же срок, что и первая, и сообщение не показывало длительности.

510 512 

511<h3 id="the-response-above-may-be-incomplete">513<h3 id="the-response-above-may-be-incomplete">

512 The response above may be incomplete514 The response above may be incomplete

513</h3>515</h3>

514 516 

515Потоковый запрос не удался, пока ответ был еще в процессе, после того как Claude завершил блок текста или вызов инструмента, или начал один после завершения своего мышления. Повторная отправка запроса может запустить одни и те же вызовы инструментов дважды, поэтому Claude Code сохраняет выходные данные, которые Claude завершил, и добавляет это уведомление вместо отказа от хода. Какой вариант вы видите, указывает на причину:517Потоковый запрос завершился сбоем, когда ответ еще формировался, после того как Claude завершил блок текста или вызов инструмента либо начал его после завершения размышлений. Повторная отправка запроса может привести к двойному выполнению тех же вызовов инструментов, поэтому Claude Code сохраняет вывод, который Claude успел завершить, и добавляет это уведомление вместо того, чтобы отбросить ход. Вариант сообщения указывает на причину:

516 518 

517```text theme={null}519```text theme={null}

518API Error: Server error mid-response. The response above may be incomplete.520API Error: Server error mid-response. The response above may be incomplete.


523API Error: The response stream was malformed. The response above may be incomplete.525API Error: The response stream was malformed. The response above may be incomplete.

524```526```

525 527 

526* `Server error mid-response`: ошибка сервера перегрузки или 5xx в середине потока. Этот вариант требует Claude Code v2.1.199 или позже; до этого этот случай отбросил частичный выход и сообщил весь ход как ошибку.528* `Server error mid-response`: ошибка перегрузки или серверная ошибка 5xx посреди потока. Этот вариант требует Claude Code v2.1.199 или новее; до этого в таком случае частичный вывод отбрасывался, а весь ход сообщался как ошибка.

527* `Connection lost mid-response`: соединение разорвалось. Вы также видите этот вариант, когда прокси или шлюз завершает тело ответа чистым образом перед завершением ответа.529* `Connection lost mid-response`: соединение разорвалось. Вы также видите этот вариант, когда прокси или шлюз корректно закрывает тело ответа до того, как ответ завершен.

528* `Your computer went to sleep mid-response`: Claude Code обнаружил, что ваш компьютер перешел в режим сна во время потоковой передачи ответа. После пробуждения компьютера Claude Code рассматривает соединение как разорванное и прекращает чтение из него.530* `Your computer went to sleep mid-response`: Claude Code обнаружил, что ваш компьютер перешел в режим сна во время потоковой передачи ответа. После пробуждения компьютера Claude Code считает соединение разорванным и прекращает чтение из него.

529* `Part of the response never arrived`: событие потока было потеряно между API и Claude Code, поэтому более позднее событие ссылалось на содержимое, которое никогда не прибыло. До v2.1.281 этот случай завершал ход с `API Error: Content block not found`.531* `Part of the response never arrived`: событие потока было потеряно между API и Claude Code, поэтому более позднее событие ссылалось на содержимое, которое так и не поступило. До v2.1.281 в этом случае ход завершался с `API Error: Content block not found`.

530* `The response stream was malformed`: событие прибыло для блока содержимого, который уже завершился, или событие прибыло поврежденным. Поврежденное событие — это событие, чьи данные не являются действительным JSON, чье содержимое отсутствует или чье содержимое не соответствует типу события. До v2.1.284 ошибка парсера, такая как начинающаяся с `API Error: JSON Parse error`, появлялась вместо этого, когда событие с недействительным JSON прибыло после того, как Claude завершил свое мышление, блок текста или вызов инструмента.532* `The response stream was malformed`: поступило событие для блока содержимого, который уже завершился, или событие поступило поврежденным. Поврежденное событие — это событие, данные которого не являются допустимым JSON, содержимое которого отсутствует или не соответствует типу события. До v2.1.284 вместо этого появлялась необработанная ошибка парсера, например начинающаяся с `API Error: JSON Parse error`, когда событие с недопустимым JSON поступало после того, как Claude завершил размышления, блок текста или вызов инструмента. До v2.1.287, когда [guardrail Amazon Bedrock](/docs/ru/amazon-bedrock#aws-guardrails) блокировал ответ, в котором уже были переданы размышления и часть текста, вместо сообщения guardrail появлялся этот вариант.

531* `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).533* `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).

532 534 

533До v2.1.227 `Connection lost mid-response` читалось как `Connection closed mid-response` и `The response stopped arriving` читалось как `Response stalled mid-stream`.535До v2.1.227 `Connection lost mid-response` выглядело как `Connection closed mid-response`, а `The response stopped arriving` — как `Response stalled mid-stream`.

534 536 

535Когда опущенное, дублированное или поврежденное событие потока прибывает до того, как Claude начал какой-либо текст или вызов инструмента, вы не видите это уведомление:537Когда потерянное, дублированное или поврежденное событие потока поступает до того, как Claude начал какой-либо текст или вызов инструмента, вы не видите это уведомление:

536 538 

537* Если 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.`539* Если 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.`

538* Если ничего не завершилось, 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` или ошибкой парсера.540* Если ничего не было завершено, 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` или необработанной ошибкой парсера.

539 541 

540В четырех случаях Claude Code обрабатывает сбой без отображения этого уведомления сразу:542В четырех случаях Claude Code обрабатывает сбой, не показывая это уведомление сразу:

541 543 

542* Ранее в ответе Claude Code либо повторяет попытку сбоя, либо завершает ход с другой ошибкой. См. [Automatic retries](#automatic-retries).544* На более раннем этапе ответа Claude Code либо повторяет попытку после сбоя, либо завершает ход с другой ошибкой. См. [Автоматические повторные попытки](#automatic-retries).

543* Когда один из этих сбоев поступает после того, как Claude завершил ответ, Claude Code сохраняет полный ответ и завершает ход нормально, без этого уведомления. До v2.1.222 Claude Code показывал это уведомление, когда соединение разорвалось или застопорилось после завершения ответа, и сообщал ход как ошибку, даже если ответ был полным.545* Когда один из этих сбоев происходит после того, как Claude завершил ответ, Claude Code сохраняет полный ответ и завершает ход обычным образом, без этого уведомления. До v2.1.222 Claude Code показывал это уведомление, когда соединение разрывалось или зависало после завершения ответа, и сообщал о ходе как об ошибке, хотя ответ был полным.

544* В [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 завершал неинтерактивный ход с этим уведомлением при первом обрезании.546* В [неинтерактивной сессии](/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 завершал неинтерактивный ход с этим уведомлением при первом же обрыве.

545* В [subagent](/docs/ru/sub-agents#api-errors-in-subagents), независимо от того, интерактивна ли сессия или нет: когда его обрезанный ответ содержит текст, но не вызовы инструментов, Claude Code предлагает подагенту продолжить. Уведомление становится последним сообщением подагента только после того, как эти продолжения исчерпаны. До v2.1.257 подагент показывал это уведомление при первом обрезании.547* В [субагенте](/docs/ru/sub-agents#api-errors-in-subagents), независимо от того, интерактивна ли сессия: когда его обрезанный ответ содержит текст, но не содержит вызовов инструментов, Claude Code предлагает субагенту продолжить. Уведомление становится последним сообщением субагента только после того, как эти продолжения исчерпаны. До v2.1.257 субагент показывал это уведомление при первом же обрыве.

546 548 

547**Что делать:**549**Что делать:**

548 550 

549* В интерактивной сессии прочитайте ответ, который остается на экране: Claude Code сохраняет каждый блок, который Claude завершил перед ошибкой, но отбрасывает прерванный финальный блок, когда ход заканчивается, поэтому финальные предложения или вызовы инструментов могут отсутствовать. Ответьте с `continue`, чтобы Claude продолжил с его последнего завершенного блока.551* В интерактивной сессии прочитайте ответ, оставшийся на экране: Claude Code сохраняет каждый блок, который Claude завершил до ошибки, но отбрасывает прерванный последний блок при завершении хода, поэтому последние предложения или вызовы инструментов могут отсутствовать. Ответьте `continue`, чтобы Claude продолжил с последнего завершенного блока.

550* В [non-interactive mode](/docs/ru/headless) (`-p`):552* В [неинтерактивном режиме](/docs/ru/headless) (`-p`):

551 * С выходом текста по умолчанию Claude Code печатает последний завершенный блок текста, который он все еще держит с более ранней части хода, за которым следует это сообщение. Когда он не держит ничего, Claude Code печатает только это сообщение, например, потому что Claude Code сжал разговор в середине хода и очистил этот текст. До v2.1.219 Claude Code печатал только это сообщение в выходе текста `-p` и отбрасывал ответ, который он уже произвел.553 * При текстовом выводе по умолчанию Claude Code выводит последний завершенный блок текста, который у него еще сохранился с более ранней части хода, а за ним это сообщение. Если такого блока нет, Claude Code выводит только это сообщение — например, потому что Claude Code сжал диалог посреди хода и очистил этот текст. До v2.1.219 Claude Code выводил только это сообщение в текстовом выводе `-p` и отбрасывал уже сформированный ответ.

552 * С `--output-format json` или `stream-json` Claude Code сообщает об этом сообщении в поле `result`.554 * При `--output-format json` или `stream-json` Claude Code передает это сообщение в поле `result`.

553 * Чтобы продолжить ход после стабилизации соединения, возобновите сессию и отправьте `continue`, как описано в [Continue conversations](/docs/ru/headless#continue-conversations).555 * Чтобы продолжить ход после стабилизации соединения, возобновите сессию и отправьте `continue`, как описано в разделе [Продолжение диалогов](/docs/ru/headless#continue-conversations).

554 556 

555<h3 id="auto-mode-cannot-determine-the-safety-of-an-action">557<h3 id="auto-mode-cannot-determine-the-safety-of-an-action">

556 Auto mode cannot determine the safety of an action558 Auto mode cannot determine the safety of an action

557</h3>559</h3>

558 560 

559Модель, которую [auto mode](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) использует для классификации действий, не смогла принять решение, поэтому auto mode не одобрил действие автоматически. Сообщение, которое вы видите, зависит от того, как классификатор не удался.561Модель, которую [авторежим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) использует для классификации действий, не смогла вынести решение, поэтому авторежим не одобрил действие автоматически. Сообщение, которое вы видите, зависит от характера сбоя классификатора.

560 562 

561Чтения, поиски и редактирования внутри вашего рабочего каталога пропускают классификатор, поэтому они продолжают работать во всех этих случаях.563Чтение, поиск и редактирование внутри вашего рабочего каталога не проходят через классификатор, поэтому во всех этих случаях они продолжают работать.

562 564 

563Когда модель классификатора недоступна:565Когда модель классификатора недоступна:

564 566 


566<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.568<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.

567```569```

568 570 

569Когда Claude Code может определить категорию сбоя, он называет категорию в скобках после `temporarily unavailable`, например `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. Категории: `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` и `(connection failed)`. Если `(timed out)` или `(connection failed)` повторяется, проверьте ваше соединение; см. [Unable to connect to API](#unable-to-connect-to-api). До v2.1.229 сообщение никогда не называло категорию и читалось как `Wait briefly and then try this action again`.571Когда Claude Code может определить категорию сбоя, он указывает ее в скобках после `temporarily unavailable`, например `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. Категории: `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` и `(connection failed)`. Если `(timed out)` или `(connection failed)` повторяется, проверьте соединение; см. [Unable to connect to API](#unable-to-connect-to-api). До v2.1.229 сообщение никогда не указывало категорию и выглядело как `Wait briefly and then try this action again`.

570 572 

571Когда ни одна категория не подходит, сообщение появляется без категории в скобках; более одного сбоя производит эту форму. На [Amazon Bedrock](/docs/ru/amazon-bedrock), включая [Mantle endpoint](/docs/ru/amazon-bedrock#use-the-mantle-endpoint), это также появляется, когда ваша учетная запись AWS не может вызвать модель, указанную в сообщении, и этот сбой повторяется при каждой повторной попытке, пока вашей учетной записи не будет предоставлен доступ к модели.573Когда ни одна категория не подходит, сообщение появляется без категории в скобках; эту форму дают и несколько сбоев одновременно. На [Amazon Bedrock](/docs/ru/amazon-bedrock), включая [эндпоинт Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint), оно также появляется, когда ваша учетная запись AWS не может вызвать модель, указанную в сообщении, и этот сбой повторяется при каждой повторной попытке, пока вашей учетной записи не будет предоставлен доступ к модели.

572 574 

573**Что делать:**575**Что делать:**

574 576 

575* Повторите попытку через несколько секунд; Claude видит то же сообщение и обычно повторяет попытку самостоятельно. Временный сбой не связан с [auto mode eligibility](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode); вам не нужно менять настройки577* Повторите попытку через несколько секунд; Claude видит то же сообщение и обычно повторяет попытку самостоятельно. Временный сбой не связан с [доступностью авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode); менять настройки не нужно

576* Если повторные попытки продолжают не удаваться, продолжайте с задачами только для чтения и вернитесь к заблокированному действию позже578* Если повторные попытки продолжают завершаться неудачей, продолжайте работу с задачами только для чтения и вернитесь к заблокированному действию позже

577* На Amazon Bedrock, если сообщение возвращается при каждой повторной попытке, проверьте, что ваша учетная запись может вызвать модель, которую оно называет: для стандартных моделей Amazon Bedrock подтвердите, что ваша [IAM policy](/docs/ru/amazon-bedrock#iam-configuration) позволяет вызывать ее; для ID моделей Mantle [свяжитесь с вашей командой учетной записи AWS](/docs/ru/amazon-bedrock#mantle-endpoint-errors)579* На Amazon Bedrock, если сообщение появляется при каждой повторной попытке, проверьте, может ли ваша учетная запись вызвать указанную в нем модель: для стандартных моделей Amazon Bedrock убедитесь, что ваша [политика IAM](/docs/ru/amazon-bedrock#iam-configuration) разрешает ее вызов; для ID моделей Mantle [свяжитесь с командой вашей учетной записи AWS](/docs/ru/amazon-bedrock#mantle-endpoint-errors)

578 580 

579Когда запрос классификатора не удается, потому что ваш OAuth токен истек или был повернут другой сессией, Claude Code обновляет токен и повторяет запрос один раз, поэтому обычное истечение токена не появляется как это сообщение. До v2.1.216 истекший или повернутый токен не удавался при каждом запросе классификатора, и auto mode отрицал каждое проверенное действие с этим сообщением, пока токен не был обновлен.581Когда запрос классификатора завершается сбоем, потому что ваш OAuth-токен истек или был заменен другой сессией, Claude Code обновляет токен и повторяет запрос один раз, поэтому обычное истечение срока действия токена не приводит к этому сообщению. До v2.1.216 истекший или замененный токен приводил к сбою каждого запроса классификатора, и авторежим отклонял каждое проверяемое действие с этим сообщением, пока токен не был обновлен.

580 582 

581Когда классификатор вернул непарсируемый ответ:583Когда классификатор вернул ответ, который не удалось разобрать:

582 584 

583```text theme={null}585```text theme={null}

584Auto mode could not evaluate this action and is blocking it for safety — run with --debug for details586Auto mode could not evaluate this action and is blocking it for safety — run with --debug for details


586 588 

587**Что делать:**589**Что делать:**

588 590 

589* Повторите действие; это обычно успешно при следующей попытке591* Повторите действие; обычно следующая попытка проходит успешно

590* Запустите `claude --debug` и повторите действие для деталей в журнале отладки592* Запустите `claude --debug` и повторите действие, чтобы получить подробности в логе отладки

591 593 

592Когда отдельная проверка безопасности API заблокировала запрос классификатора из-за более раннего содержимого разговора:594Когда отдельная проверка безопасности API заблокировала запрос классификатора из-за более раннего содержимого диалога:

593 595 

594```text theme={null}596```text theme={null}

595Auto 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 details597Auto 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

596```598```

597 599 

598Claude 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, зависит от того, где оно запросило действие:600Claude Code отклоняет действие, но сообщает Claude, что это не оценка действия как небезопасного, и что следует продолжить другие задачи, а не повторять попытку. Эти отказы не учитываются в [порогах приостановки авторежима](/docs/ru/permission-modes#when-auto-mode-falls-back). При [неинтерактивном](/docs/ru/headless) запуске с `-p` Claude Code не останавливает выполнение. Что получает Claude, зависит от того, где было запрошено действие:

599 601 

600* К [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`602* [Фоновому субагенту](/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`

601* Везде, включая интерактивные сессии и основной разговор запуска `-p`, Claude Code возвращает это отрицание Claude603* Во всех остальных случаях, включая интерактивные сессии и основной диалог запуска с `-p`, Claude Code возвращает Claude этот отказ

602 604 

603До v2.1.225 Claude Code считал эти отказы в направлении пороговых значений паузы и возвращал то же самое отклонение, что и подлинный блок классификатора.605До v2.1.225 Claude Code учитывал эти отказы в порогах приостановки и возвращал то же сообщение об отклонении, что и при настоящей блокировке классификатором.

604 606 

605**Что делать:**607**Что делать:**

606 608 

607* Это не решение о вашем действии. Содержимое, уже находящееся в вашем разговоре, вызвало фильтр безопасности на API, когда auto mode отправил разговор классификатору609* Это не решение относительно вашего действия. Содержимое, уже находящееся в вашем диалоге, вызвало срабатывание фильтра безопасности на стороне API, когда авторежим отправил диалог классификатору

608* Повторная попытка не поможет; то же содержимое разговора снова вызовет фильтр610* Повторная попытка не поможет; то же содержимое диалога снова вызовет срабатывание фильтра

609* В интерактивной сессии переключитесь на другой [permission mode](/docs/ru/permission-modes), чтобы вы могли одобрить действие при появлении запроса611* В интерактивной сессии переключитесь на другой [режим разрешений](/docs/ru/permission-modes), чтобы вы могли одобрить действие при появлении запроса

610* Начните свежий разговор без содержимого, вызывающего срабатывание612* Начните новый диалог без содержимого, вызывающего срабатывание

611 613 

612Когда разговор вырос больше, чем контекстное окно классификатора:614Когда диалог превысил размер контекстного окна классификатора:

613 615 

614```text theme={null}616```text theme={null}

615Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)617Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)

616```618```

617 619 

618То, что происходит с действием, зависит от того, где Claude его запросил:620Что происходит с действием, зависит от того, где Claude его запросил:

619 621 

620* В интерактивной сессии auto mode возвращается к обычному приглашению разрешения для этого действия, чтобы вы могли одобрить или отрицать его вручную622* В интерактивной сессии авторежим переключается на обычный запрос разрешения для этого действия, чтобы вы могли одобрить или отклонить его вручную

621* К [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`, и запуск продолжается623* [Фоновому субагенту](/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`, и выполнение продолжается

622* В другом месте в запуске `-p` без [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) нет приглашения для возврата, поэтому действие не выполняется и запуск продолжается624* В других местах запуска с `-p` без [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) запросить разрешение негде, поэтому действие не выполняется, а выполнение продолжается

623 625 

624**Что делать:**626**Что делать:**

625 627 

626* В интерактивной сессии одобрите или отрицайте действие в появившемся приглашении628* В интерактивной сессии одобрите или отклоните действие в появившемся запросе

627* В интерактивной сессии запустите `/compact`, чтобы уменьшить размер разговора, чтобы последующие действия снова подходили в окно классификатора629* В интерактивной сессии запустите `/compact`, чтобы уменьшить размер диалога и последующие действия снова помещались в окно классификатора

628 630 

629<h3 id="the-server-returned-no-safety-verdict">631<h3 id="the-server-returned-no-safety-verdict">

630 The server returned no safety verdict632 The server returned no safety verdict

631</h3>633</h3>

632 634 

633В [server-side classifier review](/docs/ru/permission-modes#server-side-classifier-review) auto mode отрицает действие, когда сервер не дает вердикт для него. Отрицание называет категорию в скобках, когда Claude Code может определить одну, такую как `(timed out)`:635При [проверке классификатором на стороне сервера](/docs/ru/permission-modes#server-side-classifier-review) авторежим отклоняет действие, когда сервер не выносит по нему вердикт. Отказ указывает категорию в скобках, если Claude Code может ее определить, например `(timed out)`:

634 636 

635```text theme={null}637```text theme={null}

636The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.638The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.

637```639```

638 640 

639Остальная часть сообщения говорит Claude, может ли одна повторная попытка помочь. До некоторых из этих отказов Claude Code ждет, чтобы следующая попытка Claude не следовала сразу. Во время ожидания в интерактивной сессии спиннер показывает `Auto mode check unavailable` с обратным отсчетом, и нажатие `Esc` прерывает ход.641Остальная часть сообщения сообщает Claude, может ли помочь одна повторная попытка. Перед некоторыми из этих отказов Claude Code делает паузу, чтобы следующая попытка Claude не последовала сразу. Во время ожидания в интерактивной сессии индикатор показывает `Auto mode check unavailable` с обратным отсчетом, а нажатие `Esc` прерывает ход.

640 642 

641После десяти ответов подряд без вердикта auto mode останавливает ход:643После десяти ответов подряд без вердикта авторежим останавливает ход:

642 644 

643```text theme={null}645```text theme={null}

644Auto 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.646Auto 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.

645```647```

646 648 

647Сообщение об остановке появляется в другом месте в каждом типе сессии:649Сообщение об остановке появляется в разных местах в зависимости от типа сессии:

648 650 

649* В интерактивной сессии сообщение появляется как предупреждение в транскрипте и ход заканчивается651* В интерактивной сессии сообщение появляется как предупреждение в транскрипте, и ход завершается

650* В [non-interactive](/docs/ru/headless) запуске `-p` запуск заканчивается и сообщает об ошибке выполнения. С выходом текста по умолчанию сообщение печатается на stderr.652* При [неинтерактивном](/docs/ru/headless) запуске с `-p` выполнение завершается с ошибкой выполнения. При текстовом выводе по умолчанию сообщение выводится в stderr.

651* Когда [subagent](/docs/ru/sub-agents) достиг лимита, подагент останавливается перед завершением, и Claude получает то, что он произвел, с примечанием, что auto mode остановил его653* Когда лимит достигнут [субагентом](/docs/ru/sub-agents), субагент останавливается, не завершив работу, и Claude получает то, что он успел сформировать, с пометкой, что его остановил авторежим

652 654 

653**Что делать:**655**Что делать:**

654 656 

655* Отправьте другое сообщение, чтобы Claude попробовал снова. Счет ответов начинается заново.657* Отправьте еще одно сообщение, чтобы Claude попробовал снова. Счетчик ответов начинается заново.

656* Если остановка повторяется и ваши запросы проходят через [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) перечисляет, что пропустить без изменений.658* Если остановка повторяется и ваши запросы проходят через [LLM-шлюз или прокси](/docs/ru/llm-gateway), проверьте, не обрывает ли он потоковые ответы или не переписывает ли их. В разделе [Проверка классификатором на стороне сервера](/docs/ru/permission-modes#server-side-classifier-review) описано, какое поведение шлюза вызывает отказы, а [руководство по совместимости шлюзов](/docs/ru/llm-gateway-protocol#feature-pass-through) перечисляет, что нужно пропускать без изменений.

657* Установите `CLAUDE_CODE_AUTO_MODE_SERVER=0` перед запуском Claude Code, чтобы использовать его собственные запросы классификатора вместо этого. До v2.1.281 Claude Code не читал переменную на прямом соединении с Anthropic API.659* Установите `CLAUDE_CODE_AUTO_MODE_SERVER=0` перед запуском Claude Code, чтобы вместо этого использовать его собственные запросы к классификатору. До v2.1.281 Claude Code не учитывал эту переменную при прямом подключении к Anthropic API.

658* Чтобы одобрить действия самостоятельно, [switch out of auto mode](/docs/ru/permission-modes#switch-permission-modes)660* Чтобы вместо этого одобрять действия самостоятельно, [выйдите из авторежима](/docs/ru/permission-modes#switch-permission-modes)

659 661 

660До v2.1.280 Claude Code отрицал каждое действие из ответа без вердикта немедленно и никогда не останавливал ход.662До v2.1.280 Claude Code немедленно отклонял каждое действие из ответа без вердикта и никогда не останавливал ход.

661 663 

662<h3 id="agent-terminated-early-due-to-an-api-error">664<h3 id="agent-terminated-early-due-to-an-api-error">

663 Agent terminated early due to an API error665 Agent terminated early due to an API error

664</h3>666</h3>

665 667 

666Запрос API [subagent](/docs/ru/sub-agents) не удался окончательно, например, потому что был достигнут лимит использования или повторные попытки для ошибки сервера исчерпаны, поэтому подагент остановился перед завершением своей задачи. Это сообщение требует Claude Code v2.1.199 или позже; до этого текст ошибки API был возвращен Claude, как если бы это был результат подагента.668API-запрос [субагента](/docs/ru/sub-agents) окончательно завершился сбоем, например потому что был достигнут лимит использования или были исчерпаны повторные попытки после ошибки сервера, поэтому субагент остановился, не завершив задачу. Это сообщение требует Claude Code v2.1.199 или новее; до этого текст ошибки API возвращался Claude так, как если бы это был результат субагента.

667 669 

668```text theme={null}670```text theme={null}

669Agent terminated early due to an API error: <error detail>671Agent terminated early due to an API error: <error detail>


671 673 

672**Что делать:**674**Что делать:**

673 675 

674* Сопоставьте деталь ошибки после двоеточия с его собственным разделом на этой странице, такой как [Usage limits](#usage-limits) или [Server errors](#server-errors), и следуйте шагам этого раздела676* Найдите на этой странице раздел, соответствующий описанию ошибки после двоеточия, например [Лимиты использования](#usage-limits) или [Ошибки сервера](#server-errors), и следуйте шагам из этого раздела

675* После того как основная ошибка исчезнет, попросите Claude повторить задачу или [resume the subagent](/docs/ru/sub-agents#resume-subagents)677* После устранения исходной ошибки попросите Claude повторить задачу или [возобновите субагента](/docs/ru/sub-agents#resume-subagents)

676 678 

677Когда ограничение скорости, перегрузка или ошибка сервера прерывает подагент переднего плана, который уже произвел текстовый выход, Claude получает этот частичный выход, отмеченный как неполный, вместо этой ошибки. Подагент, единственным выходом которого были вызовы инструментов, также получает эту ошибку; в v2.1.199 эта форма возвращала пустой частичный результат вместо этого. См. [API errors in subagents](/docs/ru/sub-agents#api-errors-in-subagents).679Когда ограничение частоты запросов, перегрузка или ошибка сервера прерывает субагента переднего плана, который уже сформировал текстовый вывод, Claude вместо этой ошибки получает этот частичный вывод с пометкой о неполноте. Субагент, весь вывод которого состоял из вызовов инструментов, тоже получает эту ошибку; в v2.1.199 в таком случае вместо этого возвращался пустой частичный результат. См. [Ошибки API в субагентах](/docs/ru/sub-agents#api-errors-in-subagents).

678 680 

679<h2 id="usage-limits">681<h2 id="usage-limits">

680 Ограничения использования682 Ограничения использования


885 Ошибки аутентификации887 Ошибки аутентификации

886</h2>888</h2>

887 889 

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

889 891 

890<h3 id="not-logged-in">892<h3 id="not-logged-in">

891 Not logged in893 Не выполнен вход

892</h3>894</h3>

893 895 

894Для этого сеанса нет доступных действительных учетных данных.896Для этой сессии нет действительных учётных данных.

895 897 

896```text theme={null}898```text theme={null}

897Not logged in · Please run /login899Not logged in · Please run /login

898```900```

899 901 

900В сеансе, который запускает приложение Claude Desktop, например на вкладке Code или Cowork, сообщение читается как `Authentication required · Sign in again to continue`, и вы снова входите из приложения.902В сессии, которую запускает приложение Claude Desktop, например во вкладке Code или в Cowork, сообщение звучит как `Authentication required · Sign in again to continue`, и войти повторно нужно из приложения.

903 

904Если вы входите с учётной записью claude.ai в другом окне Claude Code, которое использует тот же [каталог конфигурации](/docs/ru/claude-directory), интерактивная сессия, показывающая это сообщение, начинает использовать этот вход самостоятельно. Перезапускать её не нужно.

905 

906До версии v2.1.286 на macOS сессия могла продолжать показывать это сообщение после входа из другого окна. В этих версиях перезапустите сессию, которая показывает сообщение.

901 907 

902**Что делать:**908**Что делать:**

903 909 

904* Запустите `/login` для аутентификации с помощью вашей подписки Claude или учетной записи Console910* Выполните `/login`, чтобы пройти аутентификацию с подпиской Claude или учётной записью Console

905* Если вы ожидали, что переменная окружения будет вас аутентифицировать, убедитесь, что `ANTHROPIC_API_KEY` установлена и экспортирована в оболочке, где вы запустили `claude`911* Если вы ожидали, что аутентификация выполнится через переменную окружения, убедитесь, что `ANTHROPIC_API_KEY` задана и экспортирована в оболочке, из которой вы запустили `claude`

906* Для CI или автоматизации, где интерактивный вход невозможен, настройте скрипт [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), который получает ключ при запуске912* Для CI или автоматизации, где интерактивный вход невозможен, настройте скрипт [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), который получает ключ при запуске

907* См. [Authentication precedence](/docs/ru/authentication#authentication-precedence), чтобы понять, какие учетные данные Claude Code использует, когда присутствует несколько913* См. раздел [Приоритет аутентификации](/docs/ru/authentication#authentication-precedence), чтобы понять, какие учётные данные использует Claude Code, если их несколько

908 914 

909Если вам предлагается войти повторно, см. [Not logged in or token expired](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired) для проверки системных часов и шагов восстановления хранилища учетных данных macOS.915Если вам многократно предлагается войти, см. раздел [Не выполнен вход или истёк токен](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired), где описаны проверки системных часов и шаги восстановления хранилища учётных данных на macOS.

910 916 

911<h3 id="could-not-resolve-authentication-method">917<h3 id="could-not-resolve-authentication-method">

912 Could not resolve authentication method918 Не удалось определить способ аутентификации

913</h3>919</h3>

914 920 

915Сеанс достиг клиента API без каких-либо учетных данных. [Background sessions](/docs/ru/agent-view) и облачные сеансы показывают это сообщение, когда рабочий процесс запускается без учетных данных. Интерактивные, `-p` и запуски Agent SDK сообщают о том же состоянии, что и [Not logged in](#not-logged-in), и записывают эту строку только в свой журнал отладки, поэтому если вы нашли ее там, следуйте этой записи вместо этого.921Сессия дошла до API-клиента без каких-либо учётных данных. [Фоновые сессии](/docs/ru/agent-view) и облачные сессии показывают это сообщение, когда рабочий процесс запускается без учётных данных. Интерактивные запуски, запуски с `-p` и запуски Agent SDK сообщают о том же состоянии как [Не выполнен вход](#not-logged-in) и записывают эту строку только в свой отладочный лог, поэтому если вы нашли её там, следуйте указаниям из того раздела.

916 922 

917```text theme={null}923```text theme={null}

918Could 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 omitted924Could 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

919```925```

920 926 

921В текущих версиях ошибка означает, что рабочему процессу не были доступны учетные данные. До v2.1.174 фоновый сеанс, назначенный неактивному предварительно инициализированному рабочему процессу, мог завершиться ошибкой таким образом, даже если были настроены действительные учетные данные. До v2.1.176 облачный сеанс, который был неактивен перед тем, как быть заявленным, тоже мог. Обновитесь для восстановления.927В текущих версиях эта ошибка означает, что рабочему процессу не были доступны учётные данные. До версии v2.1.174 фоновая сессия, назначенная простаивающему предварительно инициализированному рабочему процессу, могла завершаться такой ошибкой, даже если действительные учётные данные были настроены. До версии v2.1.176 то же самое могло происходить с облачной сессией, которая простаивала до того, как её забрали. Для восстановления обновитесь.

922 928 

923**Что делать:**929**Что делать:**

924 930 

925* Обновитесь до v2.1.176 или более поздней версии, если это появляется в фоновом или облачном сеансе и ваши учетные данные уже настроены931* Обновитесь до v2.1.176 или более поздней версии, если это появляется в фоновой или облачной сессии, а ваши учётные данные уже настроены

926* Убедитесь, что `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` или ваши учетные данные облачного провайдера установлены в окружении, которое запускает рабочий процесс, а не только в вашей интерактивной оболочке932* Убедитесь, что `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` или учётные данные вашего облачного провайдера заданы в окружении, которое запускает рабочий процесс, а не только в вашей интерактивной оболочке

927* Для Agent SDK см. [authentication setup in the quickstart](/docs/ru/agent-sdk/quickstart#setup)933* Для Agent SDK см. [настройку аутентификации в быстром старте](/docs/ru/agent-sdk/quickstart#setup)

928* Запустите `/status` в интерактивном сеансе в том же окружении, чтобы подтвердить, какой источник учетных данных разрешается934* Выполните `/status` в интерактивной сессии в том же окружении, чтобы проверить, какой источник учётных данных определяется

929 935 

930<h3 id="invalid-api-key">936<h3 id="invalid-api-key">

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

932</h3>938</h3>

933 939 

934Переменная окружения `ANTHROPIC_API_KEY` или скрипт `apiKeyHelper` вернули ключ, который API отклонил, или Claude Code заблокировал ключ из `ANTHROPIC_API_KEY` перед его отправкой.940Переменная окружения `ANTHROPIC_API_KEY` или скрипт `apiKeyHelper` вернули ключ, который API отклонил, или Claude Code заблокировал ключ из `ANTHROPIC_API_KEY` до его отправки.

935 941 

936```text theme={null}942```text theme={null}

937Invalid API key · Fix external API key943Invalid API key · Fix external API key

938```944```

939 945 

940Когда сообщение продолжается после `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), чтобы узнать, как прочитать описание и исправить значение.946Когда после `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), чтобы узнать, как читать описание и исправить значение.

941 947 

942**Что делать:**948**Что делать:**

943 949 

944* Проверьте опечатки и убедитесь, что ключ не был отозван в [Console](https://platform.claude.com/settings/keys)950* Проверьте ключ на опечатки и убедитесь, что он не был отозван в [Console](https://platform.claude.com/settings/keys)

945* В той же оболочке запустите `env | grep ANTHROPIC`, или в PowerShell `Get-ChildItem Env:ANTHROPIC*`. Такие инструменты, как direnv, плагины dotenv shell и терминалы IDE, могут загружать устаревший ключ из файла `.env` в вашем проекте без явной установки.951* В той же оболочке выполните `env | grep ANTHROPIC`, а в PowerShell — `Get-ChildItem Env:ANTHROPIC*`. Такие инструменты, как direnv, плагины оболочки для dotenv и терминалы IDE, могут загрузить устаревший ключ из файла `.env` в вашем проекте без явной установки с вашей стороны.

946* Отмените установку `ANTHROPIC_API_KEY` и запустите `/login` для использования аутентификации подписки вместо этого952* Удалите `ANTHROPIC_API_KEY` и выполните `/login`, чтобы вместо этого использовать аутентификацию по подписке

947* Если ключ поступает из скрипта [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), запустите скрипт напрямую, чтобы подтвердить, что он выводит действительный ключ на stdout953* Если ключ поступает из скрипта [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper), запустите скрипт напрямую и убедитесь, что он выводит действительный ключ в stdout

948* Запустите `/status`, чтобы подтвердить, какой источник учетных данных Claude Code на самом деле использует954* Выполните `/status`, чтобы проверить, какой источник учётных данных Claude Code фактически использует

949 955 

950<h3 id="your-apikeyhelper-script-is-failing">956<h3 id="your-apikeyhelper-script-is-failing">

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

952</h3>958</h3>

953 959 

954Claude Code запустил команду в вашей настройке [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) и не получил ключ обратно. Без него запрос достигает API с учетными данными-заполнителем, и API отклоняет его с `401`. Панель `Authentication` в терминале показывает, что произошло:960Claude Code выполнил команду из вашей настройки [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) и не получил ключ. Без него запрос доходит до API с учётными данными-заглушкой, и API отклоняет его с кодом `401`. Панель `Authentication` в терминале показывает, что именно произошло:

955 961 

956* Команда завершилась с ошибкой или истекло время ожидания962* Команда завершилась с ошибкой или по таймауту

957* Команда ничего не вывела на stdout963* Команда ничего не вывела в stdout

958* Команда вывела что-то, кроме ключа, например баннер входа или строку журнала. Панель показывает `returned output that cannot be used as an API key` и говорит, что не так, без повторения вывода. До v2.1.227 Claude Code отправлял все, что выводила команда, после обрезки окружающих пробелов.964* Команда вывела что-то помимо ключа, например баннер входа или строку лога. Панель показывает `returned output that cannot be used as an API key` и сообщает, в чём проблема, не повторяя вывод. До версии v2.1.227 Claude Code отправлял всё, что выводила команда, после удаления окружающих пробелов.

959 965 

960```text theme={null}966```text theme={null}

961Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output967Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output

962```968```

963 969 

964В [non-interactive mode](/docs/ru/headless) stderr также содержит конкретную причину с префиксом `apiKeyHelper failed:`.970В [неинтерактивном режиме](/docs/ru/headless) stderr также содержит конкретную причину с префиксом `apiKeyHelper failed:`.

965 971 

966Claude Code повторно запускает скрипт и повторяет попытку запроса еще два раза перед отображением этого сообщения, поэтому сбой проявляется в течение трех попыток. До v2.1.208 Claude Code тратил полный [retry budget](#automatic-retries), повторно отправляя запрос с учетными данными-заполнителем, а затем сообщал об общей ошибке аутентификации `401` вместо сбоя скрипта.972Прежде чем показать это сообщение, Claude Code перезапускает скрипт и повторяет запрос ещё до двух раз, поэтому сбой проявляется в пределах трёх попыток. До версии v2.1.208 Claude Code расходовал весь [лимит повторных попыток](#automatic-retries), повторно отправляя запрос с учётными данными-заглушкой, а затем сообщал об общей ошибке аутентификации `401` вместо сбоя скрипта.

967 973 

968Запуск `/login` здесь не помогает: вывод помощника [takes precedence](/docs/ru/authentication#authentication-precedence) над сохраненным входом, пока параметр присутствует.974Выполнение `/login` здесь не поможет: вывод помощника [имеет приоритет](/docs/ru/authentication#authentication-precedence) над сохранённым входом, пока эта настройка присутствует.

969 975 

970**Что делать:**976**Что делать:**

971 977 

972* Запустите команду, настроенную в `apiKeyHelper`, непосредственно в вашей оболочке, чтобы воспроизвести сбой978* Запустите команду, настроенную в `apiKeyHelper`, напрямую в оболочке, чтобы воспроизвести сбой

973* Если команда сообщает об истекшем сеансе, повторно аутентифицируйтесь с помощью вашего поставщика учетных данных, например, снова войдя в свой SSO или хранилище секретов979* Если команда сообщает об истёкшей сессии, повторно пройдите аутентификацию у своего провайдера учётных данных, например снова войдите в SSO или хранилище секретов

974* Исправьте команду так, чтобы она выводила только ключ на stdout как один токен печатаемого ASCII до 16 384 символов и выходила с кодом 0. См. [rotate credentials with apiKeyHelper](/docs/ru/llm-gateway-connect#rotate-credentials-with-apikeyhelper) для рабочей установки.980* Исправьте команду так, чтобы она выводила в stdout только ключ — одним токеном из печатаемых ASCII-символов длиной до 16 384 символов — и завершалась с кодом 0. Рабочую настройку см. в разделе [Ротация учётных данных с помощью apiKeyHelper](/docs/ru/llm-gateway-connect#rotate-credentials-with-apikeyhelper).

975* Запустите `/status`, чтобы увидеть сбой и подтвердить, что `apiKeyHelper` является активным источником учетных данных. Строка `apiKeyHelper` показывает `Failing` с деталью последнего сбоя, такой как код выхода и вывод ошибки команды, и исчезает после следующего успешного запуска. До v2.1.274 `/status` показывал только источник учетных данных, а не сбой.981* Выполните `/status`, чтобы увидеть сбой и убедиться, что `apiKeyHelper` — активный источник учётных данных. Строка `apiKeyHelper` показывает `Failing` с подробностями последнего сбоя, такими как код выхода и вывод ошибок команды, и исчезает после следующего успешного запуска. До версии v2.1.274 `/status` показывал только источник учётных данных, но не сбой.

976* Каждый раз, когда команда не выполняется, ее код выхода и вывод ошибки также появляются в панели `Authentication` в терминале. До v2.1.212 панель была озаглавлена `Cloud authentication`.982* При каждом сбое команды её код выхода и вывод ошибок также появляются на панели `Authentication` в терминале. До версии v2.1.212 панель называлась `Cloud authentication`.

977 983 

978<h3 id="invalid-request-header-value">984<h3 id="invalid-request-header-value">

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

980</h3>986</h3>

981 987 

982Значение, которое Claude Code собирался отправить как заголовок запроса, содержит символ, который HTTP-заголовки не могут передавать: разрыв строки, байт NUL или символ выше `U+00FF`, такой как фигурная кавычка или нулевой пробел. Claude Code останавливает запрос перед отправкой чего-либо и называет переменную или параметр для исправления. Обычная причина — учетные данные, вставленные из документа или чата, которые содержали невидимый символ или случайный разрыв строки.988Значение, которое Claude Code собирался отправить в заголовке запроса, содержит символ, который не может передаваться в HTTP-заголовках: перевод строки, байт NUL или символ выше `U+00FF`, например фигурную кавычку или пробел нулевой ширины. Claude Code останавливает запрос до какой-либо отправки и называет переменную или настройку, которую нужно исправить. Обычная причина — учётные данные, скопированные из документа или чата, которые содержали невидимый символ или лишний перевод строки.

983 989 

984Claude Code запускает эту проверку при отправке запросов к Claude API напрямую или через [LLM gateway](/docs/ru/llm-gateway). На стороннем облачном провайдере, таком как [Amazon Bedrock](/docs/ru/amazon-bedrock), Claude Code не запускает ее перед отправкой.990Claude Code выполняет эту проверку, когда отправляет запросы к Claude API напрямую или через [LLM-шлюз](/docs/ru/llm-gateway). У стороннего облачного провайдера, например [Amazon Bedrock](/docs/ru/amazon-bedrock), Claude Code не выполняет её перед отправкой.

985 991 

986```text theme={null}992```text theme={null}

987Invalid auth token · Fix external auth token993Invalid auth token · Fix external auth token


989Invalid request header from the environment · Fix the environment variable995Invalid request header from the environment · Fix the environment variable

990```996```

991 997 

992Первая часть сообщения зависит от того, откуда поступило плохое значение:998Первая часть сообщения зависит от того, откуда взялось некорректное значение:

993 999 

994* `Invalid auth token`: токен-носитель из [`ANTHROPIC_AUTH_TOKEN`](/docs/ru/env-vars) или [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars)1000* `Invalid auth token`: Bearer-токен из [`ANTHROPIC_AUTH_TOKEN`](/docs/ru/env-vars) или [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars)

995* `Invalid ANTHROPIC_CUSTOM_HEADERS`: имя заголовка или значение, которое вы установили в [`ANTHROPIC_CUSTOM_HEADERS`](/docs/ru/env-vars). Описание подсчитывает, какая пара `Name: Value` виновата, например `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, без повторения имени или значения, так как вы выбрали оба.1001* `Invalid ANTHROPIC_CUSTOM_HEADERS`: имя или значение заголовка, заданное вами в [`ANTHROPIC_CUSTOM_HEADERS`](/docs/ru/env-vars). Описание указывает порядковый номер проблемной пары `Name: Value`, например `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`, не повторяя имя или значение, поскольку вы выбрали и то, и другое.

996* `Invalid request header from the environment`: значение, которое Claude Code копирует в заголовок запроса из другой переменной окружения, такой как `CLAUDE_AGENT_SDK_CLIENT_APP`. Описание называет переменную для исправления.1002* `Invalid request header from the environment`: значение, которое Claude Code копирует в заголовок запроса из другой переменной окружения, например `CLAUDE_AGENT_SDK_CLIENT_APP`. Описание называет переменную, которую нужно исправить.

997 1003 

998Claude 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).1004Некорректный `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).

999 1005 

1000После второго `·` сообщение описывает проблему, как в этом полном примере:1006После второго `·` сообщение описывает проблему, как в этом полном примере:

1001 1007 


1003Invalid 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).1009Invalid 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).

1004```1010```

1005 1011 

1006Позиции считают символы, начиная с одного. Описание построено из фиксированных фраз и подсчета символов, поэтому оно никогда не включает само значение. Оно называет оскорбительный символ только тогда, когда это хорошо известный невидимый или типографский символ, такой как метка порядка байтов, нулевой пробел или фигурная кавычка, и сообщает все остальное как `a non-ASCII character`.1012Позиции отсчитываются в символах начиная с единицы. Описание составляется из фиксированных фраз и количества символов, поэтому никогда не включает само значение. Оно называет проблемный символ только в том случае, если это хорошо известный невидимый или типографский символ, например метка порядка байтов, пробел нулевой ширины или фигурная кавычка, а всё остальное сообщает как `a non-ASCII character`.

1007 1013 

1008**Что делать:**1014**Что делать:**

1009 1015 

1010* Переустановите переменную или параметр, который называет сообщение, переписав символы вокруг указанной позиции, а не вставляя из того же источника снова1016* Заново задайте переменную или настройку, названную в сообщении, перепечатав символы вокруг указанной позиции вместо повторного копирования из того же источника

1011* Для `ANTHROPIC_CUSTOM_HEADERS` держите одну пару `Name: Value` на строку и переписывайте пару, которую считает сообщение1017* Для `ANTHROPIC_CUSTOM_HEADERS` указывайте одну пару `Name: Value` на строку и перепишите пару, номер которой указан в сообщении

1012* Запустите `/status`, чтобы подтвердить, какой источник учетных данных активен1018* Выполните `/status`, чтобы проверить, какой источник учётных данных активен

1013 1019 

1014<h3 id="this-organization-has-been-disabled">1020<h3 id="this-organization-has-been-disabled">

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

1016</h3>1022</h3>

1017 1023 

1018Claude Code использует устаревший `ANTHROPIC_API_KEY` из отключенной организации Console. Когда у вас есть сохраненный вход подписки, ключ переопределяет его.1024Claude Code использует устаревший `ANTHROPIC_API_KEY` из отключённой организации Console. Если у вас есть сохранённый вход по подписке, ключ переопределяет его.

1019 1025 

1020```text theme={null}1026```text theme={null}

1021Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead1027Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead


1023API Error: 400 ... This organization has been disabled.1029API Error: 400 ... This organization has been disabled.

1024```1030```

1025 1031 

1026Подсказка после `·` зависит от ваших сохраненных учетных данных: первая форма появляется, когда сохраненный `/login` может взять верх после отмены установки ключа, а вторая, когда ключ является вашим единственным учетным данным.1032Подсказка после `·` зависит от ваших сохранённых учётных данных: первая форма появляется, когда сохранённый `/login` может вступить в силу после удаления ключа, а вторая — когда ключ является вашими единственными учётными данными.

1027 1033 

1028Переменные окружения имеют приоритет над `/login`, поэтому ключ, экспортированный в профиль вашей оболочки или загруженный из файла `.env`, используется даже при наличии рабочей подписки Pro или Max. В неинтерактивном режиме (`-p`) ключ всегда используется при наличии.1034Переменные окружения имеют приоритет над `/login`, поэтому ключ, экспортированный в профиле оболочки или загруженный из файла `.env`, используется, даже если у вас есть рабочая подписка Pro или Max. В неинтерактивном режиме (`-p`) ключ всегда используется, если он присутствует.

1029 1035 

1030**Что делать:**1036**Что делать:**

1031 1037 

1032* Отмените установку `ANTHROPIC_API_KEY` в текущей оболочке и удалите его из профиля вашей оболочки, затем перезапустите `claude`1038* Удалите `ANTHROPIC_API_KEY` в текущей оболочке и из профиля оболочки, затем перезапустите `claude`

1033* Если сообщение говорит `Update or unset`, у вас нет сохраненного входа для отката. Отмените установку ключа и запустите `/login`, или замените ключ на ключ из активной организации Console.1039* Если в сообщении сказано `Update or unset`, у вас нет сохранённого входа, к которому можно вернуться. Удалите ключ и выполните `/login` или замените ключ на ключ из активной организации Console.

1034* Запустите `/status` после этого, чтобы подтвердить, что активные учетные данные — это ваша подписка1040* После этого выполните `/status`, чтобы убедиться, что активные учётные данные — это ваша подписка

1035* Если переменная окружения не установлена и ошибка сохраняется, свяжитесь с поддержкой или войдите с другой учетной записью.1041* Если переменная окружения не задана, а ошибка сохраняется, обратитесь в поддержку или войдите с другой учётной записью.

1036 1042 

1037<h3 id="your-organization-has-disabled-api-key-authentication">1043<h3 id="your-organization-has-disabled-api-key-authentication">

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

1039</h3>1045</h3>

1040 1046 

1041Это сообщение требует Claude Code v2.1.169 или более поздней версии. Администратор вашей организации Console отключил аутентификацию по ключу API, поэтому API отклоняет ключ, который отправляет Claude Code. Подсказка восстановления после `·` варьируется в зависимости от того, откуда поступил ключ:1047Это сообщение требует Claude Code v2.1.169 или более поздней версии. Администратор вашей организации Console отключил аутентификацию по API-ключу, поэтому API отклоняет ключ, который отправляет Claude Code. Подсказка по восстановлению после `·` зависит от того, откуда взялся ключ:

1042 1048 

1043```text theme={null}1049```text theme={null}

1044Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account1050Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account


1048Your organization has disabled API key authentication · Sign in again with your claude.ai account1054Your organization has disabled API key authentication · Sign in again with your claude.ai account

1049```1055```

1050 1056 

1051Последняя форма появляется в сеансе, который запускает приложение Claude Desktop, такой как вкладка Code или Cowork, где вы снова входите из приложения.1057Последняя форма появляется в сессии, которую запускает приложение Claude Desktop, например во вкладке Code или в Cowork, где повторный вход выполняется из приложения.

1052 1058 

1053Переменные окружения и `apiKeyHelper` имеют приоритет над `/login`, поэтому запуск только `/login` не помогает, пока любой из них все еще предоставляет ключ. См. [Authentication precedence](/docs/ru/authentication#authentication-precedence).1059Переменные окружения и `apiKeyHelper` имеют приоритет над `/login`, поэтому одно лишь выполнение `/login` не поможет, пока любой из них продолжает предоставлять ключ. См. [Приоритет аутентификации](/docs/ru/authentication#authentication-precedence).

1054 1060 

1055**Что делать:**1061**Что делать:**

1056 1062 

1057* Если сообщение называет `ANTHROPIC_API_KEY`, отмените его установку в текущей оболочке и удалите его из профиля вашей оболочки или файла `.env`, затем перезапустите `claude`1063* Если в сообщении упоминается `ANTHROPIC_API_KEY`, удалите эту переменную в текущей оболочке и из профиля оболочки или файла `.env`, затем перезапустите `claude`

1058* Если сообщение называет `apiKeyHelper`, удалите параметр [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) из вашего `settings.json`1064* Если в сообщении упоминается `apiKeyHelper`, удалите настройку [`apiKeyHelper`](/docs/ru/settings-reference#apikeyhelper) из вашего `settings.json`

1059* Запустите `/login`, чтобы войти с помощью вашей учетной записи claude.ai1065* Выполните `/login`, чтобы войти с учётной записью claude.ai

1060* Запустите `/status` после этого, чтобы подтвердить, что активные учетные данные — это ваша подписка, а не ключ API1066* После этого выполните `/status`, чтобы убедиться, что активные учётные данные — это ваша подписка, а не API-ключ

1061* Если вам нужна аутентификация по ключу API для автоматизации, попросите администратора вашей организации повторно включить ее в Console1067* Если вам нужна аутентификация по API-ключу для автоматизации, попросите администратора организации снова включить её в Console

1062 1068 

1063<h3 id="your-organization-has-disabled-claude-subscription-access">1069<h3 id="your-organization-has-disabled-claude-subscription-access">

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

1065</h3>1071</h3>

1066 1072 

1067Ваша организация Claude не позволяет входить в Claude Code с помощью входа подписки. Запуск `/login` снова с той же учетной записью возвращает ту же ошибку.1073Ваша организация Claude не разрешает вход в Claude Code с помощью входа по подписке. Повторное выполнение `/login` с той же учётной записью возвращает ту же ошибку.

1068 1074 

1069```text theme={null}1075```text theme={null}

1070Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access1076Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access

1071```1077```

1072 1078 

1073Это параметр организации на стороне сервера, поэтому его нельзя переопределить из локальных параметров, переменных окружения или флагов CLI.1079Это серверная настройка организации, поэтому её нельзя переопределить с помощью локальных настроек, переменных окружения или флагов CLI.

1074 1080 

1075Agent SDK и неинтерактивный режим `-p` отображают это как код ошибки `oauth_org_not_allowed`.1081Agent SDK и неинтерактивный режим `-p` сообщают об этом с кодом ошибки `oauth_org_not_allowed`.

1076 1082 

1077**Что делать:**1083**Что делать:**

1078 1084 

1079* Попросите администратора включить доступ Claude Code для вашей организации1085* Попросите администратора включить доступ к Claude Code для вашей организации

1080* Аутентифицируйтесь с помощью ключа API Console вместо вашей подписки. См. [Claude Console authentication](/docs/ru/authentication#claude-console-authentication) для установки.1086* Проходите аутентификацию с API-ключом Console вместо подписки. Порядок настройки см. в разделе [Аутентификация через Claude Console](/docs/ru/authentication#claude-console-authentication).

1081* Если вы администратор и не видите опцию для включения доступа, свяжитесь с [Anthropic support](https://support.claude.com)1087* Если вы администратор и не видите возможности включить доступ, обратитесь в [поддержку Anthropic](https://support.claude.com)

1082 1088 

1083<h3 id="routines-are-disabled-by-your-organizations-policy">1089<h3 id="routines-are-disabled-by-your-organizations-policy">

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

1085</h3>1091</h3>

1086 1092 

1087Владелец в вашей организации Team или Enterprise отключил routines на уровне организации. Ошибка появляется при попытке создать или запустить routine, например из пользовательского интерфейса [Routines](/docs/ru/routines) на claude.ai/code. На Claude Code v2.1.227 или более поздней версии тот же параметр также [hides `/schedule`](/docs/ru/routines#troubleshooting) в CLI.1093Owner в вашей организации Team или Enterprise отключил routines на уровне организации. Ошибка появляется при попытке создать или запустить routine, например из интерфейса [Routines](/docs/ru/routines) на claude.ai/code. В Claude Code v2.1.227 и более поздних версиях та же настройка также [скрывает `/schedule`](/docs/ru/routines#troubleshooting) в CLI.

1088 1094 

1089```text theme={null}1095```text theme={null}

1090Routines are disabled by your organization's policy.1096Routines are disabled by your organization's policy.

1091```1097```

1092 1098 

1093Это параметр на стороне сервера, поэтому его нельзя переопределить из локальных параметров, переменных окружения или флагов CLI.1099Это серверная настройка, поэтому её нельзя переопределить с помощью локальных настроек, переменных окружения или флагов CLI.

1094 1100 

1095**Что делать:**1101**Что делать:**

1096 1102 

1097* Попросите владельца в вашей организации включить переключатель **Routines** на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)1103* Попросите Owner в вашей организации включить переключатель **Routines** на странице [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

1098* Для одноразовой запланированной работы, которая не требует routines на уровне организации, см. [scheduled tasks](/docs/ru/scheduled-tasks)1104* Для разовых запланированных задач, которым не нужны routines на уровне организации, см. [запланированные задачи](/docs/ru/scheduled-tasks)

1099 1105 

1100<h3 id="remote-control-requires-the-anthropic-api">1106<h3 id="remote-control-requires-the-anthropic-api">

1101 Remote Control requires the Anthropic API1107 Remote Control требует Anthropic API

1102</h3>1108</h3>

1103 1109 

1104Сеанс не разговаривает с Anthropic API напрямую, что требует [Remote Control](/docs/ru/remote-control).1110Сессия не взаимодействует с Anthropic API напрямую, а это необходимо для [Remote Control](/docs/ru/remote-control).

1105 1111 

1106```text theme={null}1112```text theme={null}

1107Remote 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.1113Remote 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.

1108```1114```

1109 1115 

1110Второе предложение объясняет, что направило сеанс от Anthropic API; до v2.1.219 сообщение было только первым предложением. В зависимости от причины сообщение называет:1116Второе предложение объясняет, что направило сессию в обход Anthropic API; до версии v2.1.219 сообщение состояло только из первого предложения. В зависимости от причины сообщение называет:

1111 1117 

1112* Переменную поставщика `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)1118* Переменную провайдера `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)

1113* [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars), указывающий на хост, отличный от `api.anthropic.com`, такой как [LLM gateway](/docs/ru/llm-gateway) или прокси, даже при входе с claude.ai; до v2.1.196 пользовательский базовый URL не блокировал Remote Control1119* [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars), указывающую на хост, отличный от `api.anthropic.com`, например на [LLM-шлюз](/docs/ru/llm-gateway) или прокси, даже если вы входите с claude.ai; до версии v2.1.196 пользовательский базовый URL не блокировал Remote Control

1114* `ANTHROPIC_UNIX_SOCKET` установлен, поэтому сеанс отправляет свои запросы через локальный сокет, а не на `api.anthropic.com`1120* Заданную `ANTHROPIC_UNIX_SOCKET`, из-за чего сессия отправляет запросы через локальный сокет, а не на `api.anthropic.com`

1115* Вход в корпоративный [cloud gateway](/docs/ru/claude-apps-gateway) через `/login`, который не поддерживает Remote Control и не имеет переменной для отмены установки1121* Вход через корпоративный [облачный шлюз](/docs/ru/claude-apps-gateway), выполненный через `/login`, который не поддерживает Remote Control и не имеет переменной, которую можно удалить

1116 1122 

1117**Что делать:**1123**Что делать:**

1118 1124 

1119* Отмените установку переменной, которую называет сообщение, такой как `CLAUDE_CODE_USE_BEDROCK` или `ANTHROPIC_BASE_URL`, и перезапустите сеанс, или запустите Remote Control из сеанса, который разговаривает с Anthropic API напрямую1125* Удалите переменную, названную в сообщении, например `CLAUDE_CODE_USE_BEDROCK` или `ANTHROPIC_BASE_URL`, и перезапустите сессию или запустите Remote Control из сессии, которая взаимодействует с Anthropic API напрямую

1120* Если переменная не установлена в вашей оболочке, проверьте ключ `env` в ваших [settings files](/docs/ru/settings#where-settings-live), который применяет переменные окружения к каждому сеансу1126* Если переменная не задана в вашей оболочке, проверьте ключ `env` в ваших [файлах настроек](/docs/ru/settings#where-settings-live), который применяет переменные окружения к каждой сессии

1121* Для этого и других сообщений запуска Remote Control см. [Troubleshoot Remote Control](/docs/ru/remote-control#troubleshooting)1127* Об этом и других сообщениях при запуске Remote Control см. в разделе [Устранение неполадок Remote Control](/docs/ru/remote-control#troubleshooting)

1122 1128 

1123<h3 id="remote-control-couldnt-refresh-your-login">1129<h3 id="remote-control-couldnt-refresh-your-login">

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

1125</h3>1131</h3>

1126 1132 

1127Claude Code запускает живое соединение [Remote Control](/docs/ru/remote-control) на краткосрочных учетных данных, которые он получает и обновляет, используя ваш сохраненный вход claude.ai. Когда claude.ai перестает принимать этот вход, или Claude Code больше не имеет сохраненного входа, Claude Code останавливает Remote Control и просит вас снова войти. Любой сбой может произойти, пока Claude Code все еще подключается, или позже, когда он обновляет учетные данные.1133Claude Code поддерживает активное подключение [Remote Control](/docs/ru/remote-control) с помощью краткосрочных учётных данных, которые он получает и обновляет, используя ваш сохранённый вход в claude.ai. Когда claude.ai перестаёт принимать этот вход или у Claude Code не остаётся сохранённого входа, Claude Code останавливает Remote Control и требует повторного входа. Любой из этих сбоев может произойти как во время подключения Claude Code, так и позже, при обновлении учётных данных.

1128 1134 

1129Когда Claude Code просит службу входа обновить ваш сохраненный вход и не получает ответ, он продолжает работу Remote Control и пытается обновление снова, пока текущее учетное данные соединения все еще действительны. Обновление не получает ответ, когда Claude Code не может достичь службы входа, запрос истекает, или служба завершается ошибкой без отклонения вашего входа. Если служба входа все еще не отвечает, когда это учетное данные истекает, Claude Code останавливает Remote Control и сообщает `OAuth token refresh failed`.1135Когда Claude Code просит службу входа обновить ваш сохранённый вход и не получает ответа, он продолжает работу Remote Control и повторяет попытку обновления, пока текущие учётные данные подключения ещё действительны. Обновление остаётся без ответа, когда Claude Code не может связаться со службой входа, запрос завершается по таймауту или служба даёт сбой, не отклоняя ваш вход. Если служба входа всё ещё не отвечает к моменту истечения этих учётных данных, Claude Code останавливает Remote Control и сообщает `OAuth token refresh failed`.

1130 1136 

1131Когда Claude Code останавливает Remote Control, он показывает причину в предупреждении и в строке стенограммы, которая начинается с `Remote Control disconnected`. Ваш локальный сеанс продолжает работу без Remote Control. Этот раздел охватывает эти строки:1137Когда Claude Code останавливает Remote Control, он показывает причину в предупреждении и в строке транскрипта, начинающейся с `Remote Control disconnected`. Ваша локальная сессия продолжает работать без Remote Control. В этом разделе рассматриваются следующие строки:

1132 1138 

1133```text theme={null}1139```text theme={null}

1134Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control1140Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control


1142 1148 

1143Claude Code называет причину в середине сообщения:1149Claude Code называет причину в середине сообщения:

1144 1150 

1145* ` Claude.ai login expired` и `Claude.ai login was rejected`: claude.ai больше не принимает ваш сохраненный токен входа, потому что он истек или был отозван1151* `Claude.ai login expired` и `Claude.ai login was rejected`: claude.ai больше не принимает ваш сохранённый токен входа, потому что он истёк или был отозван

1146* ` OAuth token unavailable`: Claude Code не имел сохраненного токена входа, когда учетные данные соединения пришли на обновление1152* `OAuth token unavailable`: у Claude Code не было сохранённого токена входа, когда подошёл срок обновления учётных данных подключения

1147* `OAuth token refresh failed`: claude.ai отклонил ваш сохраненный токен входа, пока Claude Code переподключался, и обновление токена не дало нового1153* `OAuth token refresh failed`: claude.ai отклонил ваш сохранённый токен входа во время переподключения Claude Code, и обновление токена не дало нового

1148* `JWT refresh failed: no OAuth token`: Claude Code не нашел сохраненный токен входа для обновления1154* `JWT refresh failed: no OAuth token`: Claude Code не нашёл сохранённого токена входа для обновления

1149* ` Signed out of Claude`: вы вышли на этой машине, например, запустив `/logout` в другом терминале, поэтому Claude Code больше не имеет сохраненного входа для обновления соединения1155* `Signed out of Claude`: вы вышли из системы на этой машине, например выполнив `/logout` в другом терминале, поэтому у Claude Code не осталось сохранённого входа для обновления подключения

1150 1156 

1151**Что делать:**1157**Что делать:**

1152 1158 

1153* Запустите `/login`, чтобы снова войти1159* Выполните `/login`, чтобы войти снова

1154* Запустите `/remote-control`, чтобы переподключить сеанс. Сообщения, заканчивающиеся `run /login to restore Remote Control`, не нуждаются в этом шаге: Claude Code переподключается автоматически после входа.1160* Выполните `/remote-control`, чтобы переподключить сессию. Для сообщений, заканчивающихся на `run /login to restore Remote Control`, этот шаг не нужен: Claude Code переподключается самостоятельно после вашего входа.

1155 1161 

1156До v2.1.224 `OAuth token refresh failed — run /login to re-authenticate` читалось как `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, и `JWT refresh failed: no OAuth token — run /login` читалось как `no OAuth token available for recovery (code <N>)`. Сообщения `Claude.ai login expired`, `Claude.ai login was rejected` и `OAuth token unavailable` были добавлены в v2.1.225.1162До версии v2.1.224 сообщение `OAuth token refresh failed — run /login to re-authenticate` звучало как `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`, а `JWT refresh failed: no OAuth token — run /login` — как `no OAuth token available for recovery (code <N>)`. Сообщения `Claude.ai login expired`, `Claude.ai login was rejected` и `OAuth token unavailable` были добавлены в v2.1.225.

1157 1163 

1158До 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` как только одно обновление входа не получило ответ.1164До версии 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`, как только одно обновление входа оставалось без ответа.

1159 1165 

1160<h3 id="remote-control-stopped-because-the-signed-in-account-changed">1166<h3 id="remote-control-stopped-because-the-signed-in-account-changed">

1161 Remote Control stopped because the signed-in account changed1167 Remote Control остановлен, так как изменилась учётная запись, в которую выполнен вход

1162</h3>1168</h3>

1163 1169 

1164Claude Code показывает эту строку во время сеанса [Remote Control](/docs/ru/remote-control), когда вы входите в другую учетную запись claude.ai или организацию на этой машине. Вы сделали переключение вне сеанса Claude Code, например, запустив `/login` в другом терминале.1170Claude Code показывает эту строку во время сессии [Remote Control](/docs/ru/remote-control), когда вы входите в другую учётную запись или организацию claude.ai на этой машине. Переключение было выполнено вне сессии Claude Code, например выполнением `/login` в другом терминале.

1165 1171 

1166Сеанс Remote Control, который вы запустили, пока были подписаны через `/login`, принадлежит учетной записи claude.ai и организации, которые были подписаны в то время.1172Сессия Remote Control, запущенная вами при входе через `/login`, принадлежит учётной записи и организации claude.ai, в которые был выполнен вход на тот момент.

1167 1173 

1168```text theme={null}1174```text theme={null}

1169Remote 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-control1175Remote 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

1170```1176```

1171 1177 

1172Claude Code останавливает сеанс Remote Control как только claude.ai подтверждает, что учетная запись или организация изменились. Ваш локальный сеанс продолжает работу без Remote Control.1178Claude Code останавливает сессию Remote Control, как только claude.ai подтверждает, что учётная запись или организация изменилась. Ваша локальная сессия продолжает работать без Remote Control.

1173 1179 

1174**Что делать:**1180**Что делать:**

1175 1181 

1176* Запустите `/remote-control`, чтобы запустить новый сеанс Remote Control под текущей учетной записью или организацией1182* Выполните `/remote-control`, чтобы запустить новую сессию Remote Control под текущей учётной записью или организацией

1177* Для переключения обратно запустите `/login` и снова войдите в предыдущую учетную запись или организацию. Затем запустите `/remote-control`.1183* Чтобы переключиться обратно, выполните `/login` и снова войдите в предыдущую учётную запись или организацию. Затем выполните `/remote-control`.

1178 1184 

1179До v2.1.234 Claude Code не замечал, когда вы переключались на другую учетную запись или организацию вне сеанса Claude Code. Claude Code держал сеанс Remote Control подключенным до более позднего запроса к серверу Remote Control, который завершился ошибкой `Remote Control server rejected the request (HTTP 404)`. Этот сбой мог произойти часами после переключения.1185До версии v2.1.234 Claude Code не замечал, когда вы переключались на другую учётную запись или организацию вне сессии Claude Code. Claude Code сохранял подключение сессии Remote Control до тех пор, пока последующий запрос к серверу Remote Control не завершался ошибкой `Remote Control server rejected the request (HTTP 404)`. Этот сбой мог произойти через несколько часов после переключения.

1180 1186 

1181<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">1187<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">

1182 Remote Control stopped because the app running the session signed out or switched accounts1188 Remote Control остановлен, так как приложение, в котором работает сессия, вышло из системы или сменило учётную запись

1183</h3>1189</h3>

1184 1190 

1185Когда приложение Claude desktop или IDE размещает ваш сеанс, Claude Code получает свой токен входа из этого приложения, а не из `/login`. Когда claude.ai отклоняет этот токен, Claude Code просит приложение о новом. Если приложение отвечает, что оно вышло, или что оно теперь подписано на другую учетную запись Claude, Claude Code заканчивает сеанс [Remote Control](/docs/ru/remote-control) и отправляет приложению одну из этих строк:1191Когда вашу сессию размещает десктопное приложение Claude или IDE, Claude Code получает токен входа от этого приложения, а не от `/login`. Когда claude.ai отклоняет этот токен, Claude Code запрашивает у приложения новый. Если приложение отвечает, что оно вышло из системы или теперь вошло в другую учётную запись Claude, Claude Code завершает сессию [Remote Control](/docs/ru/remote-control) и отправляет приложению одну из следующих строк:

1186 1192 

1187```text theme={null}1193```text theme={null}

1188Remote Control stopped — the app running this session is now signed in to a different Claude account1194Remote Control stopped — the app running this session is now signed in to a different Claude account

1189Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on1195Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on

1190```1196```

1191 1197 

1192Ваш локальный сеанс продолжает работу без Remote Control.1198Ваша локальная сессия продолжает работать без Remote Control.

1193 1199 

1194**Что делать:**1200**Что делать:**

1195 1201 

1196* Если приложение вышло, снова войдите в него, затем включите Remote Control обратно в приложении1202* Если приложение вышло из системы, снова войдите в него, затем включите Remote Control в приложении

1197* Если приложение переключило учетные записи, Claude Code не может продолжить завершенный сеанс под новой учетной записью. Запустите новый сеанс Remote Control под этой учетной записью.1203* Если приложение сменило учётную запись, Claude Code не может продолжить завершённую сессию под новой учётной записью. Запустите новую сессию Remote Control под этой учётной записью.

1198 1204 

1199До v2.1.238 Claude Code отправлял приложению сообщения `run /login`, перечисленные в [Remote Control couldn't refresh your login](#remote-control-couldnt-refresh-your-login) в обоих случаях.1205До версии v2.1.238 Claude Code в обоих случаях отправлял приложению сообщения `run /login`, перечисленные в разделе [Remote Control не удалось обновить ваш вход](#remote-control-couldnt-refresh-your-login).

1200 1206 

1201<h3 id="oauth-token-revoked-or-expired">1207<h3 id="oauth-token-revoked-or-expired">

1202 OAuth token revoked or expired1208 Токен OAuth отозван или истёк

1203</h3>1209</h3>

1204 1210 

1205Ваш сохраненный вход больше не действителен. Отозванный токен означает, что вы вышли везде или администратор удалил доступ; истекший токен означает, что автоматическое обновление не удалось в середине сеанса.1211Ваш сохранённый вход больше не действителен. Отозванный токен означает, что вы вышли из системы везде или администратор отозвал доступ; истёкший токен означает, что автоматическое обновление не удалось посреди сессии.

1206 1212 

1207Оба сообщения сообщают об отклонении, которое API вернул для запроса, отправленного Claude Code. Когда сохраненный вход уже был очищен после неудачного обновления, вы видите [Login expired](#login-expired) вместо этого. Если вы аутентифицируетесь с помощью долгоживущего токена в [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars), вы видите те же сообщения, когда этот токен истекает или отзывается.1213Оба сообщения сообщают об отказе, который API вернул на запрос, отправленный Claude Code. Если сохранённый вход уже был очищен после неудачного обновления, вместо этого вы увидите [Срок действия входа истёк](#login-expired). Если вы проходите аутентификацию с долгосрочным токеном в [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars), вы увидите те же сообщения, когда этот токен истечёт или будет отозван.

1208 1214 

1209```text theme={null}1215```text theme={null}

1210OAuth token revoked · Please run /login1216OAuth token revoked · Please run /login


1213 1219 

1214**Что делать:**1220**Что делать:**

1215 1221 

1216* Запустите `/login`, чтобы снова войти1222* Выполните `/login`, чтобы войти снова

1217* Если вы аутентифицируетесь с помощью переменной окружения `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 после истечения этого токена.1223* Если вы проходите аутентификацию с переменной окружения `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.

1218* Для повторных запросов на вход при запусках см. проверки системных часов и шаги восстановления хранилища учетных данных macOS в [Troubleshooting](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired)1224* Если вам многократно предлагается войти при каждом запуске, см. проверки системных часов и шаги восстановления хранилища учётных данных на macOS в разделе [Устранение неполадок](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired)

1219* Для других сбоев, включая `403 Forbidden` и проблемы браузера OAuth, см. [Login and authentication](/docs/ru/troubleshoot-install#login-and-authentication)1225* О других сбоях, включая `403 Forbidden` и проблемы OAuth в браузере, см. [Вход и аутентификация](/docs/ru/troubleshoot-install#login-and-authentication)

1220 1226 

1221<h3 id="api-error-401-invalid-authentication-credentials">1227<h3 id="api-error-401-invalid-authentication-credentials">

1222 API Error: 401 Invalid authentication credentials1228 API Error: 401 Invalid authentication credentials

1223</h3>1229</h3>

1224 1230 

1225API распознал формат вашего учетного данные, но отклонил учетную запись или организацию позади него. Anthropic возвращает это сообщение, когда учетные данные были недавно отозваны, когда организация была отключена или удалила ваш доступ, или когда сама учетная запись была деактивирована, поэтому истекший токен не является причиной. Учетные данные могут быть вашим сохраненным входом или одобренным `ANTHROPIC_API_KEY`, и исправление отличается, поэтому начните с запуска `/status`, чтобы увидеть, какой из них активен.1231API распознал формат ваших учётных данных, но отклонил стоящую за ними учётную запись или организацию. Anthropic возвращает это сообщение, когда учётные данные были недавно отозваны, когда организация была отключена или лишила вас доступа или когда сама учётная запись была деактивирована, так что причина не в истёкшем токене. Учётными данными может быть ваш сохранённый вход или одобренный `ANTHROPIC_API_KEY`, и способы исправления различаются, поэтому начните с выполнения `/status`, чтобы узнать, какие из них активны.

1226 1232 

1227```text theme={null}1233```text theme={null}

1228Please run /login · API Error: 401 Invalid authentication credentials1234Please run /login · API Error: 401 Invalid authentication credentials


1230 1236 

1231**Что делать:**1237**Что делать:**

1232 1238 

1233* Если `/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`.1239* Если `/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`.

1234* Если `/status` показывает только ваш вход, запустите `/login` один раз. Если учетные данные были отозваны, свежий вход заменяет его.1240* Если `/status` показывает только ваш вход, выполните `/login` один раз. Если учётные данные были отозваны, новый вход заменит их.

1235* Если то же сообщение возвращается для той же учетной записи входа, учетная запись или организация больше не активны. Проверьте учетную запись и организацию, которые сообщает `/status`, и попросите администратора вашей организации восстановить доступ.1241* Если то же сообщение возвращается для той же учётной записи входа, учётная запись или организация больше не активна. Проверьте учётную запись и организацию, которые показывает `/status`, и попросите администратора организации восстановить доступ.

1236* Если [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars) указывает на [LLM gateway](/docs/ru/llm-gateway), текст после `401` — это сообщение вашего шлюза, а не Anthropic, и `/login` не изменяет его. Исправьте учетные данные, которые ожидает ваш шлюз, вместо этого.1242* Если [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars) указывает на [LLM-шлюз](/docs/ru/llm-gateway), текст после `401` — это сообщение вашего шлюза, а не Anthropic, и `/login` его не изменит. Вместо этого исправьте учётные данные, которые ожидает ваш шлюз.

1237 1243 

1238<h3 id="login-expired">1244<h3 id="login-expired">

1239 Login expired1245 Срок действия входа истёк

1240</h3>1246</h3>

1241 1247 

1242Claude Code попытался обновить ваш сохраненный вход claude.ai, и служба OAuth отклонила сохраненный токен обновления, поэтому Claude Code очистил сохраненные учетные данные. После этого каждый запрос модели останавливается локально с этим сообщением перед тем, как достичь API, потому что только `/login` может создать новые учетные данные.1248Claude Code попытался обновить ваш сохранённый вход в claude.ai, но служба OAuth отклонила сохранённый токен обновления, поэтому Claude Code очистил сохранённые учётные данные. После этого каждый запрос к модели останавливается локально с этим сообщением ещё до того, как достигнет API, поскольку создать новые учётные данные может только `/login`.

1243 1249 

1244До v2.1.206 Claude Code отправлял запрос модели в любом случае с любыми оставшимися учетными данными в окружении, и каждая модель затем завершалась ошибкой [There's an issue with the selected model](#theres-an-issue-with-the-selected-model) или 401 вместо запроса на вход.1250До версии v2.1.206 Claude Code всё равно отправлял запрос к модели с любыми учётными данными, оставшимися в окружении, и затем каждая модель завершалась ошибкой [Проблема с выбранной моделью](#theres-an-issue-with-the-selected-model) или 401 вместо предложения войти.

1245 1251 

1246```text theme={null}1252```text theme={null}

1247Login expired · Please run /login1253Login expired · Please run /login

1248```1254```

1249 1255 

1250В [non-interactive mode](/docs/ru/headless) (`-p`) и [Agent SDK](/docs/ru/agent-sdk/overview) сообщение читается следующим образом, и код структурированной ошибки — `authentication_failed`:1256В [неинтерактивном режиме](/docs/ru/headless) (`-p`) и в [Agent SDK](/docs/ru/agent-sdk/overview) сообщение звучит следующим образом, а структурированный код ошибки — `authentication_failed`:

1251 1257 

1252```text theme={null}1258```text theme={null}

1253Failed to authenticate: OAuth session expired and could not be refreshed1259Failed to authenticate: OAuth session expired and could not be refreshed

1254```1260```

1255 1261 

1256Это не то же состояние, что [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) вместо этого.1262Это не то же состояние, что [Токен OAuth отозван или истёк](#oauth-token-revoked-or-expired). Те сообщения сообщают об отказе, который вернул API. `Login expired` генерирует сам Claude Code для входа, который ему уже не удалось обновить, поэтому запрос не отправляется. Если обновление не удалось из-за того, что приостановлена сама учётная запись, а не из-за устаревшего входа, Claude Code вместо этого показывает [Ваша учётная запись заблокирована](#your-account-is-on-hold).

1257 1263 

1258Сеансы, аутентифицированные с помощью ключа API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или стороннего поставщика, не используют сохраненный вход и никогда не видят это сообщение.1264Сессии, аутентифицированные с помощью API-ключа, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или стороннего провайдера, не используют сохранённый вход и никогда не видят этого сообщения.

1259 1265 

1260Вы можете проверить это состояние перед тем, как запрос завершится ошибкой: [`/status`](/docs/ru/commands) показывает строку `Login`, читающую `Expired — log in again`, плюс организацию и электронную почту, которые она сохранила для истекшего входа. Строка появляется только, когда сохраненный вход является вашим активным учетным данием и больше не может быть обновлен. Сеансы, аутентифицированные другим способом, не показывают строку, даже если истекший вход остается сохраненным. До v2.1.210 `/status` не давал никакого указания в этом состоянии, что вход когда-либо существовал, потому что очищенное учетное данные оставило ему нечего сообщать.1266Вы можете проверить наличие этого состояния до того, как запрос завершится ошибкой: [`/status`](/docs/ru/commands) показывает строку `Login` со значением `Expired — log in again`, а также организацию и адрес электронной почты, сохранённые для истёкшего входа. Строка появляется только тогда, когда сохранённый вход является вашими активными учётными данными и больше не может быть обновлён. Сессии, аутентифицированные другим способом, не показывают эту строку, даже если истёкший вход остаётся сохранённым. До версии v2.1.210 `/status` в этом состоянии никак не указывал, что вход вообще существовал, поскольку после очистки учётных данных ему нечего было сообщить.

1261 1267 

1262**Что делать:**1268**Что делать:**

1263 1269 

1264* Запустите `/login`, чтобы снова войти. Повторная попытка без входа показывает то же сообщение при каждом запросе.1270* Выполните `/login`, чтобы войти снова. Повторные попытки без входа показывают одно и то же сообщение при каждом запросе.

1265* В неинтерактивном режиме запустите `claude` в том же окружении, завершите `/login`, затем повторно запустите вашу команду. Для автоматизации, которая не может войти интерактивно, аутентифицируйтесь с помощью `ANTHROPIC_API_KEY` или [generate a long-lived token with `claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token).1271* Если вы входите с учётной записью claude.ai в другом окне Claude Code, см. раздел [Не выполнен вход](#not-logged-in), чтобы узнать, когда эта сессия начинает использовать этот вход самостоятельно.

1266* Если вход продолжает не удаваться, см. [Login and authentication](/docs/ru/troubleshoot-install#login-and-authentication)1272* В неинтерактивном режиме запустите `claude` в том же окружении, выполните `/login`, затем повторно запустите свою команду. Для автоматизации, в которой невозможен интерактивный вход, проходите аутентификацию с `ANTHROPIC_API_KEY` или [сгенерируйте долгосрочный токен с помощью `claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token).

1273* Если войти по-прежнему не удаётся, см. [Вход и аутентификация](/docs/ru/troubleshoot-install#login-and-authentication)

1267 1274 

1268<h3 id="could-not-refresh-your-login">1275<h3 id="could-not-refresh-your-login">

1269 Could not refresh your login because another Claude Code process is refreshing it1276 Не удалось обновить ваш вход, так как его обновляет другой процесс Claude Code

1270</h3>1277</h3>

1271 1278 

1272Это сообщение не означает, что ваш вход был отклонен. Ваш сохраненный вход claude.ai истек и нуждался в обновлении. Другой процесс Claude Code на той же машине держал общую блокировку обновления, или вышел и оставил ее позади, и обновление не прогрессировало, пока этот сеанс ждал. Claude Code останавливает запрос перед его отправкой:1279Это сообщение не означает, что ваш вход был отклонён. Срок действия вашего сохранённого входа в claude.ai истёк, и его нужно было обновить. Другой процесс Claude Code на той же машине удерживал общую блокировку обновления или завершился, оставив её, и пока эта сессия ждала, обновление не продвинулось. Claude Code останавливает запрос до отправки:

1273 1280 

1274```text theme={null}1281```text theme={null}

1275Could 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 /login1282Could 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

1276```1283```

1277 1284 

1278В [non-interactive mode](/docs/ru/headless) (`-p`) и [Agent SDK](/docs/ru/agent-sdk/overview) сообщение читается следующим образом, и код структурированной ошибки — `server_error`:1285В [неинтерактивном режиме](/docs/ru/headless) (`-p`) и в [Agent SDK](/docs/ru/agent-sdk/overview) сообщение звучит следующим образом, а структурированный код ошибки — `server_error`:

1279 1286 

1280```text theme={null}1287```text theme={null}

1281Failed 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 again1288Failed 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

1282```1289```

1283 1290 

1284Сеансы, аутентифицированные с помощью ключа API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или стороннего поставщика, не используют сохраненный вход и никогда не видят это сообщение.1291Сессии, аутентифицированные с помощью API-ключа, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или стороннего провайдера, не используют сохранённый вход и никогда не видят этого сообщения.

1285 1292 

1286**Что делать:**1293**Что делать:**

1287 1294 

1288* Попробуйте снова через минуту. Если другой процесс завершит обновление первым, этот сеанс использует обновленный вход.1295* Повторите попытку через минуту. Если другой процесс завершит обновление первым, эта сессия использует обновлённый вход.

1289* Если сообщение продолжает возвращаться, закройте другие окна и процессы Claude Code, затем повторите попытку.1296* Если сообщение продолжает появляться, закройте другие окна и процессы Claude Code, затем повторите попытку.

1290* Если оно возвращается без другого запущенного процесса Claude Code, запустите `/login`. Повторный вход не ждет блокировку обновления.1297* Если оно появляется, когда никакие другие процессы Claude Code не запущены, выполните `/login`. Повторный вход не ожидает снятия блокировки обновления.

1291 1298 

1292<h3 id="couldnt-save-your-login">1299<h3 id="couldnt-save-your-login">

1293 Couldn't save your login1300 Не удалось сохранить ваш вход

1294</h3>1301</h3>

1295 1302 

1296Вы вошли с claude.ai, но Claude Code не смог сохранить вход в его хранилище учетных данных, поэтому вход не завершился. На macOS это может произойти, когда цепочка входа блокируется, например, при сне или неактивности, после того как Claude Code уже прочитал или сохранил учетные данные в ней во время того же сеанса.1303Вы вошли с claude.ai, но Claude Code не смог сохранить вход в своё хранилище учётных данных, поэтому вход не был завершён. На macOS это может произойти, когда связка ключей входа блокируется, например при переходе в режим сна или при простое, после того как Claude Code уже прочитал или сохранил в ней учётные данные в течение той же сессии.

1297 1304 

1298```text theme={null}1305```text theme={null}

1299Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.1306Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.

1300Couldn't save your login. Try logging in again.1307Couldn't save your login. Try logging in again.

1301```1308```

1302 1309 

1303Первая форма появляется на macOS, а вторая везде. Временный сбой хранилища учетных данных, такой как тайм-аут или нечитаемое хранилище, производит то же сообщение.1310Первая форма появляется на macOS, а вторая — на всех остальных платформах. Временный сбой хранилища учётных данных, например таймаут или нечитаемое хранилище, приводит к тому же сообщению.

1304 1311 

1305**Что делать:**1312**Что делать:**

1306 1313 

1307* На macOS разблокируйте цепочку входа, затем запустите `/login` снова1314* На macOS разблокируйте связку ключей входа, затем снова выполните `/login`

1308* На других платформах запустите `/login` снова1315* На других платформах снова выполните `/login`

1309* Если вход все еще не сохраняется, см. [Not logged in or token expired](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired) для команды разблокировки цепочки и других шагов восстановления хранилища учетных данных1316* Если вход по-прежнему не сохраняется, см. раздел [Не выполнен вход или истёк токен](/docs/ru/troubleshoot-install#not-logged-in-or-token-expired), где приведены команда разблокировки связки ключей и другие шаги восстановления хранилища учётных данных

1310 1317 

1311<h3 id="failed-to-start-oauth-callback-server">1318<h3 id="failed-to-start-oauth-callback-server">

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

1313</h3>1320</h3>

1314 1321 

1315Когда `/login`, `claude auth login`, или `claude setup-token` подписывает вас через браузер, Claude Code открывает прослушивающий порт на `127.0.0.1`, чтобы ваш браузер мог вернуть результат входа ему. Это сообщение означает, что Claude Code не смог открыть этот порт, и вход останавливается перед появлением окна браузера или URL входа:1322Когда `/login`, `claude auth login` или `claude setup-token` выполняет вход через браузер, Claude Code открывает прослушивающий порт на `127.0.0.1`, чтобы браузер мог вернуть ему результат входа. Это сообщение означает, что Claude Code не смог открыть этот порт, и вход останавливается до появления окна браузера или URL для входа:

1316 1323 

1317```text theme={null}1324```text theme={null}

1318Failed to start OAuth callback server: Failed to start server. Is port 0 in use?1325Failed to start OAuth callback server: Failed to start server. Is port 0 in use?

1319```1326```

1320 1327 

1321Если ваше сообщение заканчивается на `Is port 0 in use?`, попытка прослушивания адреса IPv4 loopback `127.0.0.1` полностью завершилась ошибкой. Потому что сбой происходит перед существованием URL входа, поток `Paste code here if prompted` недоступен как обходной путь.1328Если ваше сообщение заканчивается на `Is port 0 in use?`, попытка прослушивания на адресе обратной петли IPv4 `127.0.0.1` полностью провалилась. Поскольку сбой происходит до появления URL для входа, сценарий `Paste code here if prompted` недоступен в качестве обходного пути.

1322 1329 

1323**Что делать:**1330**Что делать:**

1324 1331 

1325* Чтобы войти прямо сейчас без локального слушателя: если вы используете подписку 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 выбирает между учетными данными.1332* Чтобы войти сразу без локального прослушивателя: если вы используете подписку 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 выбирает между учётными данными.

1326* Чтобы использовать вход в браузер на этой машине вместо этого, Claude Code должен быть в состоянии прослушивать `127.0.0.1`. Если он работает внутри песочницы, проверьте, что политика песочницы позволяет прослушивать локальные порты, затем запустите `/login` снова. Если он должен быть в состоянии и все еще завершается ошибкой, запустите `/feedback`, чтобы отчет включал детали вашего окружения.1333* Чтобы вместо этого использовать вход через браузер на этой машине, Claude Code должен иметь возможность прослушивать `127.0.0.1`. Если он работает внутри песочницы, проверьте, что политика песочницы разрешает прослушивание локальных портов, затем снова выполните `/login`. Если это должно работать, но всё равно не работает, выполните `/feedback`, чтобы отчёт включил сведения о вашем окружении.

1327 1334 

1328<h3 id="claude-login-not-accepted">1335<h3 id="claude-login-not-accepted">

1329 Claude login not accepted1336 Вход в Claude не принят

1330</h3>1337</h3>

1331 1338 

1332Вы попытались запустить [cloud session](/docs/ru/claude-code-on-the-web), и сервер отказался создавать его с 401: он не принял вход Claude, который отправила эта машина, обычно потому, что вход истек или был отозван.1339Вы попытались запустить [облачную сессию](/docs/ru/claude-code-on-the-web), и сервер отказался создать её с кодом 401: он не принял вход в Claude, отправленный этой машиной, обычно потому, что вход истёк или был отозван.

1333 1340 

1334Первая часть строки — это собственная причина сервера, когда он дает одну. В противном случае строка читается:1341Первая часть строки — собственная причина сервера, если он её указывает. В противном случае строка выглядит так:

1335 1342 

1336```text theme={null}1343```text theme={null}

1337Claude login not accepted · Run /login, then try again1344Claude login not accepted · Run /login, then try again


1339 1346 

1340**Что делать:**1347**Что делать:**

1341 1348 

1342* Запустите `/login`, завершите вход, затем запустите сеанс снова1349* Выполните `/login`, завершите вход, затем снова запустите сессию

1343 1350 

1344<h3 id="artifacts-need-a-claude-ai-login">1351<h3 id="artifacts-need-a-claude-ai-login">

1345 Artifacts need a claude.ai login1352 Для артефактов требуется вход в claude.ai

1346</h3>1353</h3>

1347 1354 

1348Claude Code отказал в публикации или чтении [artifact](/docs/ru/artifacts), потому что сеанс не имеет входа claude.ai, который он может использовать для артефактов.1355Claude Code отказался публиковать или читать [артефакт](/docs/ru/artifacts), потому что в сессии нет входа в claude.ai, который можно использовать для артефактов.

1349 1356 

1350Каждая форма сообщения начинается с одних и тех же слов, за которыми следует средство, которое зависит от того, как ваш сеанс аутентифицируется. Без конкурирующего учетного данные он читается:1357Каждая форма сообщения начинается с одних и тех же слов, за которыми следует способ исправления, зависящий от того, как аутентифицируется ваша сессия. При отсутствии конкурирующих учётных данных сообщение звучит так:

1351 1358 

1352```text theme={null}1359```text theme={null}

1353Artifacts 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.1360Artifacts 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 1362 

1356**Что делать:**1363**Что делать:**

1357 1364 

1358* Запустите `/login` и выберите **Claude account with subscription**. Опция **Anthropic Console account** не предоставляет учетные данные claude.ai.1365* Выполните `/login` и выберите **Claude account with subscription**. Вариант **Anthropic Console account** не предоставляет учётные данные claude.ai.

1359* Когда сообщение называет учетное данные, которое имеет приоритет, такое как `ANTHROPIC_API_KEY`, параметр `apiKeyHelper` или ключ Console, сохраненный предыдущим `/login`, удалите его так, как говорит сообщение, затем запустите `/login`1366* Если в сообщении названы учётные данные, имеющие приоритет, например `ANTHROPIC_API_KEY`, настройка `apiKeyHelper` или ключ Console, сохранённый предыдущим `/login`, удалите их так, как указано в сообщении, затем выполните `/login`

1360* Когда сообщение говорит, что этот удаленный сеанс аутентифицируется через машину, которая его запустила, войдите в claude.ai на этой машине, затем переподключите сеанс1367* Если в сообщении сказано, что эта удалённая сессия аутентифицируется через машину, которая её запустила, войдите в claude.ai на той машине, затем переподключите сессию

1361* Когда сообщение говорит, что учетные данные вводятся окружением хоста сеанса, вы не можете изменить его в этом сеансе; запустите сеанс, который подписан на claude.ai1368* Если в сообщении сказано, что учётные данные внедряются окружением хоста сессии, вы не можете изменить их в этой сессии; запустите сессию, в которой выполнен вход в claude.ai

1362* См. [Availability](/docs/ru/artifacts#availability) для других требований, которые имеют артефакты, такие как план, поставщик модели и политика организации1369* Другие требования к артефактам, такие как тарифный план, провайдер модели и политика организации, см. в разделе [Доступность](/docs/ru/artifacts#availability)

1363 1370 

1364<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1371<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1365 Administrator policy requires a Cloud gateway sign-in1372 Политика администратора требует входа через облачный шлюз

1366</h3>1373</h3>

1367 1374 

1368Параметры [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). Вы видите одно из двух сообщений:1375[Управляемые настройки](/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). Вы увидите одно из двух сообщений:

1369 1376 

1370```text theme={null}1377```text theme={null}

1371Not signed in to the Cloud gateway — run /login.1378Not signed in to the Cloud gateway — run /login.

1372```1379```

1373 1380 

1374Запросы модели завершаются ошибкой с этим сообщением, когда сеанс не имеет входа шлюза, например, потому что вы не запустили `/login` с момента достижения политики машины.1381Запросы к модели завершаются с этим сообщением, когда в сессии нет входа через шлюз, например потому, что вы не выполняли `/login` с момента, как политика дошла до машины.

1375 1382 

1376Если машина также содержит учетные данные, выданные Anthropic, и параметры управления установили `forceLoginMethod` или `forceLoginOrgUUID`, Claude Code вместо этого выходит при запуске. Это учетное данные может быть переменной `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN`, параметром `apiKeyHelper` или ключом API, сохраненным более ранним входом Claude Console. Сообщение начинается:1383Если на машине также хранятся учётные данные, выданные Anthropic, а управляемые настройки задают `forceLoginMethod` или `forceLoginOrgUUID`, Claude Code вместо этого завершает работу при запуске. Такими учётными данными может быть переменная `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN`, настройка `apiKeyHelper` или API-ключ, сохранённый при предыдущем входе в Claude Console. Сообщение начинается так:

1377 1384 

1378```text theme={null}1385```text theme={null}

1379Administrator policy requires a Cloud gateway sign-in on this machine; the1386Administrator policy requires a Cloud gateway sign-in on this machine; the


1383 1390 

1384**Что делать:**1391**Что делать:**

1385 1392 

1386* Запустите `/login` и завершите вход на экране **Cloud gateway**1393* Выполните `/login` и завершите вход на экране **Cloud gateway**

1387* Для сообщения при запуске удалите параметр `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`, который вы настроили. Чтобы удалить сохраненный ключ API Console, запустите `claude auth logout`, который также удаляет сохраненный вход claude.ai. Если вы выберете облачного поставщика с `CLAUDE_CODE_USE_*`, сеанс затем запускается без входа. В противном случае запустите `claude` и запустите `/login`1394* В случае сообщения при запуске удалите настроенные вами `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или настройку `apiKeyHelper`. Чтобы удалить сохранённый API-ключ Console, выполните `claude auth logout`, который также удаляет сохранённый вход в claude.ai. Если вы выбираете облачного провайдера с помощью `CLAUDE_CODE_USE_*`, сессия затем запускается без входа. В противном случае запустите `claude` и выполните `/login`

1388* Если вы считаете, что машина не должна требовать шлюз, попросите администратора, который управляет ею, удалить `forceLoginMethod` и `forceLoginGatewayUrl` из его параметров управления1395* Если вы считаете, что машина не должна требовать шлюз, попросите управляющего ею администратора удалить `forceLoginMethod` и `forceLoginGatewayUrl` из её управляемых настроек

1389 1396 

1390На v2.1.265 регрессия также показала первое сообщение в некоторых конфигурациях LLM-gateway и прокси, которые аутентифицируются с помощью ключа API, `apiKeyHelper` или пользовательских заголовков, даже без требования администратора на машине. Обновитесь до v2.1.266 или более поздней версии. Вам не нужно менять вашу конфигурацию.1397В версии v2.1.265 из-за регрессии первое сообщение также показывалось в некоторых конфигурациях с LLM-шлюзом и прокси, которые аутентифицируются с помощью API-ключа, `apiKeyHelper` или пользовательских заголовков, даже при отсутствии требования администратора на машине. Обновитесь до v2.1.266 или более поздней версии. Изменять конфигурацию не нужно.

1391 1398 

1392До v2.1.261 на машинах, которые установили `forceLoginMethod` на `"gateway"`, Claude Code использовал оставшийся сохраненный вход вместо того, чтобы завершить запросы модели ошибкой, и сообщал о настроенном учетном данные окружения с `This machine's managed settings require a first-party login` вместо сообщения при запуске. До v2.1.265 машина, чьи параметры управления установили только `forceLoginGatewayUrl`, не требовала входа шлюза, и Claude Code использовал оставшееся учетное данные там.1399До версии v2.1.261 на машинах, где для `forceLoginMethod` задано значение `"gateway"`, Claude Code использовал оставшийся сохранённый вход вместо того, чтобы завершать запросы к модели с ошибкой, и сообщал о настроенных в окружении учётных данных с помощью `This machine's managed settings require a first-party login` вместо сообщения при запуске. До версии v2.1.265 машина, управляемые настройки которой задавали только `forceLoginGatewayUrl`, не требовала входа через шлюз, и Claude Code использовал там оставшиеся учётные данные.

1393 1400 

1394<h3 id="your-account-is-on-hold">1401<h3 id="your-account-is-on-hold">

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

1396</h3>1403</h3>

1397 1404 

1398Учетная запись Claude позади вашего входа была приостановлена. Claude Code показывает первое сообщение, когда он пытается обновить ваш сохраненный вход и узнает о задержке, и второе, когда завершенный вход в браузер сообщает об этом:1405Учётная запись Claude, стоящая за вашим входом, приостановлена. Claude Code показывает первое сообщение, когда пытается обновить ваш сохранённый вход и узнаёт о блокировке, а второе — когда о ней сообщает вход, выполненный вами в браузере:

1399 1406 

1400```text theme={null}1407```text theme={null}

1401Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted1408Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted

1402Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted1409Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted

1403```1410```

1404 1411 

1405Повторный вход с той же учетной записью не очищает сообщение, потому что задержка находится на учетной записи, а не на входе. В [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), чьи шаги восстановления не могут очистить задержку.1412Повторный вход с той же учётной записью не убирает сообщение, потому что блокировка наложена на учётную запись, а не на вход. В [неинтерактивном режиме](/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), шаги восстановления для которого не могут снять блокировку.

1406 1413 

1407**Что делать:**1414**Что делать:**

1408 1415 

1409* Откройте ссылку в сообщении, чтобы просмотреть детали задержки или подать апелляцию1416* Откройте ссылку из сообщения, чтобы просмотреть подробности блокировки или обжаловать её

1410* Если у вас есть другая учетная запись Claude или ключ API, на который не влияет задержка, вы можете продолжить работу, пока задержка разрешается: запустите `/login` с этой учетной записью, или установите ключ с `ANTHROPIC_API_KEY`1417* Если у вас есть другая учётная запись Claude или API-ключ, на которые блокировка не распространяется, вы можете продолжать работу, пока блокировка разрешается: выполните `/login` с этой учётной записью или задайте ключ с помощью `ANTHROPIC_API_KEY`

1411 1418 

1412<h3 id="anthropic-profile-login-expired">1419<h3 id="anthropic-profile-login-expired">

1413 Anthropic profile login expired1420 Срок действия входа в профиль Anthropic истёк

1414</h3>1421</h3>

1415 1422 

1416Claude Code аутентифицируется через профиль учетных данных Anthropic, чьи сохраненные учетные данные входа истекли, и профиль не содержит учетные данные обновления, которые Claude Code может использовать для его обновления. Claude Code останавливает каждый запрос локально без повторных попыток, потому что повторная попытка прочитает те же истекшие учетные данные.1423Claude Code проходит аутентификацию через профиль учётных данных Anthropic, сохранённые учётные данные входа которого истекли, а профиль не содержит учётных данных обновления, которые Claude Code мог бы использовать для их продления. Claude Code останавливает каждый запрос локально без повторных попыток, поскольку повторная попытка прочитала бы те же истёкшие учётные данные.

1417 1424 

1418```text theme={null}1425```text theme={null}

1419Anthropic profile login expired · Re-authenticate your Anthropic profile1426Anthropic profile login expired · Re-authenticate your Anthropic profile

1420Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile1427Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile

1421```1428```

1422 1429 

1423Это появляется только, когда активное учетное данные поступает из профиля учетных данных 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`, или стороннего поставщика, никогда не видят это сообщение.1430Это сообщение появляется только тогда, когда активные учётные данные поступают из профиля учётных данных Anthropic — профиля, который вы выбираете с помощью переменной окружения `ANTHROPIC_PROFILE`, который Claude Code обнаруживает как активный профиль в вашем каталоге конфигурации Anthropic или который Claude Code записал, когда вы [вошли без API-ключа](/docs/ru/authentication#sign-in-without-an-api-key). Сессии, аутентифицирующиеся с помощью API-ключа, Bearer-токена, такого как `ANTHROPIC_AUTH_TOKEN`, или стороннего провайдера, никогда не видят этого сообщения.

1424 1431 

1425На машине, которая [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 его обнаружил:1432На машине, которая [предлагает вход без ключа](/docs/ru/authentication#sign-in-without-an-api-key), выполните `/login`, выберите учётную запись Anthropic Console и снова войдите, чтобы обновить профиль, записанный входом в Console без ключа или командой `ant auth login` из Claude Platform CLI. Claude Code заменит истёкшие учётные данные в этом профиле. Для профиля федерации или профиля, созданного другим инструментом, `/login` не обновляет учётные данные. Какую форму вы увидите, зависит от того, выбрали ли вы профиль сами или Claude Code обнаружил его:

1426 1433 

1427* Когда вы явно установили `ANTHROPIC_PROFILE`, сообщение заканчивается `Re-authenticate your Anthropic profile`.1434* Если вы задали `ANTHROPIC_PROFILE` явно, сообщение заканчивается на `Re-authenticate your Anthropic profile`.

1428* Когда Claude Code обнаружил профиль из вашего каталога конфигурации, сообщение предлагает `/login`, потому что Claude Code дает рабочему `/login` приоритет над обнаруженным профилем и затем аутентифицируется с помощью вашей учетной записи claude.ai или Console вместо этого. До v2.1.234 Claude Code показал форму `Re-authenticate your Anthropic profile` в этом случае тоже.1435* Если Claude Code обнаружил профиль в вашем каталоге конфигурации, сообщение предлагает `/login`, поскольку Claude Code отдаёт приоритет работающему `/login` над обнаруженным профилем и затем проходит аутентификацию с вашей учётной записью claude.ai или Console. До версии v2.1.234 Claude Code и в этом случае показывал форму `Re-authenticate your Anthropic profile`.

1429 1436 

1430**Что делать:**1437**Что делать:**

1431 1438 

1432* Снова войдите в профиль, затем повторите попытку: на машине, которая [offers the keyless sign-in](/docs/ru/authentication#sign-in-without-an-api-key), запустите `/login` и выберите учетную запись Anthropic Console для профиля, который написали вход без ключа Console или CLI платформы Claude `ant auth login`; для других профилей используйте инструмент, который их создал1439* Снова войдите в профиль, затем повторите попытку: на машине, которая [предлагает вход без ключа](/docs/ru/authentication#sign-in-without-an-api-key), выполните `/login` и выберите учётную запись Anthropic Console для профиля, записанного входом в Console без ключа или командой `ant auth login` из Claude Platform CLI; для других профилей используйте инструмент, который их создал

1433* Если администратор подготовил учетные данные профиля, попросите его выдать новые1440* Если учётные данные профиля предоставил администратор, попросите его выдать новые

1434* Запустите `/status`, чтобы подтвердить активный источник учетных данных и имя профиля1441* Выполните `/status`, чтобы проверить активный источник учётных данных и имя профиля

1435* Чтобы перестать использовать профиль, отмените установку `ANTHROPIC_PROFILE`, если вы его установили, затем аутентифицируйтесь другим способом, такой как `/login` или `ANTHROPIC_API_KEY`1442* Чтобы перестать использовать профиль, удалите `ANTHROPIC_PROFILE`, если вы её задавали, затем пройдите аутентификацию другим способом, например с помощью `/login` или `ANTHROPIC_API_KEY`

1436 1443 

1437<h3 id="oauth-scope-requirement">1444<h3 id="oauth-scope-requirement">

1438 OAuth scope requirement1445 Требование к scope OAuth

1439</h3>1446</h3>

1440 1447 

1441Сохраненный токен предшествует области разрешения, которая требуется более новой функции:1448Сохранённый токен был выдан до появления scope разрешений, который нужен более новой функции:

1442 1449 

1443```text theme={null}1450```text theme={null}

1444OAuth token does not meet scope requirement: user:profile1451OAuth token does not meet scope requirement: user:profile


1446 1453 

1447**Что делать:**1454**Что делать:**

1448 1455 

1449* Запустите `/login`, чтобы получить новый токен с текущими областями. Вам не нужно сначала выходить.1456* Выполните `/login`, чтобы получить новый токен с текущими scope. Предварительно выходить из системы не нужно.

1450 1457 

1451<h3 id="claude-ai-rejected-the-session-token">1458<h3 id="claude-ai-rejected-the-session-token">

1452 claude.ai rejected the session token1459 claude.ai отклонил токен сессии

1453</h3>1460</h3>

1454 1461 

1455Запрос [claude.ai connector](/docs/ru/mcp#use-mcp-servers-from-claude-ai) завершился ошибкой, потому что claude.ai отклонил токен из вашего входа Claude Code. Отклоненный токен — это ваш вход, а не собственная авторизация соединителя в claude.ai, поэтому повторная авторизация соединителя не разрешает это. В `/mcp` соединитель показывает как `session token rejected` и его представление деталей читается:1462Запрос [коннектора claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) завершился ошибкой, потому что claude.ai отклонил токен из вашего входа в Claude Code. Отклонённый токен — это ваш вход, а не собственная авторизация коннектора в claude.ai, поэтому повторная авторизация коннектора проблему не решает. В `/mcp` коннектор отображается как `session token rejected`, а в его подробном представлении указано:

1456 1463 

1457```text theme={null}1464```text theme={null}

1458claude.ai rejected the session token. Run /login, then reconnect.1465claude.ai rejected the session token. Run /login, then reconnect.


1460 1467 

1461**Что делать:**1468**Что делать:**

1462 1469 

1463* Запустите `/login`, чтобы снова войти1470* Выполните `/login`, чтобы войти снова

1464* Переподключите соединитель из `/mcp`, или запустите `/mcp reconnect <server>`. Переподключение перед повторным входом оставляет соединитель в том же состоянии. Опция **Reconnect** панели `/mcp` сообщает `your claude.ai session token was rejected`; введенная форма `/mcp reconnect <server>` сообщает об успешном переподключении, даже если токен все еще отклонен.1471* Переподключите коннектор из `/mcp` или выполните `/mcp reconnect <server>`. Переподключение до повторного входа оставляет коннектор в том же состоянии. Вариант **Reconnect** на панели `/mcp` сообщает `your claude.ai session token was rejected`; набранная форма `/mcp reconnect <server>` сообщает об успешном переподключении, даже если токен по-прежнему отклоняется.

1465 1472 

1466До v2.1.222 Claude Code отметил соединитель как нуждающийся в аутентификации вместо этого, что указывал вас на поток авторизации соединителя, даже если его завершение не разрешало состояние.1473До версии v2.1.222 Claude Code вместо этого помечал коннектор как требующий аутентификации, что направляло вас в процесс авторизации коннектора, хотя его прохождение не устраняло проблему.

1467 1474 

1468<h3 id="mcp-server-needs-you-to-sign-in-again">1475<h3 id="mcp-server-needs-you-to-sign-in-again">

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

1470</h3>1477</h3>

1471 1478 

1472Удаленный [MCP server](/docs/ru/mcp) отклонил учетные данные при вызове инструмента в середине сеанса, обычно потому, что вход или токен истек, или потому что токену не хватает разрешения, которое требует инструмент. Вызов инструмента завершается ошибкой, и `/mcp` отмечает сервер как [needing authentication](/docs/ru/mcp#authenticate-with-remote-mcp-servers).1479Удалённый [MCP-сервер](/docs/ru/mcp) отклонил учётные данные при вызове инструмента посреди сессии, обычно потому, что вход или токен истёк или потому, что токену не хватает разрешения, необходимого инструменту. Вызов инструмента завершается ошибкой, и `/mcp` помечает сервер как [требующий аутентификации](/docs/ru/mcp#authenticate-with-remote-mcp-servers).

1473 1480 

1474Для сервера, на который вы входите из Claude Code, включая соединитель claude.ai, вход истек или был отозван:1481Для сервера, в который вы входите из Claude Code, включая коннектор claude.ai, вход истёк или был отозван:

1475 1482 

1476```text theme={null}1483```text theme={null}

1477MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)1484MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)

1478```1485```

1479 1486 

1480Запустите `/mcp`, выберите сервер и снова войдите из его меню.1487Выполните `/mcp`, выберите сервер и снова войдите из его меню.

1481 1488 

1482Для сервера, настроенного со скриптом [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication), Claude Code уже повторно запустил помощника и повторил вызов один раз перед отображением этого:1489Для сервера, настроенного со скриптом [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication), Claude Code уже перезапустил помощника и один раз повторил вызов, прежде чем показать это сообщение:

1483 1490 

1484```text theme={null}1491```text theme={null}

1485MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)1492MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)

1486```1493```

1487 1494 

1488Проверьте, что помощник возвращает учетные данные, которые сервер принимает, затем переподключитесь из `/mcp`, который снова запускает помощника.1495Убедитесь, что помощник возвращает учётные данные, которые принимает сервер, затем переподключитесь из `/mcp`, что снова запустит помощника.

1489 1496 

1490Для сервера со статическим заголовком `Authorization` в его конфигурации:1497Для сервера со статическим заголовком `Authorization` в конфигурации:

1491 1498 

1492```text theme={null}1499```text theme={null}

1493MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)1500MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)

1494```1501```

1495 1502 

1496Обновите значение заголовка, где сервер настроен, затем переподключитесь из `/mcp`.1503Обновите значение заголовка там, где настроен сервер, затем переподключитесь из `/mcp`.

1497 1504 

1498До v2.1.273 истекший вход, `headersHelper` и случаи заголовка `Authorization` все показали `MCP server "<name>" requires re-authorization (token expired)`.1505До версии v2.1.273 во всех случаях — с истёкшим входом, с `headersHelper` и с заголовком `Authorization` — показывалось `MCP server "<name>" requires re-authorization (token expired)`.

1499 1506 

1500Сервер также может отказать вызову инструмента с HTTP 403 `insufficient_scope`, чтобы попросить вас авторизовать область, иногда ту, которую ваш токен уже указывает. Сообщение называет эту область:1507Сервер также может отклонить вызов инструмента с HTTP 403 `insufficient_scope`, чтобы попросить вас авторизовать scope, иногда такой, который ваш токен уже содержит. Сообщение называет этот scope:

1501 1508 

1502```text theme={null}1509```text theme={null}

1503MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate1510MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate

1504```1511```

1505 1512 

1506Запустите `/mcp`, выберите сервер и аутентифицируйтесь снова из его меню.1513Выполните `/mcp`, выберите сервер и снова пройдите аутентификацию из его меню.

1507 1514 

1508Когда конфигурация сервера не устанавливает ни [`oauth.scopes`](/docs/ru/mcp#restrict-oauth-scopes), ни [`authServerMetadataUrl`](/docs/ru/mcp#override-oauth-metadata-discovery), Claude Code запрашивает область, которую назвал сервер. С любым параметром Claude Code запрашивает области этого параметра вместо этого. Если вы закрепили `oauth.scopes`, добавьте отсутствующую область в этот список перед повторной аутентификацией.1515Если в конфигурации сервера не задано ни [`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 в этот список перед повторной аутентификацией.

1509 1516 

1510До v2.1.274 этот случай показал сообщение `needs you to sign in again`, и до v2.1.273 он показал `requires re-authorization (token expired)` как другие случаи.1517До версии v2.1.274 в этом случае показывалось сообщение `needs you to sign in again`, а до версии v2.1.273 — `requires re-authorization (token expired)`, как и в других случаях.

1511 1518 

1512<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">1519<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">

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

1514</h3>1521</h3>

1515 1522 

1516Claude Code отказал в запуске входа OAuth для удаленного MCP сервера, потому что настроенный `url` сервера не разбирается как URL. Если Claude Code не имеет более конкретной проблемы конфигурации для сообщения сервера, запуск [`claude mcp login <name>`](/docs/ru/mcp#authenticate-from-the-command-line) в вашей оболочке выводит отказ как:1523Claude Code отказался начинать вход OAuth для удалённого MCP-сервера, потому что настроенный для сервера `url` не разбирается как URL. Если у Claude Code нет более конкретной проблемы конфигурации для этого сервера, выполнение [`claude mcp login <name>`](/docs/ru/mcp#authenticate-from-the-command-line) в оболочке выводит отказ так:

1517 1524 

1518```text theme={null}1525```text theme={null}

1519Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.1526Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.


1521 1528 

1522**Что делать:**1529**Что делать:**

1523 1530 

1524* Установите запись `url` на реальную конечную точку сервера, где сервер настроен, или установите переменную окружения, которую его [`${VAR}` reference](/docs/ru/mcp#environment-variable-expansion-in-mcp-json) называет, затем запустите вход снова.1531* Задайте для `url` записи реальный эндпоинт сервера там, где настроен сервер, или задайте переменную окружения, названную в его [ссылке `${VAR}`](/docs/ru/mcp#environment-variable-expansion-in-mcp-json), затем снова выполните вход.

1525 1532 

1526<h3 id="issuer-mismatch-in-authorization-response">1533<h3 id="issuer-mismatch-in-authorization-response">

1527 Issuer mismatch in authorization response1534 Несоответствие издателя в ответе авторизации

1528</h3>1535</h3>

1529 1536 

1530Во время [MCP OAuth sign-in](/docs/ru/mcp#authenticate-with-remote-mcp-servers) сервер авторизации перенаправил обратно в Claude Code с параметром `iss`, который не называет издателя, которого Claude Code ожидал от метаданных OAuth сервера. Неправильный издатель на этом шаге — это то, как выглядит атака смешивания сервера авторизации, поэтому Claude Code завершает вход ошибкой вместо обмена кодом авторизации. Claude Code показывает ошибку в меню сервера `/mcp` после входа в браузер:1537Во время [входа MCP OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers) сервер авторизации перенаправил обратно в Claude Code с параметром `iss`, который не соответствует издателю, ожидаемому Claude Code по метаданным OAuth сервера. Неверный издатель на этом этапе — признак атаки с подменой сервера авторизации (mix-up), поэтому Claude Code прерывает вход вместо обмена кода авторизации. Claude Code показывает ошибку в меню сервера `/mcp` после входа в браузере:

1531 1538 

1532```text theme={null}1539```text theme={null}

1533Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"1540Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"

1534```1541```

1535 1542 

1536`expected` — это издатель из метаданных OAuth сервера, и `received` — это значение `iss`, которое перенаправление несло. Вход, чье перенаправление не несет параметр `iss`, проходит проверку, если только метаданные сервера не устанавливают `authorization_response_iss_parameter_supported`, в этом случае Claude Code завершает вход ошибкой.1543`expected` — это издатель из метаданных OAuth сервера, а `received` — значение `iss`, переданное в перенаправлении. Вход, перенаправление которого не содержит параметра `iss`, проходит проверку, если только метаданные сервера не задают `authorization_response_iss_parameter_supported` — в этом случае Claude Code прерывает вход.

1537 1544 

1538**Что делать:**1545**Что делать:**

1539 1546 

1540* Попробуйте вход снова из `/mcp`1547* Повторите вход из `/mcp`

1541* Если ошибка повторяется, сообщите об этом оператору сервера. Исправление находится на стороне сервера: сервер авторизации должен вернуть того же издателя в параметре `iss`, который он объявляет в своих метаданных1548* Если ошибка повторяется, сообщите о ней оператору сервера. Исправление выполняется на стороне сервера: сервер авторизации должен возвращать в параметре `iss` того же издателя, которого он объявляет в своих метаданных

1542* Чтобы подключиться, пока сервер исправляется, запустите Claude Code с [`MCP_SDK_GENERATION=v1`](/docs/ru/env-vars), чьи [runtime](/docs/ru/mcp#mcp-client-runtimes) не запускают эту проверку. Это удаляет защиту от атак смешивания, поэтому предпочитайте исправление на стороне сервера1549* Чтобы подключиться, пока сервер исправляется, запустите Claude Code с [`MCP_SDK_GENERATION=v1`](/docs/ru/env-vars), [среда выполнения](/docs/ru/mcp#mcp-client-runtimes) которого не выполняет эту проверку. Это отключает защиту от атак с подменой, поэтому предпочтительно исправление на стороне сервера

1543 1550 

1544До v2.1.232 Claude Code использовал только v2 runtime в постепенном развертывании или когда вы установили `MCP_SDK_GENERATION=v2`.1551До версии v2.1.232 Claude Code использовал среду выполнения v2 только в рамках постепенного развёртывания или при установке `MCP_SDK_GENERATION=v2`.

1545 1552 

1546<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">1553<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">

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

1548</h3>1555</h3>

1549 1556 

1550На [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 обновляет токен сервера.1557В [среде выполнения 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 обновляет токен сервера.

1551 1558 

1552В его полной форме сообщение поступает из MCP SDK и цитирует конечную точку токена, которую он отказал. В журнале отладки оно следует `Error during auth completion:` для входа или `Token refresh failed:` для обновления. В вашей оболочке `claude mcp login <name>` выводит его после `Couldn't complete authentication for "<name>":`, и в сеансе `/mcp` показывает его под меню сервера:1559В полной форме сообщение исходит от MCP SDK и цитирует отклонённый эндпоинт токенов. В отладочном логе оно следует за `Error during auth completion:` при входе или за `Token refresh failed:` при обновлении. В оболочке `claude mcp login <name>` выводит его после `Couldn't complete authentication for "<name>":`, а в сессии `/mcp` показывает его в меню сервера:

1553 1560 

1554```text theme={null}1561```text theme={null}

1555Refusing 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).1562Refusing 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).

1556```1563```

1557 1564 

1558Claude Code рассматривает URL сервера, который имеет строку запроса или длинный случайный сегмент пути, как возможно секретный. Для такого сервера он редактирует ошибки входа, которые MCP SDK вызывает перед его отображением или логированием. Эта ошибка затем читается как короткое имя, которое может измениться между выпусками, такое как `io`, за которым следует `from the MCP SDK for` и отредактированный URL сервера. Другие ошибки из MCP SDK принимают ту же форму там. Отредактированное сообщение может быть этой ошибкой только, когда конечная точка токена сервера — это простой `http://` по адресу, отличному от `localhost`, `127.0.0.1` или `::1`.1565Claude Code считает URL сервера, содержащий строку запроса или длинный случайно выглядящий сегмент пути, потенциально секретным. Для такого сервера он маскирует ошибки входа, генерируемые MCP SDK, прежде чем показать их или записать в лог. В этом случае данная ошибка выглядит как короткое имя, которое может меняться между выпусками, например `io`, за которым следуют `from the MCP SDK for` и замаскированный URL сервера. Другие ошибки MCP SDK там принимают такую же форму. Замаскированное сообщение может означать эту ошибку, только если эндпоинт токенов сервера — обычный `http://` по адресу, отличному от `localhost`, `127.0.0.1` или `::1`.

1559 1566 

1560**Что делать:**1567**Что делать:**

1561 1568 

1562* Обслуживайте эту конечную точку токена через HTTPS, например, поместив сервер за обратный прокси или туннель, который завершает TLS и настраивает сервер на объявление адреса `https://`1569* Обслуживайте этот эндпоинт токенов по HTTPS, например разместив сервер за обратным прокси или туннелем, который терминирует TLS, и настроив сервер на объявление адреса `https://`

1563* Чтобы подключиться без изменения сервера, запустите 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), поэтому предпочитайте обслуживание конечной точки через HTTPS1570* Чтобы подключиться без изменения сервера, запустите Claude Code с [`MCP_SDK_GENERATION=v1`](/docs/ru/env-vars), [среда выполнения](/docs/ru/mcp#mcp-client-runtimes) которого не применяет это правило и отправляет запрос токена по обычному HTTP. Этот выбор действует до выхода и применяется ко всем серверам. Среда выполнения v1 также пропускает [проверку издателя](#issuer-mismatch-in-authorization-response), поэтому предпочтительнее обслуживать эндпоинт по HTTPS

1564 1571 

1565<h3 id="aws-credentials-expired-or-invalid">1572<h3 id="aws-credentials-expired-or-invalid">

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

1567</h3>1574</h3>

1568 1575 

1569Ваш токен сеанса AWS истек или был отклонен. Это сообщение появляется при 401 из [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) или [Mantle endpoint](/docs/ru/amazon-bedrock#use-the-mantle-endpoint), что является тем, как эти поставщики сообщают об истекшем токене безопасности.1576Срок действия вашего токена сессии AWS истёк, или он был отклонён. Это сообщение появляется при ответе 401 от [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) или [эндпоинта Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint) — именно так эти провайдеры сообщают об истёкшем токене безопасности.

1570 1577 

1571Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `AWS credentials expired or invalid`:1578Подсказка по действию в середине зависит от вашей настройки. Неизменной частью является начальное `AWS credentials expired or invalid`:

1572 1579 

1573```text theme={null}1580```text theme={null}

1574AWS 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 ...1581AWS 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 ...

1575```1582```

1576 1583 

1577До v2.1.273 это сообщение появлялось только, когда был настроен `awsAuthRefresh`.1584До версии v2.1.273 это сообщение появлялось только при настроенном `awsAuthRefresh`.

1578 1585 

1579**Что делать:**1586**Что делать:**

1580 1587 

1581* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором1588* Если в подсказке сказано, что учётные данные управляются этим окружением, учётными данными владеет приложение, запустившее Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору

1582* Если [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration) установлен, запустите команду, названную в сообщении, такую как `aws sso login --profile myprofile`, в другом терминале и завершите вход в браузер, затем повторите попытку. В противном случае обновите учетные данные AWS, которые вы используете сами: ваш вход SSO, ключи доступа, ключ API или токен прокси1589* Если задан [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration), выполните названную в сообщении команду, например `aws sso login --profile myprofile`, в другом терминале и завершите вход в браузере, затем повторите попытку. В противном случае самостоятельно обновите используемые учётные данные AWS: вход SSO, ключи доступа, API-ключ или токен прокси

1583* С `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)1590* Если в интерактивной сессии задан `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)

1584* Если ошибка повторяется после успешного выполнения команды обновления, подтвердите, что личность действительна вне Claude Code с помощью `aws sts get-caller-identity` в той же оболочке и профиле1591* Если ошибка повторяется после успешного выполнения команды обновления, проверьте действительность идентификатора вне Claude Code с помощью `aws sts get-caller-identity` в той же оболочке и с тем же профилем

1585 1592 

1586<h3 id="aws-authentication-failed">1593<h3 id="aws-authentication-failed">

1587 AWS authentication failed1594 Ошибка аутентификации AWS

1588</h3>1595</h3>

1589 1596 

1590Ваш поставщик AWS вернул 403, или [Amazon Bedrock](/docs/ru/amazon-bedrock) вернул 401.1597Ваш провайдер AWS вернул 403, или [Amazon Bedrock](/docs/ru/amazon-bedrock) вернул 401.

1591 1598 

1592Amazon Bedrock сообщает об истекшем токене безопасности как 403, но 403 — это также то, как он сообщает об отказе в авторизации, такой как `AccessDeniedException` из отсутствующего разрешения IAM. Claude Code не может различить эти две причины.1599Amazon Bedrock сообщает об истёкшем токене безопасности кодом 403, но кодом 403 он также сообщает об отказе в авторизации, например `AccessDeniedException` из-за отсутствующего разрешения IAM. Claude Code не может различить эти две причины.

1593 1600 

1594401 из Amazon Bedrock также приземляется здесь, а не в [AWS credentials expired or invalid](#aws-credentials-expired-or-invalid), потому что Amazon Bedrock не сообщает об истекшем токене как 401. 401 из этой конечной точки обычно поступает из чего-то еще в пути запроса, такого как корпоративный прокси.1601Ответ 401 от Amazon Bedrock также попадает сюда, а не в раздел [Учётные данные AWS истекли или недействительны](#aws-credentials-expired-or-invalid), потому что Amazon Bedrock не сообщает об истёкшем токене кодом 401. Ответ 401 от этого эндпоинта обычно исходит от чего-то другого на пути запроса, например от корпоративного прокси.

1595 1602 

1596Обновление учетных данных исправляет истекший токен и не может исправить другие причины, поэтому сообщение предлагает оба:1603Обновление учётных данных исправляет истёкший токен, но не может устранить другие причины, поэтому сообщение предлагает оба варианта:

1597 1604 

1598```text theme={null}1605```text theme={null}

1599AWS 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 ...1606AWS 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 ...

1600```1607```

1601 1608 

1602Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `AWS authentication failed`.1609Подсказка по действию в середине зависит от вашей настройки. Неизменной частью является начальное `AWS authentication failed`.

1603 1610 

1604Когда 403 — это ответ Amazon Bedrock, что у вас нет доступа к модели с указанным ID модели, подсказка вместо этого говорит вам включить модель для вашей учетной записи и региона в консоли Amazon Bedrock.1611Если 403 — это ответ Amazon Bedrock о том, что у вас нет доступа к модели с указанным идентификатором, подсказка вместо этого предлагает включить модель для вашей учётной записи и региона в консоли Amazon Bedrock.

1605 1612 

1606До v2.1.273 это сообщение появлялось только, когда был настроен `awsAuthRefresh`.1613До версии v2.1.273 это сообщение появлялось только при настроенном `awsAuthRefresh`.

1607 1614 

1608**Что делать:**1615**Что делать:**

1609 1616 

1610* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором1617* Если в подсказке сказано, что учётные данные управляются этим окружением, учётными данными владеет приложение, запустившее Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору

1611* Обновите ваши учетные данные AWS на случай, если истекшие учетные данные являются причиной: запустите команду [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration), названную в сообщении, когда она установлена, или обновите ваш вход SSO, ключи доступа, ключ API или токен прокси сами1618* Обновите учётные данные AWS на случай, если причина в их истечении: выполните названную в сообщении команду [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration), если она задана, или самостоятельно обновите вход SSO, ключи доступа, API-ключ или токен прокси

1612* Если ваши учетные данные текущие, подтвердите разрешения IAM в [IAM configuration](/docs/ru/amazon-bedrock#iam-configuration), прикреплены к личности, которую вы используете, и что выбранная модель включена для вашей учетной записи и региона1619* Если ваши учётные данные актуальны, убедитесь, что разрешения IAM из раздела [Конфигурация IAM](/docs/ru/amazon-bedrock#iam-configuration) назначены используемому вами идентификатору и что выбранная модель включена для вашей учётной записи и региона

1613* Запустите `aws sts get-caller-identity`, чтобы подтвердить, какую личность используют ваши запросы1620* Выполните `aws sts get-caller-identity`, чтобы проверить, какой идентификатор используют ваши запросы

1614 1621 

1615<h3 id="google-cloud-credentials-expired-or-invalid">1622<h3 id="google-cloud-credentials-expired-or-invalid">

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

1617</h3>1624</h3>

1618 1625 

1619Ваши учетные данные Google Cloud для [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) истекли или были отклонены: запрос вернул 401, что является тем, как Agent Platform сообщает об истечении учетных данных.1626Ваши учётные данные Google Cloud для [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) истекли или были отклонены: запрос вернул 401 — именно так Agent Platform сообщает об истечении учётных данных.

1620 1627 

1621Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `Google Cloud credentials expired or invalid`:1628Подсказка по действию в середине зависит от вашей настройки. Неизменной частью является начальное `Google Cloud credentials expired or invalid`:

1622 1629 

1623```text theme={null}1630```text theme={null}

1624Google 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 ...1631Google 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 1633 

1627**Что делать:**1634**Что делать:**

1628 1635 

1629* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором1636* Если в подсказке сказано, что учётные данные управляются этим окружением, учётными данными владеет приложение, запустившее Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору

1630* Если вы аутентифицируетесь с учетными данными по умолчанию приложения, запустите команду [`gcpAuthRefresh`](/docs/ru/google-vertex-ai#advanced-credential-configuration), названную в сообщении, или `gcloud auth application-default login`, и завершите вход, затем повторите попытку1637* Если вы проходите аутентификацию с учётными данными приложения по умолчанию, выполните названную в сообщении команду [`gcpAuthRefresh`](/docs/ru/google-vertex-ai#advanced-credential-configuration) или `gcloud auth application-default login` и завершите вход, затем повторите попытку

1631* Если вы маршрутизируете через [LLM gateway](/docs/ru/llm-gateway) с установленным `CLAUDE_CODE_SKIP_VERTEX_AUTH`, обновите токен шлюза в `ANTHROPIC_AUTH_TOKEN` или `ANTHROPIC_CUSTOM_HEADERS`, затем повторите попытку1638* Если вы направляете трафик через [LLM-шлюз](/docs/ru/llm-gateway) с заданной `CLAUDE_CODE_SKIP_VERTEX_AUTH`, обновите токен шлюза в `ANTHROPIC_AUTH_TOKEN` или `ANTHROPIC_CUSTOM_HEADERS`, затем повторите попытку

1632* Если вы аутентифицируетесь с файлом ключа учетной записи обслуживания, подтвердите, что `GOOGLE_APPLICATION_CREDENTIALS` указывает на действительный ключ. См. [Configure GCP credentials](/docs/ru/google-vertex-ai#3-configure-gcp-credentials)1639* Если вы проходите аутентификацию с файлом ключа сервисного аккаунта, убедитесь, что `GOOGLE_APPLICATION_CREDENTIALS` указывает на действительный ключ. См. [Настройка учётных данных GCP](/docs/ru/google-vertex-ai#3-configure-gcp-credentials)

1633* Если ошибка повторяется после обновления, подтвердите, что личность работает вне Claude Code с помощью `gcloud auth application-default print-access-token` в той же оболочке1640* Если ошибка повторяется после обновления, проверьте работоспособность идентификатора вне Claude Code с помощью `gcloud auth application-default print-access-token` в той же оболочке

1634 1641 

1635До v2.1.273 401 из Agent Platform показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, которое не может обновить учетные данные Google Cloud.1642До версии v2.1.273 ответ 401 от Agent Platform вместо этого приводил к общему сообщению `Please run /login` или `Failed to authenticate`, которые не могут обновить учётные данные Google Cloud.

1636 1643 

1637<h3 id="google-cloud-authentication-failed">1644<h3 id="google-cloud-authentication-failed">

1638 Google Cloud authentication failed1645 Ошибка аутентификации Google Cloud

1639</h3>1646</h3>

1640 1647 

1641[Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) вернул 403, который он использует для отказов в авторизации, а не истекших учетных данных. Обычно личность, с которой вы аутентифицируетесь, не имеет разрешения IAM, или модель не включена для вашего проекта.1648[Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) вернул 403 — этот код он использует для отказов в авторизации, а не для истёкших учётных данных. Обычно у идентификатора, с которым вы проходите аутентификацию, нет разрешения IAM, или модель не включена для вашего проекта.

1642 1649 

1643Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `Google Cloud authentication failed`:1650Подсказка по действию в середине зависит от вашей настройки. Неизменной частью является начальное `Google Cloud authentication failed`:

1644 1651 

1645```text theme={null}1652```text theme={null}

1646Google 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 ...1653Google 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 1655 

1649**Что делать:**1656**Что делать:**

1650 1657 

1651* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором1658* Если в подсказке сказано, что учётные данные управляются этим окружением, учётными данными владеет приложение, запустившее Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору

1652* Подтвердите роли в [IAM configuration](/docs/ru/google-vertex-ai#iam-configuration), предоставлены личности, с которой вы аутентифицируетесь1659* Убедитесь, что роли из раздела [Конфигурация IAM](/docs/ru/google-vertex-ai#iam-configuration) назначены идентификатору, с которым вы проходите аутентификацию

1653* Подтвердите, что модель включена для вашего проекта. См. [Request model access](/docs/ru/google-vertex-ai#2-request-model-access)1660* Убедитесь, что модель включена для вашего проекта. См. [Запрос доступа к модели](/docs/ru/google-vertex-ai#2-request-model-access)

1654 1661 

1655До v2.1.273 403 из Agent Platform показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, которое не может обновить учетные данные Google Cloud.1662До версии v2.1.273 ответ 403 от Agent Platform вместо этого приводил к общему сообщению `Please run /login` или `Failed to authenticate`, которые не могут обновить учётные данные Google Cloud.

1656 1663 

1657<h3 id="microsoft-foundry-authentication-failed">1664<h3 id="microsoft-foundry-authentication-failed">

1658 Microsoft Foundry authentication failed1665 Microsoft Foundry authentication failed

1659</h3>1666</h3>

1660 1667 

1661[Microsoft Foundry](/docs/ru/microsoft-foundry) вернул 401 или 403: учетные данные Azure в запросе были отклонены, или личность позади них не имеет доступа к ресурсу Foundry. `/login` не может выпускать учетные данные Azure. Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `Microsoft Foundry authentication failed`:1668[Microsoft Foundry](/docs/ru/microsoft-foundry) вернул ошибку 401 или 403: учётные данные Azure в запросе были отклонены, либо стоящая за ними идентичность не имеет доступа к ресурсу Foundry. `/login` не может выпускать учётные данные Azure. Подсказка о действии в середине сообщения зависит от вашей конфигурации. Неизменной остаётся начальная часть `Microsoft Foundry authentication failed`:

1662 1669 

1663```text theme={null}1670```text theme={null}

1664Microsoft 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 ...1671Microsoft 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 1673 

1667**Что делать:**1674**Что делать:**

1668 1675 

1669* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором1676* Если в подсказке сказано, что учётные данные управляются этой средой, то учётными данными владеет приложение, запустившее Claude Code, и остальные шаги здесь не применимы: повторите попытку или обратитесь к администратору

1670* Обновите учетные данные, которые вы настроили в [Configure Azure credentials](/docs/ru/microsoft-foundry#2-configure-azure-credentials): поверните `ANTHROPIC_FOUNDRY_API_KEY`, выпустите свежий `ANTHROPIC_FOUNDRY_AUTH_TOKEN`, или запустите `az login`, чтобы цепочка учетных данных Microsoft Entra по умолчанию могла снова войти1677* Обновите учётные данные, которые вы настроили в разделе [Настройка учётных данных Azure](/docs/ru/microsoft-foundry#2-configure-azure-credentials): замените `ANTHROPIC_FOUNDRY_API_KEY`, выпустите новый `ANTHROPIC_FOUNDRY_AUTH_TOKEN` или выполните `az login`, чтобы цепочка учётных данных Microsoft Entra по умолчанию снова могла выполнить вход

1671* Если учетные данные текущие, подтвердите, что личность имеет доступ к ресурсу Foundry. См. [Azure RBAC configuration](/docs/ru/microsoft-foundry#azure-rbac-configuration)1678* Если учётные данные актуальны, убедитесь, что у идентичности есть доступ к ресурсу Foundry. См. [Настройка Azure RBAC](/docs/ru/microsoft-foundry#azure-rbac-configuration)

1672 1679 

1673До v2.1.273 401 или 403 из Microsoft Foundry показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, которое не может обновить учетные данные Azure.1680До версии v2.1.273 при ошибке 401 или 403 от Microsoft Foundry вместо этого отображалось общее сообщение `Please run /login` или `Failed to authenticate`, которое не может обновить учётные данные Azure.

1674 1681 

1675<h3 id="could-not-load-aws-or-google-cloud-credentials">1682<h3 id="could-not-load-aws-or-google-cloud-credentials">

1676 Could not load AWS or Google Cloud credentials1683 Could not load AWS or Google Cloud credentials

1677</h3>1684</h3>

1678 1685 

1679Claude Code не смог получить пригодные учетные данные из цепочки поставщика учетных данных AWS или из ваших учетных данных приложения Google по умолчанию на машине, на которой он работает, поэтому ни один запрос не достиг вашего облачного поставщика. Claude Code очищает свои кэшированные учетные данные и повторяет попытку дважды перед отображением этого сообщения. Деталь после `·` называет конкретную причину, такую как истекший сеанс SSO, отсутствующие учетные данные приложения по умолчанию, сообщаемые как `Could not load the default credentials`, или отозванный вход, сообщаемый как `invalid_grant`:1686Claude Code не удалось получить пригодные учётные данные из цепочки поставщиков учётных данных AWS или из учётных данных приложения Google по умолчанию на машине, где он запущен, поэтому ни один запрос не дошёл до вашего облачного провайдера. Прежде чем показать это сообщение, Claude Code очищает кэшированные учётные данные и дважды повторяет попытку. Подробности после `·` указывают конкретную причину, например истёкшую сессию SSO, отсутствующие учётные данные приложения по умолчанию, о которых сообщается как `Could not load the default credentials`, или отозванный вход, о котором сообщается как `invalid_grant`:

1680 1687 

1681```text theme={null}1688```text theme={null}

1682API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.1689API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.

1683API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.1690API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.

1684```1691```

1685 1692 

1686В [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`.1693В [неинтерактивном режиме](/docs/ru/headless) с `-p` и в [Agent SDK](/docs/ru/agent-sdk/overview) структурированный код ошибки — `cloud_credential_error`. До версии v2.1.267 сообщение показывало только текст подробностей после `API Error:`, а структурированным кодом был `server_error` или `unknown`.

1687 1694 

1688**Что делать:**1695**Что делать:**

1689 1696 

1690* Запустите команду входа вашего поставщика, такую как `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 Code1697* Выполните команду входа вашего провайдера, например `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

1691* Если деталь читается `AWS default-chain credential resolve timed out`, цепь зависла, а не завершилась ошибкой, поэтому следуйте [AWS default-chain credential resolve timed out](#aws-default-chain-credential-resolve-timed-out) вместо этого1698* Если в подробностях указано `AWS default-chain credential resolve timed out`, значит цепочка зависла, а не завершилась с ошибкой, поэтому следуйте вместо этого инструкциям из раздела [AWS default-chain credential resolve timed out](#aws-default-chain-credential-resolve-timed-out)

1692 1699 

1693<h3 id="aws-default-chain-credential-resolve-timed-out">1700<h3 id="aws-default-chain-credential-resolve-timed-out">

1694 AWS default-chain credential resolve timed out1701 AWS default-chain credential resolve timed out

1695</h3>1702</h3>

1696 1703 

1697Цепочка поставщика учетных данных 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) и повторяет попытку перед тем, как эта ошибка проявляется, поэтому к тому времени, когда вы ее видите, цепь зависла при повторных попытках.1704Цепочка поставщиков учётных данных 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) и повторяет попытку, поэтому к моменту, когда вы её видите, цепочка уже зависала при повторных попытках.

1698 1705 

1699```text theme={null}1706```text theme={null}

1700API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.1707API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.

1701```1708```

1702 1709 

1703Распространенные причины — это команда `credential_process` в вашем профиле AWS, которая ждет входа, который она не может получить, и контейнер или VM, чей сервис метаданных экземпляра (IMDS) никогда не отвечает на зонд цепи.1710Типичные причины — команда `credential_process` в вашем профиле AWS, которая ожидает ввода, который не может получить, а также контейнер или виртуальная машина, служба метаданных экземпляра (IMDS) которых так и не отвечает на проверку цепочки.

1704 1711 

1705До v2.1.267 сообщение читалось `API Error: AWS default-chain credential resolve timed out`.1712До версии v2.1.267 сообщение выглядело как `API Error: AWS default-chain credential resolve timed out`.

1706До v2.1.207 зависшая цепь оставляла запрос ожидающим неопределенно долго вместо завершения ошибкой.1713До версии v2.1.207 зависшая цепочка оставляла запрос в бесконечном ожидании вместо завершения с ошибкой.

1707 1714 

1708**Что делать:**1715**Что делать:**

1709 1716 

1710* Запустите `aws sts get-caller-identity` в той же оболочке с тем же `AWS_PROFILE`. Если он также зависает, исправьте профиль; команда `credential_process`, которая интерактивно подсказывает, — это распространенная причина.1717* Выполните `aws sts get-caller-identity` в той же оболочке с тем же `AWS_PROFILE`. Если эта команда тоже зависает, исправьте профиль; частая причина — команда `credential_process`, которая запрашивает ввод в интерактивном режиме.

1711* Завершите шаг входа перед запуском Claude Code, например `aws sso login --profile myprofile`1718* Выполните вход до запуска Claude Code, например `aws sso login --profile myprofile`

1712* Если ваша цепь запускает интерактивный вход, который законно требует более 60 секунд, такой как SSO с MFA через обертку, такую как `aws-vault`, поднимите лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars)1719* Если ваша цепочка выполняет интерактивный вход, которому действительно требуется больше 60 секунд, например SSO с MFA через обёртку вроде `aws-vault`, увеличьте лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars)

1713 1720 

1714<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">1721<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">

1715 Bedrock setup verification timed out waiting for AWS1722 Bedrock setup verification timed out waiting for AWS

1716</h3>1723</h3>

1717 1724 

1718Вызов AWS во время [Bedrock setup wizard](/docs/ru/amazon-bedrock#sign-in-with-bedrock) шага проверки учетных данных, такой как поиск учетных данных или проверка личности, не завершился в течение 60-секундного лимита. Мастер перестает ждать и завершает шаг проверки ошибкой:1725Обращение к AWS во время проверки учётных данных в [мастере настройки Bedrock](/docs/ru/amazon-bedrock#sign-in-with-bedrock), например поиск учётных данных или проверка идентичности, не завершилось в пределах 60-секундного лимита. Мастер прекращает ожидание, и шаг проверки завершается с ошибкой:

1719 1726 

1720```text theme={null}1727```text theme={null}

1721Timed 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.1728Timed 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.

1722```1729```

1723 1730 

1724Число отражает ваш лимит: 60 секунд по умолчанию, или значение, которое вы установили в [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars).1731Число отражает ваш лимит: 60 секунд по умолчанию или значение, заданное в [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars).

1725 1732 

1726Распространенные причины — это сеть или прокси, которые зависают запросы к AWS, включая обновление токена SSO, и помощник учетных данных, который все еще ждет входа, который вы не можете видеть. Поднимите лимит только, когда помощник законно требует больше времени.1733Типичные причины — сеть или прокси, которые задерживают запросы к AWS, включая обновление токена SSO, а также вспомогательная программа учётных данных, которая всё ещё ожидает ввода, который вы не видите. Увеличивайте лимит, только если вспомогательной программе действительно нужно больше времени.

1727 1734 

1728Один зависший запрос к AWS также может завершиться ошибкой на его собственном тайм-ауте для каждого запроса, который показывает более короткое сообщение на том же шаге:1735Отдельный зависший запрос к AWS также может завершиться ошибкой по собственному таймауту запроса, и тогда на том же шаге отображается более короткое сообщение:

1729 1736 

1730```text theme={null}1737```text theme={null}

1731A request to AWS timed out. Check your network and proxy settings, then try again.1738A request to AWS timed out. Check your network and proxy settings, then try again.

1732```1739```

1733 1740 

1734Когда те же тайм-ауты происходят на шаге закрепления модели, мастер отмечает модель как `unreachable` вместо отображения любого сообщения.1741Если такие же таймауты возникают на шаге закрепления модели, мастер помечает модель как `unreachable` вместо отображения любого из этих сообщений.

1735 1742 

1736**Что делать:**1743**Что делать:**

1737 1744 

1738* Запустите `aws sts get-caller-identity` в той же оболочке. Если он также зависает, зависание находится вне Claude Code, в вашей сети, вашем прокси или помощнике учетных данных в вашем профиле AWS; исправьте это сначала.1745* Выполните `aws sts get-caller-identity` в той же оболочке. Если эта команда тоже зависает, проблема находится вне Claude Code — в вашей сети, прокси или вспомогательной программе учётных данных в профиле AWS; сначала устраните её.

1739* Завершите любой интерактивный вход перед открытием мастера, например `aws sso login --profile myprofile`1746* Выполните интерактивный вход до открытия мастера, например `aws sso login --profile myprofile`

1740* Если помощник учетных данных в вашем профиле AWS законно требует более 60 секунд для подсказки, поднимите лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars)1747* Если вспомогательной программе учётных данных в вашем профиле AWS действительно нужно больше 60 секунд, чтобы запросить у вас ввод, увеличьте лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars)

1741 1748 

1742<h3 id="cloud-gateway-session-expired">1749<h3 id="cloud-gateway-session-expired">

1743 Cloud gateway session expired1750 Cloud gateway session expired

1744</h3>1751</h3>

1745 1752 

1746Вы вошли через [Claude apps gateway](/docs/ru/claude-apps-gateway), и сеанс шлюза, сохраненный на этой машине, истек и не смог быть обновлен, или шлюз больше его не принимает, например, после [JWT secret is replaced](/docs/ru/claude-apps-gateway-deploy#jwt-secret-rotation) шлюза. Если вы видите эту строку при запуске `claude` интерактивно, сеанс открылся без входа в шлюз:1753Вы вошли через [шлюз приложений Claude](/docs/ru/claude-apps-gateway), и сессия шлюза, сохранённая на этой машине, истекла и не может быть продлена, либо шлюз её больше не принимает, например после [замены JWT-секрета](/docs/ru/claude-apps-gateway-deploy#jwt-secret-rotation) шлюза. Если вы видите эту строку при интерактивном запуске `claude`, значит сессия открылась без входа в шлюз:

1747 1754 

1748```text theme={null}1755```text theme={null}

1749Cloud gateway session expired — run /login to reconnect.1756Cloud gateway session expired — run /login to reconnect.

1750```1757```

1751 1758 

1752Та же строка может появиться в середине сеанса, когда учетные данные шлюза истекают и Claude Code не может их обновить.1759Та же строка может появиться посреди сессии, когда учётные данные шлюза истекают и Claude Code не может их продлить.

1753 1760 

1754В [non-interactive](/docs/ru/headless) запуске, фоновом или другом автоматическом сеансе, или подкоманде `claude`, отличной от `claude auth`, Claude Code вместо этого выходит с этим сообщением, когда шлюз больше не принимает сеанс:1761В [неинтерактивном](/docs/ru/headless) запуске, фоновой или другой автоматической сессии либо в подкоманде `claude`, отличной от `claude auth`, Claude Code вместо этого завершает работу с таким сообщением, когда шлюз больше не принимает сессию:

1755 1762 

1756```text theme={null}1763```text theme={null}

1757Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.1764Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.


1759 1766 

1760**Что делать:**1767**Что делать:**

1761 1768 

1762* Запустите `/login` в сеансе и завершите вход в браузер1769* Выполните `/login` в сессии и завершите вход в браузере

1763* Для неинтерактивного запуска запустите `claude` в том же окружении, запустите `/login`, затем повторно запустите вашу команду1770* При неинтерактивном запуске запустите `claude` в той же среде, выполните `/login`, затем повторно выполните свою команду

1764 1771 

1765<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">1772<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">

1766 Sign-in timed out while waiting for you to continue1773 Sign-in timed out while waiting for you to continue

1767</h3>1774</h3>

1768 1775 

1769Во время входа [Claude apps gateway](/docs/ru/claude-apps-gateway) шлюз назвал учетную запись, которая вошла, и Claude Code попросил вас подтвердить ее перед сохранением учетных данных. Вы оставили подтверждение открытым после истечения срока действия входа, и шлюз не выдал токен обновления, который мог бы его обновить, поэтому Claude Code ничего не сохранил, когда вы продолжили:1776Во время входа через [шлюз приложений Claude](/docs/ru/claude-apps-gateway) шлюз назвал учётную запись, под которой был выполнен вход, и Claude Code попросил вас подтвердить её перед сохранением учётных данных. Вы оставили подтверждение открытым дольше срока действия самого входа, а шлюз не выдал токен обновления, с помощью которого его можно было бы продлить, поэтому, когда вы продолжили, Claude Code ничего не сохранил:

1770 1777 

1771```text theme={null}1778```text theme={null}

1772Sign-in timed out while waiting for you to continue. Try again.1779Sign-in timed out while waiting for you to continue. Try again.


1774 1781 

1775**Что делать:**1782**Что делать:**

1776 1783 

1777* Запустите `/login` снова и подтвердите учетную запись перед истечением срока действия входа1784* Снова выполните `/login` и подтвердите учётную запись до истечения срока действия входа

1778 1785 

1779<h3 id="gateway-refused-the-request">1786<h3 id="gateway-refused-the-request">

1780 Gateway refused the request1787 Gateway refused the request

1781</h3>1788</h3>

1782 1789 

1783Вы подписаны через [Claude apps gateway](/docs/ru/claude-apps-gateway), и запрос вернул 403: шлюз, или восходящий позади него, отказал в нем. Повторный вход не изменяет отказ, поэтому сообщение указывает на администратора вашего шлюза:1790Вы вошли через [шлюз приложений Claude](/docs/ru/claude-apps-gateway), и запрос вернул ошибку 403: его отклонил шлюз или вышестоящий сервис за ним. Повторный вход не меняет результат отказа, поэтому сообщение направляет вас к администратору шлюза:

1784 1791 

1785```text theme={null}1792```text theme={null}

1786Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...1793Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...


1788 1795 

1789**Что делать:**1796**Что делать:**

1790 1797 

1791* Попросите администратора вашего шлюза посмотреть запрос. Хвост `API Error:` несет отказ, который вернул шлюз1798* Попросите администратора шлюза найти этот запрос. Хвост `API Error:` содержит отказ, возвращённый шлюзом

1792* Для администраторов: [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)1799* Для администраторов: [правило контроля доступа](/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)

1793 1800 

1794До v2.1.273 403 на сеансе шлюза показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, и повторный вход не очистил отказ.1801До версии v2.1.273 при ошибке 403 в сессии шлюза вместо этого отображалось общее сообщение `Please run /login` или `Failed to authenticate`, а повторный вход не снимал отказ.

1795 1802 

1796<h2 id="network-and-connection-errors">1803<h2 id="network-and-connection-errors">

1797 Ошибки сети и подключения1804 Ошибки сети и подключения


2852 Ошибки командной строки2859 Ошибки командной строки

2853</h2>2860</h2>

2854 2861 

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

2856 2863 

2857<h3 id="conflict-between-bg-and-print">2864<h3 id="conflict-between-bg-and-print">

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

2859</h3>2866</h3>

2860 2867 

2861Это сообщение требует 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 эта комбинация молча создавала фоновое задание, к которому невозможно было подключиться.2868Это сообщение требует 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 такое сочетание молча создавало фоновое задание, к которому невозможно было подключиться.

2862 2869 

2863```text theme={null}2870```text theme={null}

2864--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.2871--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.


2866 2873 

2867**Что делать:**2874**Что делать:**

2868 2875 

2869* Удалите `-p` или `--print`. `--bg` принимает приглашение в качестве позиционального аргумента, поэтому `claude --bg "<task>"` — это полная команда. См. [Dispatch new agents from your shell](/docs/ru/agent-view#from-your-shell).2876* Уберите `-p` или `--print`. `--bg` принимает промпт как позиционный аргумент, поэтому `claude --bg "<task>"` — это полная команда. См. [Запуск новых агентов из оболочки](/docs/ru/agent-view#from-your-shell).

2870* Чтобы запустить приглашение неинтерактивно и вывести результат вместо создания фонового сеанса, удалите `--bg` и запустите `claude -p "<task>"`2877* Чтобы выполнить промпт в неинтерактивном режиме и вывести результат вместо создания фоновой сессии, уберите `--bg` и выполните `claude -p "<task>"`

2878 

2879<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">

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

2881</h3>

2882 

2883Вы передали [`--append-subagent-system-prompt`](/docs/ru/cli-reference#cli-flags) вместе с `--append-subagent-system-prompt-file` в одном вызове `claude`, поэтому `claude` завершается с кодом выхода 1 вместо запуска сессии:

2884 

2885```text theme={null}

2886Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.

2887```

2888 

2889До v2.1.283 `claude` завершался так же, когда вы передавали `--system-prompt` вместе с `--system-prompt-file` или `--append-system-prompt` вместе с `--append-system-prompt-file`, потому что эти пары конфликтовали, а не [объединялись](/docs/ru/cli-reference#system-prompt-flags). В этих версиях сообщение называет пару, которую вы объединили.

2890 

2891**Что делать:**

2892 

2893* Оставьте одну форму флага и уберите другую. Чтобы объединить фиксированный файл промпта с текстом для конкретного запуска, добавьте этот текст в файл перед запуском, а не передавайте оба флага

2871 2894 

2872<h3 id="invalid-agents-configuration">2895<h3 id="invalid-agents-configuration">

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

2874</h3>2897</h3>

2875 2898 

2876Значение, которое вы передали в `--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 запускал сеанс в любом случае.2899Значение, переданное в `--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 всё равно запускал сессию.

2877 2900 

2878```text theme={null}2901```text theme={null}

2879Error: Invalid --agents configuration:2902Error: Invalid --agents configuration:

2880<what failed>2903<what failed>

2881```2904```

2882 2905 

2883То, что следует после первой строки, зависит от того, как значение не прошло проверку. Claude Code выполняет эти проверки по порядку и останавливается на первой, которая не пройдена. Если ваше значение имеет два вида проблем, вы видите второе только после исправления первого:2906Что следует за первой строкой, зависит от того, на чём значение не прошло проверку. Claude Code выполняет эти проверки по порядку и останавливается на первой неудачной. Если в вашем значении есть проблемы двух видов, вторую вы увидите только после исправления первой:

2884 2907 

28851. Когда значение начинается с `{`, но не анализируется как JSON, или содержимое файла `--agents` не анализируется, Claude Code выводит одну строку `invalid JSON:` с собственным сообщением парсера JSON29081. Когда значение начинается с `{`, но не разбирается как JSON, или содержимое файла `--agents` не разбирается, Claude Code выводит одну строку `invalid JSON:` с собственным сообщением JSON-парсера

28862. Когда оно анализируется, но определение агента не соответствует схеме для [определённых в CLI подагентов](/docs/ru/sub-agents#choose-the-subagent-scope), Claude Code выводит одну строку на проблему29092. Когда значение разбирается, но определение агента не соответствует схеме для [субагентов, определённых через CLI](/docs/ru/sub-agents#choose-the-subagent-scope), Claude Code выводит по одной строке на каждую проблему

28873. Когда имя агента начинается с `-`, Claude Code выводит `<name>: agent names must not start with '-'`29103. Когда имя агента начинается с `-`, Claude Code выводит `<name>: agent names must not start with '-'`

2888 2911 

2889Когда строк проблем больше 20, Claude Code выводит первые 20 и заменяет остальные на `…and N more`.2912Когда строк с проблемами больше 20, Claude Code выводит первые 20, а остальные заменяет на `…and N more`.

2890 2913 

2891С `--print`, `--agents` также принимает [путь к файлу JSON](/docs/ru/sub-agents#choose-the-subagent-scope) вместо встроенного объекта. До версии v2.1.281 `--agents` принимал только встроенный JSON и рассматривал путь к файлу как недействительный JSON. Форма файла имеет свои отказы, выводимые вместо этого сообщения, включая следующие:2914С `--print` флаг `--agents` также принимает [путь к JSON-файлу](/docs/ru/sub-agents#choose-the-subagent-scope) вместо встроенного объекта. До v2.1.281 `--agents` принимал только встроенный JSON и считал путь к файлу недопустимым JSON. У файловой формы есть собственные отказы, которые выводятся вместо этого сообщения, в том числе следующие:

2892 2915 

2893* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code прочитал значение как путь к файлу в интерактивном сеансе. Передайте определения как встроенный JSON или добавьте `-p` для чтения из файла.2916* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code прочитал значение как путь к файлу в интерактивной сессии. Передайте определения как встроенный JSON или добавьте `-p`, чтобы читать их из файла.

2894* **`Error: --agents file not found: <path>`**: файл не существует по этому пути. Значение, которое не начинается с `{` и не является действительным JSON, читается как путь, поэтому встроенный JSON, который ваша оболочка повредила, может не пройти таким образом. Проверьте путь или кавычки и запустите команду снова.2917* **`Error: --agents file not found: <path>`**: по этому пути файла нет. Значение, которое не начинается с `{` и не является допустимым JSON, читается как путь, поэтому так же может завершиться ошибкой встроенный JSON, искажённый вашей оболочкой. Проверьте путь или кавычки и выполните команду снова.

2895 2918 

2896**Что делать:**2919**Что делать:**

2897 2920 

2898* Исправьте каждую проблему, которую указывает сообщение, затем запустите команду снова. См. [поля, которые принимает определённый в CLI подагент](/docs/ru/sub-agents#choose-the-subagent-scope).2921* Исправьте каждую проблему, перечисленную в сообщении, затем выполните команду снова. См. [поля, которые принимает субагент, определённый через CLI](/docs/ru/sub-agents#choose-the-subagent-scope).

2899 2922 

2900<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">2923<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">

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

2902</h3>2925</h3>

2903 2926 

2904Когда вы запускаете сеанс с [`--restricted`](/docs/ru/cli-reference#cli-flags), Claude Code отказывается создавать [облачные сеансы](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) из него, потому что новый сеанс будет работать вне ограниченного процесса и не будет применять ограниченный режим. Claude Code отказывает на клиенте, перед контактом с сервером, поэтому облачный сеанс не создаётся:2927Когда вы запускаете сессию с [`--restricted`](/docs/ru/cli-reference#cli-flags), Claude Code отказывается создавать из неё [облачные сессии](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud), потому что новая сессия работала бы вне ограниченного процесса и не соблюдала бы ограниченный режим. Claude Code отказывает на стороне клиента, до обращения к серверу, поэтому облачная сессия не создаётся:

2905 2928 

2906```text theme={null}2929```text theme={null}

2907Cloud sessions cannot be created from a --restricted session: they would not enforce it.2930Cloud sessions cannot be created from a --restricted session: they would not enforce it.


2909 2932 

2910**Что делать:**2933**Что делать:**

2911 2934 

2912* Запустите задачу локально в ограниченном сеансе2935* Выполните задачу локально в ограниченной сессии

2913* Если вы контролируете способ запуска сеанса, запустите новый сеанс `claude` без `--restricted` и создайте облачный сеанс оттуда2936* Если вы управляете тем, как была запущена сессия, запустите новую сессию `claude` без `--restricted` и создайте облачную сессию из неё

2914 2937 

2915До версии v2.1.248 Claude Code не имел флага `--restricted`; более ранние версии отклоняют сам флаг с ошибкой неизвестного параметра.2938До v2.1.248 в Claude Code не было флага `--restricted`; более ранние версии отклоняют сам флаг с ошибкой неизвестного параметра.

2916 2939 

2917<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">2940<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">

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

2919</h3>2942</h3>

2920 2943 

2921Политика `allow_remote_sessions` вашей организации отключена, поэтому [облачные сеансы](/docs/ru/claude-code-on-the-web) и команды, которые их используют, недоступны:2944Политика `allow_remote_sessions` вашей организации выключена, поэтому [облачные сессии](/docs/ru/claude-code-on-the-web) и команды, которые их используют, недоступны:

2922 2945 

2923```text theme={null}2946```text theme={null}

2924Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.2947Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.

2925```2948```

2926 2949 

2927Сообщение появляется, когда вы [создаёте облачный сеанс из терминала](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) и когда вы отправляете команду, которая требует облачные сеансы, такую как `/teleport`, `/remote-env` или `/web-setup`. До версии v2.1.268 отправка одной из этих команд возвращала [`Unknown command`](#unknown-command) вместо этого.2950Сообщение появляется, когда вы [создаёте облачную сессию из терминала](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud), и когда вы отправляете команду, которой нужны облачные сессии, например `/teleport`, `/remote-env` или `/web-setup`. До v2.1.268 отправка одной из этих команд вместо этого возвращала [`Unknown command`](#unknown-command).

2928 2951 

2929Это политика организации на стороне сервера, поэтому её нельзя переопределить из локальных параметров, переменных окружения или флагов CLI.2952Это серверная политика организации, поэтому её нельзя переопределить локальными настройками, переменными окружения или флагами CLI.

2930 2953 

2931Если Claude Code ещё не загрузил политику вашей организации или не может её получить, эти команды отвечают `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` вместо этого.2954Если Claude Code ещё не загрузил политику вашей организации или не может её получить, эти команды вместо этого отвечают `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.`

2932 2955 

2933**Что делать:**2956**Что делать:**

2934 2957 

2935* Попросите [владельца](/docs/ru/server-managed-settings#access-control) в вашей организации включить облачные сеансы в параметрах администратора Claude Code на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)2958* Попросите [Owner](/docs/ru/server-managed-settings#access-control) в вашей организации включить облачные сессии в настройках администратора Claude Code по адресу [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)

2936* Если сообщение говорит, что не удалось проверить политику, проверьте подключение к сети, затем перезагрузите Claude Code и попробуйте снова2959* Если в сообщении сказано, что не удалось проверить политику, проверьте сетевое подключение, затем перезапустите Claude Code и попробуйте снова

2937 2960 

2938<h3 id="the-json-schema-value-is-not-a-valid-json-schema">2961<h3 id="the-json-schema-value-is-not-a-valid-json-schema">

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

2940</h3>2963</h3>

2941 2964 

2942Схема, которую вы передали в [`--json-schema`](/docs/ru/cli-reference#cli-flags) в [неинтерактивном режиме](/docs/ru/headless#get-structured-output), не прошла компиляцию JSON Schema, поэтому `claude` завершает работу с кодом 1 вместо запуска приглашения. До версии v2.1.205 недействительная схема выдавала неструктурированный вывод без ошибки, и любая схема, использующая ключевое слово `format`, рассматривалась как недействительная.2965Схема, переданная в [`--json-schema`](/docs/ru/cli-reference#cli-flags) в [неинтерактивном режиме](/docs/ru/headless#get-structured-output), не прошла компиляцию JSON Schema, поэтому `claude` завершается с кодом выхода 1 вместо выполнения промпта. До v2.1.205 недопустимая схема давала неструктурированный вывод без ошибки, а любая схема, использующая ключевое слово `format`, считалась недопустимой.

2943 2966 

2944```text theme={null}2967```text theme={null}

2945Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values2968Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values

2946```2969```

2947 2970 

2948Текст после второго двоеточия — это диагностика валидатора и указывает на ключевое слово или местоположение, которое не прошло проверку. Схемы, использующие ключевое слово `format`, такие как `"format": "email"`, действительны: Claude Code принимает `format` как аннотацию и не применяет её.2971Текст после второго двоеточия — это диагностика валидатора; она называет ключевое слово или место, где произошёл сбой. Схемы, использующие ключевое слово `format`, например `"format": "email"`, допустимы: Claude Code принимает `format` как аннотацию и не применяет его.

2949 2972 

2950Claude Code выполняет две проверки перед компиляцией схемы: он отклоняет значение, которое не анализируется как JSON, с `Error: --json-schema is not valid JSON`, и действительный JSON, который не является объектом, с `Error: --json-schema must be a JSON object`.2973Перед компиляцией схемы Claude Code выполняет две проверки: значение, которое не разбирается как JSON, отклоняется с `Error: --json-schema is not valid JSON`, а допустимый JSON, не являющийся объектом, — с `Error: --json-schema must be a JSON object`.

2951 2974 

2952**Что делать:**2975**Что делать:**

2953 2976 

2954* Исправьте часть схемы, которую указывает диагностика, затем повторно запустите команду2977* Исправьте часть схемы, названную в диагностике, затем снова выполните команду

2955* См. [Get structured output](/docs/ru/headless#get-structured-output) для рабочей схемы и команды2978* Рабочую схему и команду см. в разделе [Получение структурированного вывода](/docs/ru/headless#get-structured-output)

2956 2979 

2957<h3 id="settings-file-exceeds-the-2mib-limit">2980<h3 id="settings-file-exceeds-the-2mib-limit">

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

2959</h3>2982</h3>

2960 2983 

2961Файл, который вы передали в [`--settings`](/docs/ru/cli-reference#cli-flags), больше 2 MiB, поэтому `claude` завершает работу с кодом 1 при запуске вместо загрузки. До версии v2.1.214 Claude Code читал файл без проверки размера, и многогигабайтный файл или файл устройства, такой как `/dev/zero`, увеличивал память без ограничений.2984Файл, переданный в [`--settings`](/docs/ru/cli-reference#cli-flags), больше 2 MiB, поэтому `claude` завершается с кодом выхода 1 при запуске вместо его загрузки. До v2.1.214 Claude Code читал файл без проверки размера, и многогигабайтный файл или файл устройства вроде `/dev/zero` неограниченно увеличивал потребление памяти.

2962 2985 

2963```text theme={null}2986```text theme={null}

2964Error: Settings file exceeds the 2MiB limit: /path/to/settings.json2987Error: Settings file exceeds the 2MiB limit: /path/to/settings.json

2965```2988```

2966 2989 

2967Claude Code отклоняет путь `--settings`, который не является обычным файлом, таким же образом: устройство, FIFO или сокет сообщает `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` с последующим путём, а каталог сообщает причину `EISDIR`.2990Так же Claude Code отклоняет путь `--settings`, который не является обычным файлом: для устройства, FIFO или сокета выводится `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))`, за которым следует путь, а для каталога указывается причина `EISDIR`.

2968 2991 

2969**Что делать:**2992**Что делать:**

2970 2993 

2971* Укажите `--settings` на обычный файл JSON параметров размером менее 2 MiB. См. [Settings](/docs/ru/settings) для формата.2994* Укажите в `--settings` обычный JSON-файл настроек размером меньше 2 MiB. Формат см. в разделе [Настройки](/docs/ru/settings).

2972 2995 

2973<h3 id="the-current-directory-no-longer-exists">2996<h3 id="the-current-directory-no-longer-exists">

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

2975</h3>2998</h3>

2976 2999 

2977Вы запустили `claude` из каталога, который был удалён или перемещён после того, как ваша оболочка вошла в него, например worktree или временный каталог, удалённый другой оболочкой. Claude Code не может прочитать свой рабочий каталог, поэтому он завершает работу с кодом 1 перед запуском сеанса, как в интерактивном, так и в [неинтерактивном](/docs/ru/headless) режиме. До версии v2.1.239 Claude Code падал с минифицированным исходным кодом пакета и необработанным стеком `ENOENT ... uv_cwd` на stderr вместо этого сообщения.3000Вы запустили `claude` из каталога, который был удалён или перемещён после того, как ваша оболочка в него перешла, например из worktree или временного каталога, удалённого другой оболочкой. Claude Code не может прочитать свой рабочий каталог, поэтому завершается с кодом выхода 1 до запуска сессии — как в интерактивном, так и в [неинтерактивном](/docs/ru/headless) режиме. До v2.1.239 Claude Code вместо этого сообщения аварийно завершался, выводя в stderr минифицированный исходный код сборки и необработанный стек `ENOENT ... uv_cwd`.

2978 3001 

2979```text theme={null}3002```text theme={null}

2980The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.3003The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.

2981error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.3004error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.

2982```3005```

2983 3006 

2984Причина и исправление одинаковы для обеих форм.3007Причина и способ исправления одинаковы для обеих форм.

2985 3008 

2986Когда Claude Code не может прочитать рабочий каталог по другой причине, такой как изменение разрешений, сообщение указывает код ошибки вместо этого: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`3009Когда Claude Code не может прочитать рабочий каталог по другой причине, например из-за изменения прав доступа, сообщение вместо этого называет код ошибки: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`

2987 3010 

2988На macOS `EPERM` для каталога в `~/Desktop`, `~/Documents`, `~/Downloads` или iCloud Drive обычно означает, что macOS блокирует доступ вашего приложения терминала к этой папке. Другие команды, которые читают эту папку, не работают так же: `ls` там сообщает `Operation not permitted`, даже с `sudo`.3011В macOS `EPERM` для каталога в `~/Desktop`, `~/Documents`, `~/Downloads` или iCloud Drive обычно означает, что macOS блокирует доступ вашего приложения терминала к этой папке. Другие команды, читающие эту папку, завершаются так же: `ls` в ней сообщает `Operation not permitted`, даже с `sudo`.

2989 3012 

2990**Что делать:**3013**Что делать:**

2991 3014 

2992* Перейдите в каталог, который существует, такой как ваш домашний или проектный каталог, затем запустите `claude` снова3015* Перейдите в существующий каталог, например в домашний каталог или каталог проекта, затем снова запустите `claude`

2993* Если каталог был пересоздан по тому же пути, ваша оболочка всё ещё содержит удалённый. Запустите `cd "$PWD"` или покиньте и повторно войдите в каталог, затем запустите `claude` снова3016* Если каталог был создан заново по тому же пути, ваша оболочка всё ещё держит удалённый. Выполните `cd "$PWD"` или выйдите из каталога и войдите в него снова, затем снова запустите `claude`

2994* Для `EPERM` на macOS выйдите из приложения терминала с помощью Cmd+Q, откройте его снова, вернитесь в эту папку и запустите `claude`. Если `ls` в этой папке всё ещё не работает, откройте **System Settings > Privacy & Security > Files and Folders**, включите папку для вашего приложения терминала, затем повторно откройте терминал3017* Для `EPERM` в macOS закройте приложение терминала с помощью Cmd+Q, откройте его снова, вернитесь в эту папку и запустите `claude`. Если `ls` в этой папке по-прежнему завершается ошибкой, откройте **Системные настройки > Конфиденциальность и безопасность > Файлы и папки**, включите доступ к папке для вашего приложения терминала, затем снова откройте терминал

2995 3018 

2996<h3 id="temp-directory-refused-or-cannot-be-created">3019<h3 id="temp-directory-refused-or-cannot-be-created">

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

2998</h3>3021</h3>

2999 3022 

3000На macOS и Linux Claude Code создаёт приватный временный каталог при запуске, `claude-<uid>` в системном временном каталоге или переопределении [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars). Когда каталог не может быть создан или запись, уже находящаяся по этому пути, не проходит проверки безопасности, Claude Code выводит сбой на stderr и завершает работу с кодом 1 вместо запуска сеанса:3023В macOS и Linux Claude Code при запуске создаёт приватный временный каталог `claude-<uid>` в системном временном каталоге или в каталоге, заданном переопределением [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars). Если каталог не удаётся создать или уже существующий по этому пути элемент не проходит проверки безопасности, Claude Code выводит ошибку в stderr и завершается с кодом выхода 1, не запуская сессию:

3001 3024 

3002```text wrap theme={null}3025```text wrap theme={null}

3003ENOSPC: no space left on device, mkdir '/tmp/claude-501'3026ENOSPC: no space left on device, mkdir '/tmp/claude-501'


3011 3034 

3012**Что делать:**3035**Что делать:**

3013 3036 

3014* Для `ENOSPC` освободите место на диске на томе, который содержит временный каталог3037* Для `ENOSPC` освободите место на томе, где находится временный каталог

3015* Для форм `Refusing to use it` удалите саму названную запись, а не то, на что указывает ссылка, и запустите Claude Code снова; для формы `owned by uid` только администратор или этот пользователь могут удалить её3038* Для форм с `Refusing to use it` удалите сам названный элемент, а не то, на что указывает ссылка, и снова запустите Claude Code; для формы `owned by uid` удалить его может только администратор или этот пользователь

3016* Для `is not readable` запустите `chmod 0700` на названном каталоге или удалите его и запустите снова3039* Для `is not readable` выполните `chmod 0700` для названного каталога либо удалите его и запустите снова

3017* В любом из этих случаев установите [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars) на каталог, который вы контролируете, и запустите Claude Code снова, оставив отклонённый путь в покое3040* В любом из этих случаев задайте в [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars) каталог, которым вы управляете, и снова запустите Claude Code, не трогая отклонённый путь

3018 3041 

3019<h3 id="directory-couldnt-be-resolved-to-a-real-location">3042<h3 id="directory-couldnt-be-resolved-to-a-real-location">

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

3021</h3>3044</h3>

3022 3045 

3023Вы запустили `/add-dir` для подкаталога вашего рабочего каталога, и Claude Code не смог разрешить каталог в его реальное местоположение.3046Вы выполнили `/add-dir` для подкаталога вашего рабочего каталога, и Claude Code не смог определить реальное расположение этого каталога.

3024 3047 

3025У вас уже есть доступ к файлам подкаталога рабочего каталога, поэтому `/add-dir` только загружает его skills, команды и агентов. Перед загрузкой Claude Code проверяет, что реальное местоположение каталога, с разрешёнными любыми символическими ссылками, находится внутри рабочего каталога. Когда Claude Code не может разрешить это местоположение, он ничего не загружает и показывает это сообщение:3048У вас уже есть доступ к файлам в подкаталоге рабочего каталога, поэтому `/add-dir` только загружает его скиллы, команды и агентов. Перед их загрузкой Claude Code проверяет, что реальное расположение каталога, с разрешёнными символическими ссылками, находится внутри рабочего каталога. Если Claude Code не может определить это расположение, он ничего не загружает и показывает это сообщение:

3026 3049 

3027```text theme={null}3050```text theme={null}

3028packages/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.3051packages/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 3053 

3031**Что делать:**3054**Что делать:**

3032 3055 

3033* Проверьте, что путь указывает на реальный каталог внутри рабочего каталога, затем запустите `/add-dir` снова3056* Убедитесь, что путь указывает на реальный каталог внутри рабочего каталога, затем снова выполните `/add-dir`

3034* Сообщение не изменяет ваш доступ к файлам; оно только сообщает, что содержимое `.claude/` каталога не было загружено3057* Сообщение не меняет ваш доступ к файлам; оно лишь сообщает, что содержимое `.claude/` этого каталога не было загружено

3035 3058 

3036До версии v2.1.261 это сообщение также появлялось для каждого `/add-dir <subdirectory>`, когда рабочий каталог находился на автомонтировании `/net/<host>`, где Claude Code отказывается разрешать пути по дизайну; каталог был в порядке и повторная попытка не могла помочь.3059До v2.1.261 это сообщение также появлялось для каждого `/add-dir <subdirectory>`, когда рабочий каталог находился на автомонтировании `/net/<host>`, где Claude Code намеренно не разрешает пути; с каталогом всё было в порядке, и повторная попытка не могла помочь.

3037 3060 

3038<h3 id="workspace-not-trusted-when-starting-remote-control">3061<h3 id="workspace-not-trusted-when-starting-remote-control">

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

3040</h3>3063</h3>

3041 3064 

3042Вы запустили сервер [Remote Control](/docs/ru/remote-control) в режиме с `claude remote-control` или его псевдонимом `claude rc` в каталоге, которому вы не доверяете, и команда не смогла спросить вас, доверяете ли вы ему. Например, стандартный ввод или стандартный вывод команды не является терминалом, потому что один из них перенаправлен или передан по конвейеру. Команда завершает работу с кодом 1:3065Вы запустили серверный режим [Remote Control](/docs/ru/remote-control) с помощью `claude remote-control` или его псевдонима `claude rc` в каталоге, которому вы не доверяли, и команда не смогла спросить вас, доверять ли ему. Например, стандартный ввод или стандартный вывод команды не является терминалом, потому что один из них перенаправлен или передан через конвейер. Команда завершается с кодом выхода 1:

3043 3066 

3044```text theme={null}3067```text theme={null}

3045Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.3068Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

3046```3069```

3047 3070 

3048Два варианта, которые также начинаются с `Error: Workspace not trusted.`, появляются и в терминале, который слишком мал для отображения того, что включает доверие к каталогу, или в терминале, который не сообщил свой размер. Увеличьте окно или переключитесь на обычное окно терминала, затем запустите `claude rc` снова.3071Два варианта, которые также начинаются с `Error: Workspace not trusted.`, появляются в терминале, который слишком мал, чтобы показать, что включает доверие к каталогу, или который не сообщил свой размер. Увеличьте окно или переключитесь на обычное окно терминала, затем снова выполните `claude rc`.

3049 3072 

3050В вашем домашнем каталоге сообщение отличается, потому что диалог доверия рабочего пространства никогда не сохраняет доверие для домашнего каталога, поэтому принятие его там не может удовлетворить эту проверку. До версии v2.1.214 домашний каталог показывал сообщение выше, совет которого не может там сработать.3073В домашнем каталоге сообщение другое, потому что диалоговое окно доверия к рабочему пространству никогда не сохраняет доверие для домашнего каталога, так что его принятие там не может удовлетворить эту проверку. До v2.1.214 в домашнем каталоге показывалось сообщение выше, совет из которого там не может сработать.

3051 3074 

3052```text theme={null}3075```text theme={null}

3053Error: 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).3076Error: 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).

3054```3077```

3055 3078 

3056Если вы ответите `n` или нажмёте Enter на вопрос [`Trust <directory>?`](/docs/ru/remote-control#requirements), команда выведет сообщение `Remote Control did not start`, которое указывает каталог и завершит работу с кодом 1. Запустите `claude rc` снова, чтобы ответить `y`.3079Если вы ответите `n` или нажмёте Enter на [вопрос `Trust <directory>?`](/docs/ru/remote-control#requirements), команда выведет сообщение `Remote Control did not start` с названием каталога и завершится с кодом выхода 1. Снова выполните `claude rc`, чтобы ответить `y`.

3057 3080 

3058**Что делать:**3081**Что делать:**

3059 3082 

3060* Сначала доверьте каталогу из терминала: запустите `claude rc` там и ответьте `y`, или запустите `claude` там и примите [диалог доверия рабочего пространства](/docs/ru/permissions#project-allow-rules-and-workspace-trust), затем запустите вашу исходную команду снова3083* Сначала отметьте каталог как доверенный из терминала: выполните там `claude rc` и ответьте `y` или выполните там `claude` и примите [диалоговое окно доверия к рабочему пространству](/docs/ru/permissions#project-allow-rules-and-workspace-trust), затем снова выполните исходную команду

3061* В вашем домашнем каталоге перейдите в проектный каталог и запустите Remote Control там3084* В домашнем каталоге перейдите в каталог проекта и запустите Remote Control там

3062 3085 

3063До версии v2.1.284 команда никогда не спрашивала, даже в терминале.3086До v2.1.284 команда никогда не задавала вопрос, даже в терминале.

3064 3087 

3065<h3 id="not-carried-over-to-the-sessions-remote-control-starts">3088<h3 id="not-carried-over-to-the-sessions-remote-control-starts">

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

3067</h3>3090</h3>

3068 3091 

3069Вы запустили [Remote Control](/docs/ru/remote-control) с глобальным флагом `claude` перед глаголом `remote-control`, флагом, который ограничивал бы или конфигурировал сеансы, которые запускает Remote Control, такой как `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` или `--mcp-config`. Флаг, размещённый перед глаголом, никогда не достигает этих сеансов. Claude Code отказывает запуститься вместо этого, указывая флаг:3092Вы запустили [Remote Control](/docs/ru/remote-control) с глобальным флагом `claude` перед глаголом `remote-control` — таким, который ограничивал бы или настраивал сессии, запускаемые Remote Control, например `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` или `--mcp-config`. Флаг, указанный перед глаголом, никогда не доходит до этих сессий. Вместо этого Claude Code отказывается запускаться и называет флаг:

3070 3093 

3071```text theme={null}3094```text theme={null}

3072Error: `--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`).3095Error: `--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`).

3073```3096```

3074 3097 

3075Claude Code не отказывает глобальные флаги, которые безопасно отбросить, такие как `--verbose`, `--model` или введённые оболочкой `--session-id` или `--plugin-dir`: он их игнорирует и Remote Control запускается.3098Claude Code не отклоняет глобальные флаги, которые безопасно отбросить, например `--verbose`, `--model` или добавленные обёрткой `--session-id` или `--plugin-dir`: он их игнорирует, и Remote Control запускается.

3076 3099 

3077Claude Code также отказывает запуститься для глобального флага, который он ещё не признал безопасным, поэтому флаг, добавленный в более новом выпуске, может появиться в этом сообщении до более позднего выпуска, который его отметит как безопасный.3100Claude Code также отказывается запускаться при глобальном флаге, который он пока не считает безопасным, поэтому флаг, добавленный в более новом выпуске, может появляться в этом сообщении, пока более поздний выпуск не пометит его как безопасный.

3078 3101 

3079**Что делать:**3102**Что делать:**

3080 3103 

3081* Удалите флаг перед глаголом и передайте [собственные параметры Remote Control](/docs/ru/remote-control#start-a-remote-control-session) после него; `claude remote-control --help` их перечисляет3104* Уберите флаг перед глаголом и передайте [собственные параметры Remote Control](/docs/ru/remote-control#start-a-remote-control-session) после него; `claude remote-control --help` выводит их список

3082* Когда отклонённый флаг — это `--permission-mode`, запустите `claude remote-control --permission-mode <mode>` для установки режима разрешений для сеансов, которые запускает Remote Control3105* Если отклонённый флаг — `--permission-mode`, выполните `claude remote-control --permission-mode <mode>`, чтобы задать режим разрешений для сессий, которые запускает Remote Control

3083 3106 

3084До версии v2.1.248 `claude remote-control` не принимал свои флаги, когда глобальный флаг шёл первым, и команда не работала с ошибкой `unknown option`.3107До v2.1.248 `claude remote-control` не принимал собственные флаги, если первым шёл глобальный флаг, и команда завершалась ошибкой `unknown option`.

3085 3108 

3086<h3 id="claude-import-is-not-yet-available-in-this-build">3109<h3 id="claude-import-is-not-yet-available-in-this-build">

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

3088</h3>3111</h3>

3089 3112 

3090Вы запустили [`claude import`](/docs/ru/cli-reference#cli-commands), и Claude Code обнаружил, что поток импорта отключен, поэтому команда завершает работу с кодом 1 вместо запуска импорта. До версии v2.1.222 сборка с отключённым потоком импорта рассматривала `import` как приглашение и запускала интерактивный сеанс вместо вывода этого сообщения.3113Вы выполнили [`claude import`](/docs/ru/cli-reference#cli-commands), и Claude Code обнаружил, что процесс импорта отключён, поэтому команда завершается с кодом выхода 1 вместо запуска импорта. До v2.1.222 сборка с отключённым процессом импорта воспринимала `import` как промпт и вместо вывода этого сообщения запускала интерактивную сессию.

3091 3114 

3092```text theme={null}3115```text theme={null}

3093`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.3116`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.

3094```3117```

3095 3118 

3096Claude Code включает `claude import` через флаг функции, который он получает от Anthropic и кэширует на диске. Это сообщение означает, что кэшированное значение отключено. Причина обычно одна из следующих:3119Claude Code включает `claude import` через флаг функции, который он получает от Anthropic и кэширует на диске. Это сообщение означает, что кэшированное значение выключено. Обычно причина одна из следующих:

3097 3120 

3098* Вы не запустили сеанс с момента установки, поэтому Claude Code ещё не получил флаг. Первый `claude import` может вывести это даже когда функция доступна вам.3121* Вы не запускали сессию после установки, поэтому Claude Code ещё не получил флаг. Первый `claude import` может вывести это сообщение, даже если функция вам доступна.

3099* Вы используете 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` остаётся недоступным.3122* Вы используете 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` остаётся недоступным.

3100* Вы установили `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` или [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ru/env-vars), которые отключают получение флагов функций, поэтому `claude import` остаётся недоступным.3123* Вы задали `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` или [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ru/env-vars), которые отключают получение флагов функций, поэтому `claude import` остаётся недоступным.

3101 3124 

3102**Что делать:**3125**Что делать:**

3103 3126 

3104* На свежей установке запустите `claude`, дождитесь загрузки сеанса, выйдите и запустите `claude import` снова3127* В новой установке запустите `claude`, дождитесь загрузки сессии, выйдите и снова выполните `claude import`

3105* Где получение флагов функций остаётся отключённым, установите конфигурацию самостоятельно: добавьте серверы 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 из него.3128* Если получение флагов функций остаётся отключённым, настройте конфигурацию самостоятельно: добавьте 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); MCP-серверы Claude Code из него не читает.

3106 3129 

3107<h3 id="could-not-read-claude-code-config">3130<h3 id="could-not-read-claude-code-config">

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

3109</h3>3132</h3>

3110 3133 

3111Вы запустили [`claude import`](/docs/ru/cli-reference#cli-commands) в то время как Claude Code не мог анализировать `~/.claude.json`, файл, где он хранит вашу учётную запись и состояние для каждого проекта. Подкоманда читает этот файл для проверки доступности, но не показывает диалог восстановления, который показывает интерактивный сеанс, поэтому завершает работу с кодом 1. До версии v2.1.222 `claude import` с нечитаемым файлом конфигурации запускал интерактивный сеанс, диалог восстановления которого обрабатывал файл.3134Вы выполнили [`claude import`](/docs/ru/cli-reference#cli-commands), когда Claude Code не мог разобрать `~/.claude.json` — файл, в котором он хранит ваш вход в систему и состояние для каждого проекта. Подкоманда читает этот файл для проверки доступности, но не показывает диалоговое окно восстановления, которое показывает интерактивная сессия, поэтому завершается с кодом выхода 1. До v2.1.222 `claude import` с нечитаемым файлом конфигурации запускал интерактивную сессию, диалоговое окно восстановления которой обрабатывало файл.

3112 3135 

3113```text theme={null}3136```text theme={null}

3114Could not read Claude Code config — run `claude` with no arguments to recover it.3137Could not read Claude Code config — run `claude` with no arguments to recover it.


3116 3139 

3117**Что делать:**3140**Что делать:**

3118 3141 

3119* Запустите `claude` без аргументов. Claude Code обнаруживает недействительный файл и предлагает его сбросить. Затем запустите `claude import` снова.3142* Выполните `claude` без аргументов. Claude Code обнаружит недопустимый файл и предложит сбросить его. Затем снова выполните `claude import`.

3120* Чтобы сохранить ручные правки, которые вы сделали, исправьте синтаксис JSON в `~/.claude.json` в редакторе вместо этого, затем повторно запустите `claude import`3143* Чтобы сохранить внесённые вручную изменения, вместо этого исправьте синтаксис JSON в `~/.claude.json` в редакторе, затем снова выполните `claude import`

3121 3144 

3122<h3 id="could-not-import-a-server-from-claude-desktop">3145<h3 id="could-not-import-a-server-from-claude-desktop">

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

3124</h3>3147</h3>

3125 3148 

3126Claude Code не смог добавить один из серверов, которые вы выбрали в `claude mcp add-from-claude-desktop`. Команда всё ещё импортирует другие выбранные серверы и выводит одну строку на сервер, который не смог добавить. До версии v2.1.205 первый сервер, который не прошёл, останавливал импорт.3149Claude Code не смог добавить один из серверов, выбранных вами в `claude mcp add-from-claude-desktop`. Команда всё равно импортирует остальные выбранные серверы и выводит по одной строке для каждого сервера, который не удалось добавить. До v2.1.205 первый сервер с ошибкой останавливал импорт.

3127 3150 

3128```text theme={null}3151```text theme={null}

3129Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.3152Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.

3130```3153```

3131 3154 

3132Текст после имени сервера — это причина. Наиболее распространённая — это проверка имени: Claude Desktop позволяет символы в именах серверов, такие как пробелы и точки, которые `claude mcp` ограничивает буквами, цифрами, дефисами и подчёркиваниями. Другие причины включают конфигурацию сервера, которая не проходит валидацию, и сервер, заблокированный [политикой MCP](/docs/ru/managed-mcp) вашей организации.3155Текст после имени сервера — это причина. Самая распространённая — проверка имени: Claude Desktop допускает в именах серверов символы, например пробелы и точки, тогда как `claude mcp` ограничивает их буквами, цифрами, дефисами и подчёркиваниями. Другие причины включают конфигурацию сервера, не прошедшую валидацию, и сервер, заблокированный [политикой MCP](/docs/ru/managed-mcp) вашей организации.

3133 3156 

3134**Что делать:**3157**Что делать:**

3135 3158 

3136* Переименуйте сервер в `claude_desktop_config.json`, чтобы использовать только буквы, цифры, дефисы и подчёркивания, затем запустите `claude mcp add-from-claude-desktop` снова3159* Переименуйте сервер в `claude_desktop_config.json`, используя только буквы, цифры, дефисы и подчёркивания, затем снова выполните `claude mcp add-from-claude-desktop`

3137* Добавьте этот сервер напрямую с `claude mcp add` или `claude mcp add-json` под действительным именем. См. [Import MCP servers from Claude Desktop](/docs/ru/mcp#import-mcp-servers-from-claude-desktop).3160* Добавьте этот сервер напрямую с помощью `claude mcp add` или `claude mcp add-json` под допустимым именем. См. [Импорт MCP-серверов из Claude Desktop](/docs/ru/mcp#import-mcp-servers-from-claude-desktop).

3138 3161 

3139<h3 id="cannot-add-mcp-server-to-the-managed-scope">3162<h3 id="cannot-add-mcp-server-to-the-managed-scope">

3140 Не удалось добавить сервер MCP в управляемую область3163 Невозможно добавить MCP-сервер в управляемую область действия

3141</h3>3164</h3>

3142 3165 

3143Вы запустили `claude mcp add` или `claude mcp add-json` с `--scope managed`. Эта область содержит серверы, которые ваша организация предоставляет через управляемый параметр [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers). Claude Code читает их из управляемых параметров только, поэтому команда не может записать сервер в эту область.3166Вы выполнили `claude mcp add` или `claude mcp add-json` с `--scope managed`. Эта область действия содержит серверы, которые ваша организация предоставляет через управляемую настройку [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers). Claude Code читает их только из управляемых настроек, поэтому команда не может записать сервер в эту область действия.

3144 3167 

3145```text theme={null}3168```text theme={null}

3146Cannot add MCP server to scope: managed3169Cannot add MCP server to scope: managed


3148 3171 

3149**Что делать:**3172**Что делать:**

3150 3173 

3151* Добавьте сервер в область, в которую вы можете писать: `local`, `user` или `project`. Без `--scope` команда использует `local`. См. [MCP installation scopes](/docs/ru/mcp#mcp-installation-scopes)3174* Добавьте сервер в область действия, доступную для записи: `local`, `user` или `project`. Без `--scope` команда использует `local`. См. [Области действия установки MCP](/docs/ru/mcp#mcp-installation-scopes)

3152* Чтобы предоставить сервер каждому пользователю в вашей организации, добавьте его в [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers) в управляемых параметрах, которые вы развёртываете3175* Чтобы предоставить сервер каждому пользователю в вашей организации, добавьте его в [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers) в развёртываемых вами управляемых настройках

3153 3176 

3154<h3 id="cant-read-mcp-json">3177<h3 id="cant-read-mcp-json">

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

3156</h3>3179</h3>

3157 3180 

3158Команда, которая читает проект [`.mcp.json`](/docs/ru/mcp#project-scope), такая как `claude mcp add` или `claude mcp add-json` с `--scope project`, или `claude mcp remove`, обнаружила, что файл в вашем текущем каталоге не является обычным файлом или больше 2 MiB, поэтому завершает работу с этой ошибкой вместо чтения файла.3181Команда, которая читает [`.mcp.json`](/docs/ru/mcp#project-scope) проекта, например `claude mcp add` или `claude mcp add-json` с `--scope project` либо `claude mcp remove`, обнаружила, что файл в текущем каталоге не является обычным файлом или больше 2 MiB, поэтому завершается с этой ошибкой вместо чтения файла.

3159 3182 

3160```text theme={null}3183```text theme={null}

3161Can'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.3184Can'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.

3162```3185```

3163 3186 

3164До версии v2.1.257 FIFO в `.mcp.json` оставлял команду ждущей вечно без вывода, и символическая ссылка на файл устройства, такой как `/dev/zero`, увеличивала память до тех пор, пока процесс не был убит.3187До v2.1.257 FIFO на месте `.mcp.json` заставлял команду бесконечно ждать без вывода, а символическая ссылка на файл устройства вроде `/dev/zero` увеличивала потребление памяти, пока процесс не был принудительно завершён.

3165 3188 

3166**Что делать:**3189**Что делать:**

3167 3190 

3168* Проверьте, что находится в `.mcp.json` в вашем текущем каталоге. Замените его обычным файлом JSON в [формате project-scope](/docs/ru/mcp#project-scope) или удалите его, затем запустите команду снова.3191* Проверьте, что находится по пути `.mcp.json` в текущем каталоге. Замените это обычным JSON-файлом в [формате области действия проекта](/docs/ru/mcp#project-scope) или удалите, затем снова выполните команду.

3169 3192 

3170<h3 id="mcp-server-was-not-saved-or-removed">3193<h3 id="mcp-server-was-not-saved-or-removed">

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

3172</h3>3195</h3>

3173 3196 

3174Вы запустили `claude mcp add`, `claude mcp add-json` или `claude mcp remove` для сервера в области `user` или `local` [scope](/docs/ru/mcp#mcp-installation-scopes). Обе области хранятся в `~/.claude.json`, и изменение не находится в этом файле, когда Claude Code читает его обратно после записи. Команда завершает работу с этой ошибкой вместо своей строки успеха.3197Вы выполнили `claude mcp add`, `claude mcp add-json` или `claude mcp remove` для сервера в [области действия](/docs/ru/mcp#mcp-installation-scopes) `user` или `local`. Обе области действия хранятся в `~/.claude.json`, и изменения нет в этом файле, когда Claude Code считывает его обратно после записи. Команда завершается с этой ошибкой вместо строки об успехе.

3175 3198 

3176```text theme={null}3199```text theme={null}

3177MCP 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.3200MCP 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.

3178```3201```

3179 3202 

3180После удаления сообщение читает `was not removed from` и заканчивается с `then remove the server again`. Для сервера `local`-scope путь сопровождается каталогом проекта, к которому принадлежит запись, как `(local scope for /path/to/project)`.3203После удаления сообщение содержит `was not removed from` и заканчивается на `then remove the server again`. Для сервера с областью действия `local` за путём следует каталог проекта, к которому относится запись, в виде `(local scope for /path/to/project)`.

3181 3204 

3182До версии v2.1.283 `claude mcp add`, `claude mcp add-json` и `claude mcp remove` сообщали об успехе даже когда изменение не достигало файла.3205До v2.1.283 `claude mcp add`, `claude mcp add-json` и `claude mcp remove` сообщали об успехе, даже если изменение не попадало в файл.

3183 3206 

3184**Что делать:**3207**Что делать:**

3185 3208 

3186* Сделайте файл, который указывает сообщение, доступным для записи, или запустите команду вне песочницы, затем запустите ту же команду добавления или удаления снова.3209* Сделайте названный в сообщении файл доступным для записи или выполните команду вне песочницы, затем снова выполните ту же команду добавления или удаления.

3187 3210 

3188<h3 id="mcp-server-may-not-have-been-saved-or-removed">3211<h3 id="mcp-server-may-not-have-been-saved-or-removed">

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

3190</h3>3213</h3>

3191 3214 

3192Вы запустили `claude mcp add`, `claude mcp add-json` или `claude mcp remove` для сервера в области `user` или `local` [scope](/docs/ru/mcp#mcp-installation-scopes), и Claude Code не смог прочитать `~/.claude.json` обратно для подтверждения изменения. Изменение может быть или не быть на диске. Текст в скобках — это ошибка из этого чтения.3215Вы выполнили `claude mcp add`, `claude mcp add-json` или `claude mcp remove` для сервера в [области действия](/docs/ru/mcp#mcp-installation-scopes) `user` или `local`, и Claude Code не смог считать `~/.claude.json` обратно, чтобы подтвердить изменение. Изменение может быть, а может и не быть на диске. Текст в скобках — это ошибка этого чтения.

3193 3216 

3194```text theme={null}3217```text theme={null}

3195MCP 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.3218MCP 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.

3196```3219```

3197 3220 

3198После удаления сообщение читает `may not have been removed` и заканчивается с `then remove the server again if it is still listed`.3221После удаления сообщение содержит `may not have been removed` и заканчивается на `then remove the server again if it is still listed`.

3199 3222 

3200До версии v2.1.283 команды сообщали об успехе даже когда изменение не могло быть подтверждено.3223До v2.1.283 команды сообщали об успехе, даже если изменение не удавалось подтвердить.

3201 3224 

3202**Что делать:**3225**Что делать:**

3203 3226 

3204* Запустите `claude mcp get <name>` для проверки того, находится ли изменение на диске. Для сервера `local`-scope запустите его из каталога проекта, к которому принадлежит сервер, так как локальная область — это для каждого проекта.3227* Выполните `claude mcp get <name>`, чтобы проверить, есть ли изменение на диске. Для сервера с областью действия `local` выполните её из каталога проекта, к которому относится сервер, поскольку локальная область действия задаётся для каждого проекта отдельно.

3205* Если сервер отсутствует после добавления или всё ещё указан после удаления, запустите ту же команду добавления или удаления снова.3228* Если после добавления сервер отсутствует или после удаления по-прежнему присутствует в списке, снова выполните ту же команду добавления или удаления.

3206 3229 

3207<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">3230<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">

3208 Сервер размещён Anthropic и не поддерживает локальный OAuth3231 Сервер размещён Anthropic и не поддерживает локальный OAuth

3209</h3>3232</h3>

3210 3233 

3211Вы запустили вход для сервера 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).3234Вы начали вход для 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).

3212 3235 

3213```text theme={null}3236```text theme={null}

3214"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.3237"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.

3215```3238```

3216 3239 

3217Claude Code сопоставляет эти хосты по URL, поэтому сообщение появляется, когда сервер, который вы добавили с `claude mcp add` или в `.mcp.json`, указывает на один из них.

3218 

3219**Что делать:**3240**Что делать:**

3220 3241 

3221* Удалите вашу запись с `claude mcp remove <name>`, чтобы она не могла скрыть соединитель claude.ai по тому же URL3242* Удалите свою запись с помощью `claude mcp remove <name>`, чтобы она не скрывала коннектор claude.ai с тем же URL

3222* После удаления подключитесь к сервису на [claude.ai/customize/connectors](https://claude.ai/customize/connectors), пока вы вошли в учётную запись, которую вы используете в Claude Code. После подключения [соединитель появляется в Claude Code автоматически](/docs/ru/mcp#use-mcp-servers-from-claude-ai), если ваш активный метод аутентификации — это вход в подписку claude.ai3243* После удаления подключите сервис на [claude.ai/customize/connectors](https://claude.ai/customize/connectors), войдя в учётную запись, которую вы используете в Claude Code. После подключения [коннектор автоматически появится в Claude Code](/docs/ru/mcp#use-mcp-servers-from-claude-ai), если ваш активный способ аутентификации — вход по подписке claude.ai

3223 3244 

3224<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">3245<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">

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

3226</h3>3247</h3>

3227 3248 

3228Сервер 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) для сервера:3249MCP-сервер, для которого заголовок `Authorization` предоставляет [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication), ответил на подключение кодом HTTP 401 или 403, поэтому Claude Code сообщает о неудачном подключении. Поскольку заголовок `Authorization` предоставляет хелпер, Claude Code [не переключается на OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers) для этого сервера:

3229 3250 

3230```text theme={null}3251```text theme={null}

3231Server 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.3252Server 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.

3232```3253```

3233 3254 

3234Claude Code повторно запускает помощника при каждой попытке соединения, поэтому повторная попытка после временного отклонения, такого как гонка ротации токена, может успешно выполниться с новым учётным данным.3255Claude Code заново запускает хелпер при каждой попытке подключения, поэтому повторная попытка после временного отказа, например из-за гонки при ротации токена, может завершиться успешно со свежими учётными данными.

3235 3256 

3236**Что делать:**3257**Что делать:**

3237 3258 

3238* Запустите команду `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`, которое принимает конечная точка сервера3259* Запустите команду `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`, которое принимает эндпоинт сервера

3239* После исправления помощника или его источника учётных данных выберите сервер в `/mcp` и выберите **Reconnect**3260* После исправления хелпера или источника его учётных данных выберите сервер в `/mcp` и нажмите **Reconnect**

3240 3261 

3241До версии v2.1.248 Claude Code запускал обнаружение OAuth для сервера, чей помощник предоставлял заголовок `Authorization`. Это обнаружение могло не пройти с `Incompatible auth server: does not support dynamic client registration` вместо сообщения об отклонённом учётном данном.3262До v2.1.248 Claude Code выполнял обнаружение OAuth для сервера, хелпер которого предоставлял заголовок `Authorization`. Это обнаружение могло завершиться ошибкой `Incompatible auth server: does not support dynamic client registration` вместо сообщения об отклонённых учётных данных.

3242 3263 

3243<h3 id="mcp-permission-prompt-tool-not-found">3264<h3 id="mcp-permission-prompt-tool-not-found">

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

3245</h3>3266</h3>

3246 3267 

3247Инструмент, который вы передали в [`--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 запуск не ждал завершения подключения сервера, поэтому медленно запускающийся, но здоровый сервер выдавал эту ошибку тоже.3268Инструмента, переданного в [`--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 при запуске не происходило ожидания завершения подключения сервера, поэтому эту ошибку вызывал и медленно запускающийся, но исправный сервер.

3248 3269 

3249```text theme={null}3270```text theme={null}

3250Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none3271Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none

3251```3272```

3252 3273 

3253Список после `Available MCP tools:` указывает инструменты MCP, которые были подключены.3274Список после `Available MCP tools:` называет инструменты MCP, которые были подключены.

3254 3275 

3255**Что делать:**3276**Что делать:**

3256 3277 

3257* Проверьте, что сервер запускается и остаётся подключённым: запустите `claude mcp list` в том же каталоге и подтвердите, что сервер указан как подключённый3278* Убедитесь, что сервер запускается и остаётся подключённым: выполните `claude mcp list` в том же каталоге и проверьте, что сервер указан как подключённый

3258* Подтвердите, что имя инструмента соответствует имени `mcp__<server>__<tool>`, которое предоставляет сервер3279* Убедитесь, что имя инструмента совпадает с именем `mcp__<server>__<tool>`, которое предоставляет сервер

3259* Если серверу требуется больше 30 секунд для запуска, увеличьте [`MCP_TIMEOUT`](/docs/ru/env-vars)3280* Если серверу для запуска нужно больше 30 секунд, увеличьте [`MCP_TIMEOUT`](/docs/ru/env-vars)

3260 3281 

3261<h3 id="oauth-callback-port-is-already-in-use">3282<h3 id="oauth-callback-port-is-already-in-use">

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

3263</h3>3284</h3>

3264 3285 

3265Когда вы входите на удалённый сервер 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 выбирает доступный порт.3286Когда вы входите в удалённый 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 выбирает свободный порт.

3266 3287 

3267```text theme={null}3288```text theme={null}

3268OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.3289OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.

3269```3290```

3270 3291 

3271На Windows предложенная команда вместо этого `netstat -ano | findstr :<port>`.3292В Windows вместо этого предлагается команда `netstat -ano | findstr :<port>`.

3272 3293 

3273**Что делать:**3294**Что делать:**

3274 3295 

3275* Запустите команду из сообщения, чтобы найти процесс, занимающий порт, и остановите его или дождитесь его завершения3296* Выполните команду из сообщения, чтобы найти процесс, занимающий порт, и остановите его или дождитесь его завершения

3276* Если другой программе постоянно нужен этот порт, зарегистрируйте другой URI перенаправления с сервером и установите его порт с `MCP_OAUTH_CALLBACK_PORT` или `--callback-port`, в зависимости от того, что вы используете3297* Если этот порт постоянно нужен другой программе, зарегистрируйте на сервере другой URI перенаправления и задайте его порт с помощью `MCP_OAUTH_CALLBACK_PORT` или `--callback-port` — того, что вы используете

3277* Затем запустите вход снова, например выбрав сервер в `/mcp`3298* Затем снова начните вход, например выбрав сервер в `/mcp`

3278 3299 

3279<h3 id="no-available-ports-for-oauth-redirect">3300<h3 id="no-available-ports-for-oauth-redirect">

3280 Нет доступных портов для перенаправления OAuth3301 Нет доступных портов для перенаправления OAuth

3281</h3>3302</h3>

3282 3303 

3283Когда вы входите на удалённый сервер MCP с [OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers), Claude Code запускает локальный слушатель для получения обратного вызова входа. Вход не работает с этим сообщением, когда Claude Code не может привязать локальный порт для него. Что-то на машине препятствует прослушиванию на `127.0.0.1`, например программное обеспечение безопасности или политика песочницы, которая запрещает локальные слушатели.3304Когда вы входите в удалённый MCP-сервер через [OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers), Claude Code запускает локальный прослушиватель для получения обратного вызова входа. Вход завершается этим сообщением, когда Claude Code не может привязать для него локальный порт. Что-то на компьютере мешает ему прослушивать `127.0.0.1`, например защитное ПО или политика песочницы, запрещающая локальные прослушиватели.

3284 3305 

3285```text theme={null}3306```text theme={null}

3286No available ports for OAuth redirect3307No available ports for OAuth redirect

3287```3308```

3288 3309 

3289До версии v2.1.268 Claude Code не переходил на порт, назначенный операционной системой, поэтому сообщение также появлялось, когда только самостоятельно выбранные порты не могли быть привязаны. Это может произойти на хостах Windows, где Hyper-V резервирует диапазоны портов, которые охватывают порты, которые Claude Code выбирает.3310До v2.1.268 Claude Code не переключался на порт, назначаемый операционной системой, поэтому сообщение также появлялось, когда не удавалось привязать только выбранные им самим порты. Такое может происходить на хостах Windows, где Hyper-V резервирует диапазоны портов, охватывающие порты, из которых выбирает Claude Code.

3290 3311 

3291**Что делать:**3312**Что делать:**

3292 3313 

3293* Проверьте, блокирует ли программное обеспечение безопасности или политика песочницы процессы от прослушивания на `127.0.0.1`, и разрешите Claude Code привязать локальный порт3314* Проверьте, не блокирует ли защитное ПО или политика песочницы прослушивание `127.0.0.1` процессами, и разрешите Claude Code привязывать локальный порт

3294* Затем запустите вход снова, например выбрав сервер в `/mcp`3315* Затем снова начните вход, например выбрав сервер в `/mcp`

3295 3316 

3296<h3 id="security-review-fails-without-origin-head">3317<h3 id="security-review-fails-without-origin-head">

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

3298</h3>3319</h3>

3299 3320 

3300[`/security-review`](/docs/ru/commands#all-commands) строит контекст своего обзора, сравнивая вашу ветку с `origin/HEAD`, локальной ссылкой, которая записывает, какая ветка является стандартной на вашем удалённом `origin`. Когда эта ссылка не существует, команды git, которые собирают diff, не работают и обзор останавливается перед началом.3321[`/security-review`](/docs/ru/commands#all-commands) формирует контекст ревью, вычисляя diff вашей ветки относительно `origin/HEAD` — локальной ссылки, которая записывает, какая ветка является веткой по умолчанию в вашем удалённом репозитории `origin`. Когда этой ссылки нет, git-команды, собирающие diff, завершаются ошибкой, и ревью останавливается, не начавшись.

3301 3322 

3302```text theme={null}3323```text theme={null}

3303Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]3324Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]


3306'git <command> [<revision>...] -- [<file>...]'3327'git <command> [<revision>...] -- [<file>...]'

3307```3328```

3308 3329 

3309Сообщение может цитировать `git log` или другой `git diff` вместо этого. Git создаёт `origin/HEAD` только когда удалённый сервер объявляет стандартную ветку и ваш refspec получения её охватывает, что полный `git clone` удалённого с коммитами делает. Ссылка отсутствует в этих установках:3330В сообщении вместо этого может цитироваться `git log` или другая команда `git diff`. Git создаёт `origin/HEAD`, только когда удалённый репозиторий объявляет ветку по умолчанию и ваш refspec для fetch её охватывает, что происходит при полном `git clone` удалённого репозитория с коммитами. Ссылка отсутствует в следующих конфигурациях:

3310 3331 

3311* Получение одной ветки или получение CI, которое получает слишком узкий refspec3332* Однобранчевый checkout или checkout в CI, который получает слишком узкий refspec

3312* Удалённый сервер, чей HEAD на стороне сервера указывает на ветку, которую никто не отправил3333* Удалённый репозиторий, HEAD которого на сервере указывает на ветку, которую никто не отправлял

3313* Репозиторий без удалённого `origin` или того, из которого вы никогда не получали3334* Репозиторий без удалённого репозитория `origin` или такой, из которого вы ни разу не выполняли fetch

3314 3335 

3315Claude Code показывает ту же ошибку для любого skill, который [вводит динамический контекст](/docs/ru/skills#when-an-injected-command-fails), и неудачная введённая команда прерывает вызов этого skill. Две похожие строки срабатывают перед запуском команды вообще:3336Claude Code показывает ту же ошибку для любого скилла, который [внедряет динамический контекст](/docs/ru/skills#when-an-injected-command-fails), и неудачно выполненная внедрённая команда прерывает вызов этого скилла. Две родственные строки срабатывают ещё до выполнения команды:

3316 3337 

3317* `Shell command permission check failed for pattern "..."`: проверка разрешения команды не позволила это. [Permission checks on injected commands](/docs/ru/skills#permission-checks-on-injected-commands) охватывает, какие результаты прерывают в каждом режиме разрешений и как предварительно одобрить команду с `allowed-tools`3338* `Shell command permission check failed for pattern "..."`: проверка разрешений не разрешила команду. В разделе [Проверки разрешений для внедрённых команд](/docs/ru/skills#permission-checks-on-injected-commands) описано, какие результаты прерывают вызов в каждом режиме разрешений и как заранее одобрить команду с помощью `allowed-tools`

3318* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter skill требует bash на машине без него. Установите Git для Windows или измените frontmatter на `shell: powershell`. См. [How injected commands run](/docs/ru/skills#how-injected-commands-run)3339* ``Skill <name> 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)

3319 3340 

3320**Что делать:**3341**Что делать:**

3321 3342 

3322* Создайте ссылку, назвав стандартную ветку вашего удалённого: `git remote set-head origin <default-branch>`. Это работает всякий раз, когда локальная отслеживающая ссылка `origin/<default-branch>` существует. Если её нет, как в клонах одной ветки, сначала получите ветку: запустите `git remote set-branches --add origin <branch>`, затем `git fetch origin`, затем повторно запустите команду set-head. Повторно запустите `/security-review`.3343* Создайте ссылку, указав ветку по умолчанию вашего удалённого репозитория: `git remote set-head origin <default-branch>`. Это работает, если существует локальная отслеживающая ссылка `origin/<default-branch>`. Если её нет, как в однобранчевых клонах, сначала получите ветку: выполните `git remote set-branches --add origin <branch>`, затем `git fetch origin`, затем повторите команду set-head. Снова выполните `/security-review`.

3323* Если вы предпочитаете не называть ветку, запустите `git fetch origin` и затем `git remote set-head origin --auto`, который спрашивает удалённый, какая ветка является его стандартной. Это не работает с `error: Cannot determine remote HEAD`, когда удалённый не объявляет стандартную ветку, потому что он пуст или его HEAD указывает на ветку, которую никто не отправил; вместо этого назовите ветку явно. Это не работает с `error: Not a valid ref`, когда ваш клон не получает эту ветку; сначала расширьте refspec как выше.3344* Если вы не хотите указывать ветку, выполните `git fetch origin`, а затем `git remote set-head origin --auto`, которая запрашивает у удалённого репозитория, какая ветка является веткой по умолчанию. Она завершается ошибкой `error: Cannot determine remote HEAD`, когда удалённый репозиторий не объявляет ветку по умолчанию, потому что он пуст или его HEAD указывает на ветку, которую никто не отправлял; в этом случае укажите ветку явно. Она завершается ошибкой `error: Not a valid ref`, когда ваш клон не получает эту ветку; сначала расширьте refspec, как описано выше.

3324* Если репозиторий не имеет удалённого, добавьте один с `git remote add origin <url>` и получите перед созданием ссылки. Если удалённый пуст, сначала отправьте вашу ветку с `git push -u origin HEAD` и назовите эту ветку в команде set-head; `origin/HEAD` затем указывает на ветку, которую вы только что отправили, поэтому `/security-review` видит пустой diff до тех пор, пока ветка не отличается от неё.3345* Если у репозитория нет удалённого репозитория, добавьте его с помощью `git remote add origin <url>` и выполните fetch перед созданием ссылки. Если удалённый репозиторий пуст, сначала отправьте свою ветку с помощью `git push -u origin HEAD` и укажите эту ветку в команде set-head; тогда `origin/HEAD` будет указывать на только что отправленную ветку, поэтому `/security-review` будет видеть пустой diff, пока ваша ветка от неё не разойдётся.

3325 3346 

3326<h3 id="input-must-be-provided-when-using-print">3347<h3 id="input-must-be-provided-when-using-print">

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

3328</h3>3349</h3>

3329 3350 

3330Bare `claude` нужен stdout, чтобы быть терминалом для запуска интерактивного UI. Когда stdout перенаправлен или консоль не является реальным терминалом, такой как PowerShell ISE и некоторые панели вывода IDE, `claude` запускает [неинтерактивно](/docs/ru/headless) вместо этого. Это тот же режим, что и `claude -p`, который требует приглашение, поэтому сообщение указывает `--print` даже когда вы не передали флаг. Передача `-p`/`--print` без приглашения и ничего не передано на stdin выдаёт ту же ошибку везде.3351Для запуска интерактивного интерфейса `claude` без аргументов требуется, чтобы stdout был терминалом. Когда stdout перенаправлен или консоль не является настоящим терминалом, как в PowerShell ISE и некоторых панелях вывода IDE, `claude` вместо этого работает в [неинтерактивном режиме](/docs/ru/headless). Это тот же режим, что и `claude -p`, которому требуется промпт, поэтому сообщение называет `--print`, даже если вы не передавали этот флаг. Передача `-p`/`--print` без промпта и без данных через конвейер в stdin вызывает ту же ошибку где угодно.

3331 3352 

3332```text theme={null}3353```text theme={null}

3333Error: Input must be provided either through stdin or as a prompt argument when using --print3354Error: Input must be provided either through stdin or as a prompt argument when using --print


3335 3356 

3336**Что делать:**3357**Что делать:**

3337 3358 

3338* Для интерактивного использования запустите `claude` в реальном терминале: Windows Terminal или консоль PowerShell вместо ISE и интегрированный терминал вашего IDE вместо панели вывода3359* Для интерактивной работы запускайте `claude` в настоящем терминале: в Windows Terminal или консоли PowerShell, а не в ISE, и во встроенном терминале IDE, а не в панели вывода

3339* Для одноразового использования передайте приглашение: `claude -p "your question"` или передайте его с `echo "your question" | claude -p`3360* Для однократного использования передайте промпт: `claude -p "your question"` или передайте его через конвейер: `echo "your question" | claude -p`

3340 3361 

3341<h3 id="input-contained-only-whitespace">3362<h3 id="input-contained-only-whitespace">

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

3343</h3>3364</h3>

3344 3365 

3345В [неинтерактивном режиме](/docs/ru/headless) Claude Code отказывает приглашению, состоящему полностью из пробелов, табуляций или новых строк вместо его отправки, потому что API отклоняет сообщения без видимого текста. Какое сообщение вы видите, зависит от того, откуда пришло пустое приглашение:3366В [неинтерактивном режиме](/docs/ru/headless) Claude Code отклоняет промпт, состоящий только из пробелов, табуляций или переводов строк, вместо его отправки, потому что API отклоняет сообщения без видимого текста. Какое сообщение вы увидите, зависит от того, откуда пришёл пустой промпт:

3346 3367 

3347* **Аргумент приглашения или передача stdin для `claude -p`**: `claude` завершает работу с `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`3368* **Аргумент промпта или stdin через конвейер для `claude -p`**: `claude` завершается с `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`

3348* **Сообщение, отправленное в работающий сеанс `--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.`3369* **Сообщение, отправленное в работающую сессию `--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.`

3349 3370 

3350До версии v2.1.229 Claude Code отправлял сообщение только с пробелами в API, который отклонял запрос с ошибкой 400.3371До v2.1.229 Claude Code отправлял сообщение из одних пробельных символов в API, который отклонял запрос с ошибкой 400.

3351 3372 

3352**Что делать:**3373**Что делать:**

3353 3374 

3354* Включите видимый текст в приглашение. Если скрипт строит приглашение из переменной или файла, проверьте, что источник не пуст перед вызовом Claude Code.3375* Включите в промпт видимый текст. Если скрипт формирует промпт из переменной или файла, перед вызовом Claude Code проверьте, что источник не пуст.

3355 3376 

3356<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">3377<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">

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

3358</h3>3379</h3>

3359 3380 

3360Ваша программа отправила более 268,435,456 символов на stdin без новой строки в запуск `claude -p --input-format stream-json`, поэтому Claude Code выводит эту ошибку на stderr и завершает работу с кодом 1 вместо буферизации большего ввода. Сообщение указывает этот бюджет как `256M`. До версии v2.1.257 Claude Code буферизировал такой ввод без ограничений, увеличивая память до тех пор, пока процесс не упал или не был убит.3381Ваша программа отправила в stdin запуска `claude -p --input-format stream-json` более 268 435 456 символов без перевода строки, поэтому Claude Code выводит эту ошибку в stderr и завершается с кодом выхода 1 вместо буферизации дальнейшего ввода. В сообщении этот лимит указан как `256M`. До v2.1.257 Claude Code буферизовал такой ввод без ограничений, увеличивая потребление памяти, пока процесс не аварийно завершался или не был принудительно завершён.

3361 3382 

3362```text theme={null}3383```text theme={null}

3363Error: 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.3384Error: 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.

3364```3385```

3365 3386 

3366Ввод такой длины без новой строки обычно означает, что производитель вообще не является производителем stream-json, такой как двоичный файл или простой вывод журнала, передаваемый случайно. Одно сообщение сверх бюджета не проходит ту же проверку.3387Ввод такой длины без перевода строки обычно означает, что источник вообще не является источником stream-json, например по ошибке через конвейер передан двоичный файл или обычный вывод лога. Отдельное сообщение, превышающее лимит, не проходит ту же проверку.

3367 3388 

3368**Что делать:**3389**Что делать:**

3369 3390 

3370* Проверьте, что передаётся на stdin. С [`--input-format stream-json`](/docs/ru/cli-reference#cli-flags) каждое сообщение должно быть одной строкой JSON, завершённой новой строкой3391* Проверьте, что передаётся в stdin. С [`--input-format stream-json`](/docs/ru/cli-reference#cli-flags) каждое сообщение должно быть одной JSON-строкой, завершающейся переводом строки

3371* Чтобы отправить простой текст вместо этого, удалите `--input-format stream-json`; `claude -p` читает простой текстовый запрос из stdin по умолчанию3392* Чтобы вместо этого отправить обычный текст, уберите `--input-format stream-json`; по умолчанию `claude -p` читает текстовый промпт из stdin

3372 3393 

3373<h3 id="unknown-command">3394<h3 id="unknown-command">

3374 Неизвестная команда3395 Неизвестная команда

3375</h3>3396</h3>

3376 3397 

3377В интерактивном сеансе терминала вы отправили имя `/`, которое не соответствует ни одной команде в этом сеансе, поэтому Claude Code сообщает имя вместо запуска чего-либо:3398В интерактивной сессии терминала вы отправили имя с `/`, которое не совпадает ни с одной командой в этой сессии, поэтому Claude Code сообщает это имя вместо выполнения чего-либо:

3378 3399 

3379```text theme={null}3400```text theme={null}

3380Unknown command: /hepl. Did you mean /help?3401Unknown command: /hepl. Did you mean /help?

3381```3402```

3382 3403 

3383Claude Code предлагает ближайшее имя команды или псевдоним, который меню указывает в этом сеансе. Когда ничего не близко, сообщение заканчивается после имени. Причина обычно одна из следующих:3404Claude Code предлагает ближайшее имя команды или псевдоним из тех, что перечислены в меню в этой сессии. Если близкого варианта нет, сообщение заканчивается после имени. Обычно причина одна из следующих:

3384 3405 

3385* Опечатка, такая как `/hepl` для `/help`. [How the command menu matches what you type](/docs/ru/commands#how-the-command-menu-matches-what-you-type) охватывает выбор близкого совпадения перед отправкой3406* Опечатка, например `/hepl` вместо `/help`. В разделе [Как меню команд сопоставляет вводимый текст](/docs/ru/commands#how-the-command-menu-matches-what-you-type) описано, как выбрать близкое совпадение перед отправкой

3386* Команда, которая существует, но недоступна в этом сеансе, потому что требование не выполнено, такое как ваша платформа, план или метод аутентификации. Записи устранения неполадок для [`/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)3407* Команда существует, но недоступна в этой сессии, потому что не выполнено какое-то требование, например к платформе, тарифу или способу аутентификации. Разделы устранения неполадок для [`/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)

3387* Команда из [плагина](/docs/ru/plugins/overview) или [сервера MCP](/docs/ru/mcp#use-mcp-prompts-as-commands), который не установлен или не подключен в этом сеансе3408* Команда из [плагина](/docs/ru/plugins/overview) или [MCP-сервера](/docs/ru/mcp#use-mcp-prompts-as-commands), который не установлен или не подключён в этой сессии

3388 3409 

3389Claude Code отвечает на несовпадающее имя `/` таким образом только в интерактивном сеансе терминала. В каждом другом сеансе он отправляет приглашение Claude как обычное сообщение вместо этого, с примечанием, что команда не запустилась и список команд, которые Claude может запустить в сеансе. Эти сеансы включают:3410Claude Code отвечает так на несовпавшее имя с `/` только в интерактивной сессии терминала. Во всех остальных сессиях он вместо этого отправляет промпт Claude как обычное сообщение с пометкой о том, что команда не выполнилась, и списком команд, которые Claude может выполнить в сессии. К таким сессиям относятся:

3390 3411 

3391* запуски `-p`3412* Запуски с `-p`

3392* приложения [Agent SDK](/docs/ru/agent-sdk/overview)3413* Приложения на [Agent SDK](/docs/ru/agent-sdk/overview)

3393* вкладка Code [Desktop app](/docs/ru/desktop)3414* Вкладка Code в [приложении Desktop](/docs/ru/desktop)

3394* панель чата [VS Code extension](/docs/ru/vs-code)3415* Панель чата [расширения VS Code](/docs/ru/vs-code)

3395* [облачные сеансы](/docs/ru/claude-code-on-the-web) и [routines](/docs/ru/routines)3416* [Облачные сессии](/docs/ru/claude-code-on-the-web) и [routines](/docs/ru/routines)

3396 3417 

3397Для встроенной команды, которая не может запуститься в одном из этих сеансов, Claude Code всё ещё отвечает, что команда недоступна вместо отправки её Claude. До версии v2.1.274 только облачные сеансы и routines отправляли несовпадающее имя Claude. До версии v2.1.273 они также отвечали `Unknown command`.3418Для встроенной команды, которая не может выполняться в одной из этих сессий, Claude Code по-прежнему отвечает, что команда недоступна, а не отправляет её Claude. До v2.1.274 несовпавшее имя отправляли Claude только облачные сессии и routines. До v2.1.273 они тоже отвечали `Unknown command`.

3398 3419 

3399Claude Code не рассматривает каждое приглашение, которое начинается с `/`, как команду. Он отправляет приглашение Claude как обычное сообщение, когда первое слово после `/` начинается с пунктуации, такой как `/--`, который открывает комментарий Lean doc, или является путём, такой как `/var/log/syslog`.3420Claude Code не считает командой каждый промпт, начинающийся с `/`. Он отправляет промпт Claude как обычное сообщение, когда первое слово после `/` начинается со знака препинания, как `/--`, открывающий doc-комментарий Lean, или является путём, например `/var/log/syslog`.

3400 3421 

3401До версии v2.1.236, если вы нажали `Enter` в то время как меню команд указывало близкое совпадение для имени, которое вы ввели, Claude Code запускал это совпадение, поэтому опечатка, такая как `/hepl`, запускала `/help` вместо выдачи этого сообщения.3422До v2.1.236, если вы нажимали `Enter`, когда меню команд показывало близкое совпадение для введённого имени, Claude Code выполнял это совпадение, поэтому опечатка вроде `/hepl` запускала `/help` вместо вывода этого сообщения.

3402 3423 

3403**Что делать:**3424**Что делать:**

3404 3425 

3405* Запустите предложенное имя или введите `/` с последующей частью имени, чтобы увидеть, что доступно в этом сеансе3426* Выполните предложенное имя или введите `/` и часть имени, чтобы увидеть, что доступно в этой сессии

3406* Если Claude Code сообщает о документированной команде как неизвестной, проверьте её строку в [справочнике команд](/docs/ru/commands) для требования, которое она указывает3427* Если Claude Code сообщает, что документированная команда неизвестна, проверьте её строку в [справочнике команд](/docs/ru/commands) на указанное там требование

3407 3428 

3408<h3 id="diff-is-too-large-for-ultrareview">3429<h3 id="diff-is-too-large-for-ultrareview">

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

3410</h3>3431</h3>

3411 3432 

3412Diff между вашей веткой и базовой веткой, включая незафиксированные и поставленные в очередь изменения, превышает лимиты размера для [ultrareview](/docs/ru/ultrareview), поэтому `/code-review ultra` и подкоманда `claude ultrareview` отказывают обзор перед запуском облачного сеанса. Отклонённый обзор не использует бесплатный запуск и не выставляет счёт за кредиты использования. Сообщение указывает действующие лимиты, размер вашего diff и файлы, которые вносят наибольшее количество изменённых строк. До версии v2.1.216 сообщение показывало только необработанную статистику diff.3433Diff между вашей веткой и базовой веткой, включая незакоммиченные и проиндексированные изменения, превышает лимиты размера для [ultrareview](/docs/ru/ultrareview), поэтому `/code-review ultra` и подкоманда `claude ultrareview` отклоняют ревью до запуска облачной сессии. Отклонённое ревью не расходует бесплатный запуск и не списывает кредиты использования. Сообщение называет действующие лимиты, размер вашего diff и файлы, дающие больше всего изменённых строк. До v2.1.216 сообщение показывало только необработанную статистику diff.

3413 3434 

3414```text theme={null}3435```text theme={null}

3415Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.3436Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.

3416```3437```

3417 3438 

3418Обзор pull request применяет те же лимиты; эта форма сообщения начинается с `PR #<N> is too large for ultrareview` и указывает количество файлов и строк PR.3439Для ревью pull request действуют те же лимиты; в этом случае сообщение начинается с `PR #<N> is too large for ultrareview` и называет количество файлов и строк в PR.

3419 3440 

3420**Что делать:**3441**Что делать:**

3421 3442 

3422* Передайте базовую ветку ближе к вашей работе, такую как `/code-review ultra develop`, поэтому обзор охватывает только diff против этой ветки3443* Передайте базовую ветку, более близкую к вашей работе, например `/code-review ultra develop`, чтобы ревью охватывало только diff относительно этой ветки

3423* Разделите изменение на меньшие ветки и обзорьте каждую. Файлы, которые сообщение указывает, вносят наибольшее количество изменённых строк, поэтому начните с перемещения их в свою собственную ветку.3444* Разделите изменение на ветки поменьше и проведите ревью каждой. Названные в сообщении файлы дают больше всего изменённых строк, поэтому начните с переноса их в отдельную ветку.

3424 3445 

3425<h3 id="could-not-find-merge-base-with-the-base-branch">3446<h3 id="could-not-find-merge-base-with-the-base-branch">

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

3427</h3>3448</h3>

3428 3449 

3429`/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.3450`/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.

3430 3451 

3431```text theme={null}3452```text theme={null}

3432Could 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.3453Could 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.

3433```3454```

3434 3455 

3435Подсказка после первого предложения зависит от того, что Claude Code наблюдал:3456Подсказка после первого предложения зависит от того, что обнаружил Claude Code:

3436 3457 

3437* **Вы не передали базовую ветку**: Claude Code сравнил с стандартной веткой репозитория и предлагает передать вашу базу явно, как в примере выше3458* **Вы не передали базовую ветку**: Claude Code выполнил сравнение с веткой репозитория по умолчанию и предлагает явно передать вашу базовую ветку, как в примере выше

3438* **Вы передали базовую ветку, которая уже была в вашем клоне**: подсказка читает ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3459* **Вы передали базовую ветку, которая уже была в вашем клоне**: подсказка гласит ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3439* **Вы передали базовую ветку, которой не было в вашем клоне**: Claude Code получил её из origin перед сравнением. Подсказка читает ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; когда Claude Code не может сказать, полный ли ваш клон, он предлагает `git fetch --unshallow origin` вместо этого. До версии v2.1.221 подсказка предлагала `git fetch --unshallow origin` для каждой полученной базовой ветки, и на полном клоне эта команда не работает с `fatal: --unshallow on a complete repository does not make sense`.3460* **Вы передали базовую ветку, которой не было в вашем клоне**: Claude Code получил её из origin перед сравнением. Подсказка гласит ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; когда Claude Code не может определить, является ли ваш клон поверхностным, он вместо этого предлагает `git fetch --unshallow origin`. До v2.1.221 подсказка предлагала `git fetch --unshallow origin` для каждой полученной базовой ветки, а в полном клоне эта команда завершается ошибкой `fatal: --unshallow on a complete repository does not make sense`.

3440 3461 

3441**Что делать:**3462**Что делать:**

3442 3463 

3443* Если другая ветка является вашей реальной базой, передайте её явно: `/code-review ultra <branch>`3464* Если настоящая базовая ветка другая, передайте её явно: `/code-review ultra <branch>`

3444* Если ваш клон может не иметь полную историю, запустите `git fetch --unshallow origin` и повторно запустите обзор3465* Если в вашем клоне может не быть полной истории, выполните `git fetch --unshallow origin` и снова запустите ревью

3445 3466 

3446<h3 id="your-checkout-has-no-branches">3467<h3 id="your-checkout-has-no-branches">

3447 Ваш checkout не имеет веток3468 В вашем checkout нет веток

3448</h3>3469</h3>

3449 3470 

3450Checkout может иметь коммиты, но не иметь веток: если вы запустите `git init` с последующим `git fetch <url>` и `git checkout FETCH_HEAD`, вы получите отсоединённый HEAD без ссылок. Claude Code упаковывает ваш репозиторий как git bundle для загрузки его для [ultrareview](/docs/ru/ultrareview), и он не может упаковать репозиторий, который не имеет веток или других ссылок, поэтому `/code-review ultra` и подкоманда `claude ultrareview` отказывают обзор перед запуском облачного сеанса.3471В checkout могут быть коммиты, но не быть веток: если вы выполните `git init`, затем `git fetch <url>` и `git checkout FETCH_HEAD`, вы получите detached HEAD без ссылок. Claude Code упаковывает ваш репозиторий в git bundle, чтобы загрузить его для [ultrareview](/docs/ru/ultrareview), и не может упаковать репозиторий без веток или других ссылок, поэтому `/code-review ultra` и подкоманда `claude ultrareview` отклоняют ревью до запуска облачной сессии.

3451 3472 

3452```text theme={null}3473```text theme={null}

3453Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.3474Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.

3454```3475```

3455 3476 

3456До версии v2.1.221 Claude Code пытался обзорить каждый отслеживаемый файл в этом checkout, и загрузка не работала.3477До v2.1.221 Claude Code пытался провести ревью всех отслеживаемых файлов в таком checkout, и загрузка завершалась ошибкой.

3457 3478 

3458**Что делать:**3479**Что делать:**

3459 3480 

3460* Создайте ветку в вашем текущем коммите с `git checkout -b <name>`, затем повторно запустите обзор3481* Создайте ветку на текущем коммите с помощью `git checkout -b <name>`, затем снова запустите ревью

3461 3482 

3462<h3 id="no-github-account-is-connected-to-your-claude-account">3483<h3 id="no-github-account-is-connected-to-your-claude-account">

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

3464</h3>3485</h3>

3465 3486 

3466Вы запустили `/code-review ultra <PR#>` или `claude ultrareview <PR#>`, и перед созданием облачного сеанса Claude Code спрашивает сервер, может ли [аккаунт GitHub, подключённый к вашему аккаунту Claude](/docs/ru/ultrareview#review-a-pull-request), достичь репозитория PR. Ни один аккаунт не подключен или соединение истекло, поэтому облачный клон не работал бы и Claude Code отказывает запуск. Claude Code не тратит бесплатный запуск и не выставляет счёт за кредиты использования для отклонённого запуска.3487Вы выполнили `/code-review ultra <PR#>` или `claude ultrareview <PR#>`, и перед созданием облачной сессии Claude Code спрашивает у сервера, может ли [учётная запись GitHub, подключённая к вашей учётной записи Claude](/docs/ru/ultrareview#review-a-pull-request), получить доступ к репозиторию PR. Учётная запись не подключена или подключение истекло, поэтому клонирование в облаке завершилось бы ошибкой, и Claude Code отклоняет запуск. За отклонённый запуск Claude Code не расходует бесплатный запуск и не списывает кредиты использования.

3467 3488 

3468```text theme={null}3489```text theme={null}

3469Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).3490Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).

3470```3491```

3471 3492 

3472Когда [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal) недоступен в вашем сеансе, сообщение указывает только ссылку claude.ai.3493Когда [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal) недоступна в вашей сессии, сообщение называет только ссылку на claude.ai.

3473 3494 

3474**Что делать:**3495**Что делать:**

3475 3496 

3476* Запустите `/web-setup` для подключения вашего входа GitHub CLI к вашему аккаунту Claude или подключите аккаунт на [claude.ai/connect-github](https://claude.ai/connect-github)3497* Выполните `/web-setup`, чтобы подключить вход GitHub CLI к вашей учётной записи Claude, или подключите учётную запись на [claude.ai/connect-github](https://claude.ai/connect-github)

3477* Повторно запустите обзор через минуту после подключения3498* Запустите ревью снова через минуту после подключения

3478 3499 

3479До версии v2.1.248 Claude Code не проверял это перед запуском.3500До v2.1.248 Claude Code не проверял это перед запуском.

3480 3501 

3481<h3 id="your-connected-github-account-cant-see-the-repository">3502<h3 id="your-connected-github-account-cant-see-the-repository">

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

3483</h3>3504</h3>

3484 3505 

3485Вы запустили `/code-review ultra <PR#>` или `claude ultrareview <PR#>`, и [аккаунт GitHub, подключённый к вашему аккаунту Claude](/docs/ru/ultrareview#review-a-pull-request), не может прочитать репозиторий PR, поэтому облачный клон не работал бы и Claude Code отказывает запуск. Claude Code не тратит бесплатный запуск и не выставляет счёт за кредиты использования для отклонённого запуска.3506Вы выполнили `/code-review ultra <PR#>` или `claude ultrareview <PR#>`, и [учётная запись GitHub, подключённая к вашей учётной записи Claude](/docs/ru/ultrareview#review-a-pull-request), не может прочитать репозиторий PR, поэтому клонирование в облаке завершилось бы ошибкой, и Claude Code отклоняет запуск. За отклонённый запуск Claude Code не расходует бесплатный запуск и не списывает кредиты использования.

3486 3507 

3487```text theme={null}3508```text theme={null}

3488Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.3509Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.

3489```3510```

3490 3511 

3491Когда [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal) недоступен в вашем сеансе, сообщение указывает только установку приложения.3512Когда [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal) недоступна в вашей сессии, сообщение называет только установку приложения.

3492 3513 

3493**Что делать:**3514**Что делать:**

3494 3515 

3495* Если ваш локальный CLI `gh` может прочитать репозиторий, запустите `/web-setup` для подключения этого входа к вашему аккаунту Claude3516* Если ваш локальный CLI `gh` может прочитать репозиторий, выполните `/web-setup`, чтобы подключить этот вход к вашей учётной записи Claude

3496* Повторно запустите обзор после изменения3517* Запустите ревью снова после изменения

3497 3518 

3498До версии v2.1.248 Claude Code не проверял это перед запуском.3519До v2.1.248 Claude Code не проверял это перед запуском.

3499 3520 

3500<h3 id="the-github-app-preflight-failed-transiently">3521<h3 id="the-github-app-preflight-failed-transiently">

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

3502</h3>3523</h3>

3503 3524 

3504Вы запустили [облачный сеанс](/docs/ru/claude-code-on-the-web) из локального репозитория, и два шага не прошли вместе. Claude Code не смог построить или загрузить bundle вашего репозитория. Перед загрузкой он проверил, может ли облачный сервис клонировать репозиторий из GitHub, и вместо определённого ответа эта проверка закончилась ошибкой, которую повторная попытка могла бы очистить, такой как ошибка сети, тайм-аут или временная ошибка сервера. Полное сообщение начинается с того, что остановило bundle, например `Could not upload repo bundle (<error>)`, и заканчивается предложением проверки:3525Вы запустили [облачную сессию](/docs/ru/claude-code-on-the-web) из локального репозитория, и одновременно не удались два шага. Claude Code не смог собрать или загрузить bundle вашего репозитория. Перед загрузкой он проверил, может ли облачный сервис клонировать репозиторий с GitHub, и вместо определённого ответа эта проверка завершилась ошибкой, которую может устранить повторная попытка, например сетевой ошибкой, таймаутом или временной ошибкой сервера. Полное сообщение начинается с того, что помешало созданию bundle, например `Could not upload repo bundle (<error>)`, и заканчивается предложением о предварительной проверке:

3505 3526 

3506```text theme={null}3527```text theme={null}

3507Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead3528Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead


3509 3530 

3510**Что делать:**3531**Что делать:**

3511 3532 

3512* Повторно запустите команду через момент. Когда проверка GitHub пройдёт, Claude Code может запустить сеанс из клона GitHub, поэтому неудачная загрузка больше не блокирует запуск3533* Повторите команду через некоторое время. Когда проверка GitHub пройдёт, Claude Code сможет запустить сессию из клона GitHub, и неудачная загрузка больше не будет блокировать запуск

3513* Если повторные попытки продолжают не работать, начало сообщения указывает, что остановило загрузку. Когда эта причина — это что-то, что вы можете исправить, исправьте это, чтобы сеанс мог запуститься из вашего локального репозитория вместо этого3534* Если повторные попытки продолжают завершаться ошибкой, начало сообщения называет, что помешало загрузке. Если эту причину можно устранить, устраните её, чтобы сессия могла запуститься из вашего локального репозитория

3514 3535 

3515До версии v2.1.251 Claude Code заканчивал сообщение с `Please set up GitHub on https://claude.ai/code` даже когда проверка GitHub не прошла только временно, и совет по установке не может очистить временный сбой.3536До v2.1.251 Claude Code завершал сообщение фразой `Please set up GitHub on https://claude.ai/code`, даже если проверка GitHub не прошла лишь временно, а совет по настройке не может устранить временный сбой.

3516 3537 

3517<h3 id="the-repository-upload-cant-follow-a-git-setting">3538<h3 id="the-repository-upload-cant-follow-a-git-setting">

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

3519</h3>3540</h3>

3520 3541 

3521Вы запустили [облачный сеанс, который загружает ваш локальный репозиторий](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github), или [ultrareview](/docs/ru/ultrareview) ветки, и загрузка не может следовать одному из параметров git, которые решают, какие правила атрибутов применяются к вашим файлам. Если загрузка прошла и пропустила правило, файл, который git преобразует перед сохранением, такой как тот, который чистый фильтр шифрует, может достичь облака как он находится на диске. Claude Code отказывает загрузку вместо этого, и ничего не загружается:3542Вы запустили [облачную сессию, которая загружает ваш локальный репозиторий](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github), или [ultrareview](/docs/ru/ultrareview) ветки, и загрузка не может учесть одну из настроек git, определяющих, какие правила атрибутов применяются к вашим файлам. Если бы загрузка продолжилась и пропустила правило, файл, который git преобразует перед сохранением, например шифруемый clean-фильтром, мог бы попасть в облако в том виде, в каком он лежит на диске. Вместо этого Claude Code отклоняет загрузку, и ничего не загружается:

3522 3543 

3523```text theme={null}3544```text theme={null}

3524Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository's .git/config or directly into your ~/.gitconfig, then retry.3545Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository’s .git/config or directly into your ~/.gitconfig, then retry.

3525```3546```

3526 3547 

3527Сообщение указывает параметр и где он установлен, и заканчивается исправлением для случая, который вы попали. Тот же отказ появляется для `core.attributesFile` и `attr.tree`, каждый со своим исправлением.3548Сообщение называет настройку и место, где она задана, и заканчивается способом исправления для вашего случая. Такой же отказ появляется для `core.attributesFile` и `attr.tree`, каждый со своим способом исправления.

3528 3549 

3529Сообщение может указывать файл конфигурации, который ваша конфигурация git вытягивает через директиву `include` или `includeIf`, даже когда условие этой директивы не применяется к этому репозиторию.3550Сообщение может называть файл конфигурации, который ваша конфигурация git подключает через директиву `include` или `includeIf`, даже если условие этой директивы к данному репозиторию не относится.

3530 3551 

3531**Что делать:**3552**Что делать:**

3532 3553 

3533* Примените исправление в финальном предложении сообщения3554* Примените исправление из последнего предложения сообщения

3534 3555 

3535<h3 id="github-isnt-connected-to-your-claude-account">3556<h3 id="github-isnt-connected-to-your-claude-account">

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

3537</h3>3558</h3>

3538 3559 

3539Вы запустили [облачный сеанс](/docs/ru/claude-code-on-the-web) из вашего локального репозитория, например с `/autofix-pr`. Ни один аккаунт GitHub не подключен к вашему аккаунту Claude или соединение истекло, поэтому Claude Code отказывает запуск:3560Вы запустили [облачную сессию](/docs/ru/claude-code-on-the-web) из локального репозитория, например с помощью `/autofix-pr`. К вашей учётной записи Claude не подключена учётная запись GitHub или подключение истекло, поэтому Claude Code отклоняет запуск:

3540 3561 

3541```text theme={null}3562```text theme={null}

3542GitHub 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-github3563GitHub 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

3543```3564```

3544 3565 

3545Когда вы создаёте routine с [`/schedule`](/docs/ru/routines), то же сообщение появляется как примечание по установке, которое указывает репозиторий; примечание не блокирует создание routine.3566Когда вы создаёте routine с помощью [`/schedule`](/docs/ru/routines), то же сообщение появляется как примечание по настройке с названием репозитория; это примечание не блокирует создание routine.

3546 3567 

3547**Что делать:**3568**Что делать:**

3548 3569 

3549* Запустите `/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) для того, как два отличаются.3570* Выполните `/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).

3550* Повторно запустите команду через минуту после подключения3571* Повторите команду через минуту после подключения

3551 3572 

3552До версии v2.1.268 Claude Code сообщал об этом как о временном сбое проверки Claude GitHub App и предлагал повторить попытку или установить приложение; ни один не подключает аккаунт GitHub.3573До v2.1.268 Claude Code сообщал об этом как о временном сбое проверки Claude GitHub App и предлагал повторить попытку или установить приложение; ни то, ни другое не подключает учётную запись GitHub.

3553 3574 

3554<h3 id="single-sign-on-authorization-needed">3575<h3 id="single-sign-on-authorization-needed">

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

3556</h3>3577</h3>

3557 3578 

3558Вы запустили [`/install-github-app`](/docs/ru/github-actions#quick-setup) и выбрали репозиторий, организация которого применяет SAML единый вход. Перед установкой Claude Code проверяет ваш доступ к репозиторию с GitHub CLI, и GitHub отклонил эту проверку, потому что ваш токен `gh` ещё не авторизован для организации. Мастер показывает предупреждение с шагами для авторизации:3579Вы выполнили [`/install-github-app`](/docs/ru/github-actions#quick-setup) и выбрали репозиторий, организация которого требует единый вход SAML. Перед настройкой Claude Code проверяет ваш доступ к репозиторию с помощью GitHub CLI, и GitHub отклонил эту проверку, потому что ваш токен `gh` ещё не авторизован для организации. Мастер показывает предупреждение с шагами для авторизации:

3559 3580 

3560```text theme={null}3581```text theme={null}

3561Single sign-on authorization needed3582Single sign-on authorization needed


3564 3585 

3565**Что делать:**3586**Что делать:**

3566 3587 

3567* Повторно авторизуйте ваш вход GitHub CLI с областями `repo` и `workflow`, запустив `gh auth refresh -h github.com -s repo,workflow`, и авторизуйте организацию, когда GitHub запросит единый вход3588* Повторно авторизуйте вход GitHub CLI со scope `repo` и `workflow`, выполнив `gh auth refresh -h github.com -s repo,workflow`, и авторизуйте организацию, когда GitHub запросит единый вход

3568* Если вы аутентифицируетесь с личным токеном доступа в `GH_TOKEN`, откройте [github.com/settings/tokens](https://github.com/settings/tokens), выберите **Configure SSO** на токене и авторизуйте организацию3589* Если вы проходите аутентификацию с персональным токеном доступа в `GH_TOKEN`, откройте [github.com/settings/tokens](https://github.com/settings/tokens), выберите **Configure SSO** для токена и авторизуйте организацию

3569* Запустите `/install-github-app` снова3590* Снова выполните `/install-github-app`

3570 3591 

3571До версии v2.1.273 Claude Code показывал предупреждение `Admin permissions required` для этого условия вместо этого.3592До v2.1.273 в этой ситуации Claude Code вместо этого показывал предупреждение `Admin permissions required`.

3572 3593 

3573<h3 id="failed-to-resume-the-conversation">3594<h3 id="failed-to-resume-the-conversation">

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

3575</h3>3596</h3>

3576 3597 

3577Claude Code не смог прочитать или обработать сохранённую стенограмму для сеанса, который вы выбрали из [`claude --resume` picker](/docs/ru/sessions#use-the-session-picker), поэтому он заканчивает процесс вместо продолжения в частично загруженном состоянии. Сообщение включает команду для повторной попытки:3598Claude Code не смог прочитать или обработать сохранённый транскрипт сессии, выбранной вами в [окне выбора `claude --resume`](/docs/ru/sessions#use-the-session-picker), поэтому завершает процесс, а не продолжает работу в частично загруженном состоянии. Сообщение содержит команду для повторной попытки:

3578 3599 

3579```text theme={null}3600```text theme={null}

3580Failed to resume the conversation.3601Failed to resume the conversation.

3581Run claude --resume <session-id> to retry, or claude to start a new session.3602Run claude --resume <session-id> to retry, or claude to start a new session.

3582```3603```

3583 3604 

3584Claude Code завершает работу с кодом 1 после показа сообщения. Picker `/resume` внутри работающего сеанса сообщает `Failed to resume conversation` в разговоре вместо этого, и ваш текущий сеанс продолжает работать. До версии v2.1.216 неудачное возобновление из picker `claude --resume` оставалось на спиннере `Resuming conversation…` бесконечно вместо показа этого сообщения.3605После показа сообщения Claude Code завершается с кодом выхода 1. Окно выбора `/resume` внутри работающей сессии вместо этого сообщает `Failed to resume conversation` в диалоге, и ваша текущая сессия продолжает работать. До v2.1.216 неудачное возобновление из окна выбора `claude --resume` бесконечно оставалось на индикаторе `Resuming conversation…` вместо показа этого сообщения.

3585 3606 

3586**Что делать:**3607**Что делать:**

3587 3608 

3588* Запустите `claude --resume <session-id>` с ID сеанса из сообщения для повторной попытки3609* Выполните `claude --resume <session-id>` с ID сессии из сообщения, чтобы повторить попытку

3589* Если каждая повторная попытка не работает так же, запустите `claude update` и возобновите снова. Версии до v2.1.275 не работают при возобновлении, когда сохранённая стенограмма содержит запись, которую они не могут прочитать.3610* Если каждая повторная попытка завершается одинаково, выполните `claude update` и снова возобновите сессию. Версии до v2.1.275 не могут возобновить сессию, если сохранённый транскрипт содержит запись, которую они не могут прочитать.

3590* Если повторная попытка не работает снова, запустите `claude` для запуска нового сеанса3611* Если повторная попытка снова завершается ошибкой, выполните `claude`, чтобы начать новую сессию

3591 3612 

3592<h3 id="no-conversation-found-with-the-session-id">3613<h3 id="no-conversation-found-with-the-session-id">

3593 Разговор не найден с ID сеанса3614 Диалог с указанным ID сессии не найден

3594</h3>3615</h3>

3595 3616 

3596Вы передали ID сеанса в `claude --resume <session-id>` и ни одна сохранённая стенограмма не совпала с ним:3617Вы передали ID сессии в `claude --resume <session-id>`, и ни один сохранённый транскрипт ему не соответствует:

3597 3618 

3598```text theme={null}3619```text theme={null}

3599No conversation found with session ID: <session-id>3620No conversation found with session ID: <session-id>

3600```3621```

3601 3622 

3602Claude Code завершает работу с кодом 1 после показа сообщения. Claude Code [ищет текущий проект сначала, затем каждый другой проект на этой машине](/docs/ru/sessions#resume-a-session) для ID. До версии v2.1.223 поиск остановился в текущем каталоге проекта и его git worktrees, поэтому возобновите из каталога, в котором сеанс в последний раз работал.3623После показа сообщения Claude Code завершается с кодом выхода 1. Claude Code [ищет ID сначала в текущем проекте, затем во всех остальных проектах на этом компьютере](/docs/ru/sessions#resume-a-session). До v2.1.223 поиск ограничивался текущим каталогом проекта и его git worktree, поэтому возобновляйте сессию из каталога, в котором она работала в последний раз.

3603 3624 

3604Распространённые причины:3625Распространённые причины:

3605 3626 

3606* **Неправильно введённый ID**: для неинтерактивного запуска ID — это поле `session_id` вывода [`--output-format json`](/docs/ru/headless#get-structured-output)3627* **Опечатка в ID**: для неинтерактивного запуска ID — это поле `session_id` в [выводе `--output-format json`](/docs/ru/headless#get-structured-output)

3607* **Удалённая стенограмма**: Claude Code удаляет стенограммы после [периода хранения](/docs/ru/sessions#where-transcripts-are-stored), 30 дней по умолчанию, следуя [правилам очистки хранения](/docs/ru/claude-directory#cleaned-up-automatically)3628* **Удалённый транскрипт**: Claude Code удаляет транскрипты по истечении [срока хранения](/docs/ru/sessions#where-transcripts-are-stored), по умолчанию 30 дней, в соответствии с [правилами очистки по сроку хранения](/docs/ru/claude-directory#cleaned-up-automatically)

3608* **Другая машина**: Claude Code хранит стенограммы локально, поэтому возобновите сеанс на машине, где он работал3629* **Другой компьютер**: Claude Code хранит транскрипты локально, поэтому возобновляйте сессию на компьютере, где она выполнялась

3609* **Дублирующиеся копии**: если вы скопировали каталог проекта под `~/.claude/projects`, поэтому две стенограммы несут один и тот же ID, Claude Code сообщает это сообщение вместо возобновления одной копии произвольно3630* **Дублирующиеся копии**: если вы скопировали каталог проекта в `~/.claude/projects` так, что два транскрипта имеют один и тот же ID, Claude Code выводит это сообщение, а не возобновляет произвольно одну из копий

3610 3631 

3611**Что делать:**3632**Что делать:**

3612 3633 

3613* Для интерактивного сеанса откройте [picker сеанса](/docs/ru/sessions#use-the-session-picker) с `claude --resume` и нажмите `Ctrl+A` для расширения на каждый проект на этой машине, затем выберите сеанс3634* Для интерактивной сессии откройте [окно выбора сессий](/docs/ru/sessions#use-the-session-picker) с помощью `claude --resume` и нажмите `Ctrl+A`, чтобы расширить его на все проекты на этом компьютере, затем выберите сессию

3614* Сеансы, созданные с `claude -p` или [Agent SDK](/docs/ru/agent-sdk/overview), не появляются в picker, поэтому повторно проверьте ID против `session_id`, который выводит ваш исходный запуск3635* Сессии, созданные с помощью `claude -p` или [Agent SDK](/docs/ru/agent-sdk/overview), не отображаются в окне выбора, поэтому перепроверьте ID по `session_id`, который вывел ваш исходный запуск

3615 3636 

3616<h3 id="windows-reported-an-error-ebadf">3637<h3 id="windows-reported-an-error-ebadf">

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

3618</h3>3639</h3>

3619 3640 

3620Вы возобновили сеанс на Windows, его сохранённый [файл стенограммы](/docs/ru/sessions#where-transcripts-are-stored) открылся нормально, и чтение его затем не прошло с системной ошибкой EBADF. Системная ошибка не говорит, почему чтение не прошло, поэтому сообщение предлагает вероятные причины и что попробовать:3641Вы возобновили сессию в Windows, её сохранённый [файл транскрипта](/docs/ru/sessions#where-transcripts-are-stored) открылся нормально, но затем чтение завершилось системной ошибкой EBADF. Системная ошибка не объясняет, почему чтение не удалось, поэтому сообщение предлагает вероятные причины и варианты действий:

3621 3642 

3622```text theme={null}3643```text theme={null}

3623Windows 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.3644Windows 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.

3624```3645```

3625 3646 

3626Сообщение следует за собственной строкой сбоя команды, такой как `Failed to resume session <session-id>`. Команда `claude --resume` или [`claude -p`](/docs/ru/headless) завершает работу с кодом 1 после показа. После `/resume` внутри сеанса ваш текущий сеанс продолжает работать.3647Это сообщение следует за собственной строкой об ошибке команды, например `Failed to resume session <session-id>`. Команда `claude --resume` или [`claude -p`](/docs/ru/headless) завершается с кодом 1 после его вывода. После `/resume` внутри сессии ваша текущая сессия продолжает работать.

3627 3648 

3628**Что делать:**3649**Что делать:**

3629 3650 

3630* Исключите папку, которая содержит ваши стенограммы сеанса, из программного обеспечения, которое сканирует или перехватывает чтение файлов, такого как инструменты безопасности, шифрования или управления конечными точками. Стенограммы находятся под `%USERPROFILE%\.claude\projects` по умолчанию или под каталогом, который [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars) указывает3651* Исключите папку с транскриптами сессий из обработки программами, которые сканируют или перехватывают чтение файлов, например средствами безопасности, шифрования или управления конечными устройствами. По умолчанию транскрипты хранятся в `%USERPROFILE%\.claude\projects` или в каталоге, указанном в [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars)

3631* Если вы не можете добавить исключение, добавьте Claude Code в разрешённые приложения этого программного обеспечения вместо этого3652* Если добавить исключение невозможно, добавьте Claude Code в список разрешённых приложений этой программы

3632* Возобновите сеанс снова3653* Снова возобновите сессию

3633 3654 

3634До версии v2.1.282 сбой пришёл без объяснения: `claude --resume <session-id>` закончился на `Failed to resume session <session-id>`, и запуск `-p` выводил только текст системной ошибки, такой как `Failed to resume session: EBADF: bad file descriptor, read`.3655До v2.1.282 ошибка не сопровождалась объяснением: `claude --resume <session-id>` завершался сообщением `Failed to resume session <session-id>`, а запуск с `-p` выводил только текст системной ошибки, например `Failed to resume session: EBADF: bad file descriptor, read`.

3635 3656 

3636<h3 id="cannot-switch-renderers-in-this-session">3657<h3 id="cannot-switch-renderers-in-this-session">

3637 Не удалось переключить рендереры в этом сеансе3658 Cannot switch renderers in this session

3638</h3>3659</h3>

3639 3660 

3640Когда вы переключаете рендереры, Claude Code перезапускает свой процесс. Вы запустили [`/tui`](/docs/ru/fullscreen#enable-fullscreen-rendering) в сеансе, который Claude Code отказывает перезапустить, поэтому он не переключается и ничего не сохраняет. Какое сообщение вы видите, говорит вам причину:3661При переключении рендерера Claude Code перезапускает свой процесс. Вы выполнили [`/tui`](/docs/ru/fullscreen#enable-fullscreen-rendering) в сессии, которую Claude Code отказывается перезапускать, поэтому переключение не происходит и ничего не сохраняется. Причину можно определить по тому, какое сообщение вы видите:

3641 3662 

3642* `Cannot switch renderers while work is running in the background`: у вас есть фоновая работа, которая перезапуск бросил бы, такая как фоновая оболочка или подагент. Дождитесь завершения работы или остановите её с [`/tasks`](/docs/ru/commands), затем запустите `/tui fullscreen` или `/tui default` снова3663* `Cannot switch renderers while work is running in the background`: у вас выполняется фоновая работа, которую перезапуск прервал бы, например фоновая оболочка или субагент. Дождитесь завершения работы или остановите её с помощью [`/tasks`](/docs/ru/commands), затем снова выполните `/tui fullscreen` или `/tui default`

3643* `Cannot switch renderers in this session`: сеанс имеет ограничения, которые Claude Code не может передать перезапущенному процессу. До версии v2.1.234 Claude Code перезапускал в любом случае и перезапущенный сеанс работал без них3664* `Cannot switch renderers in this session`: у сессии есть ограничения, которые Claude Code не может передать перезапущенному процессу. До v2.1.234 Claude Code всё равно выполнял перезапуск, и перезапущенная сессия работала без этих ограничений

3644 3665 

3645В сообщении ограничений часть в скобках указывает найденные ограничения:3666В сообщении об ограничениях часть в скобках называет ограничения, обнаруженные Claude Code:

3646 3667 

3647```text theme={null}3668```text theme={null}

3648Cannot 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.3669Cannot 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 3671 

3651Каждая причина, которую сообщение может показать в скобках:3672Каждая причина, которую сообщение может показать в скобках:

3652 3673 

3653* `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)3674* `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)

3654* `permission rules set for this session only`: [обновление разрешений](/docs/ru/hooks#permission-update-entries) из hook или вызывающего SDK добавило правила deny или ask с назначением `session`. Правила allow с областью сеанса не запускают отказ. Перезапуск их отбрасывает, и Claude Code вместо этого запрашивает снова3675* `permission rules set for this session only`: [обновление разрешений](/docs/ru/hooks#permission-update-entries) от хука или вызывающей стороны SDK добавило правила deny или ask с назначением `session`. Правила allow уровня сессии не вызывают отказа. Перезапуск отбрасывает их, и Claude Code вместо этого снова запрашивает разрешение

3655* `ask-before-running rules with no command-line form`: обновление разрешений из hook или вызывающего SDK добавило правила ask наряду с правилами, которые Claude Code передаёт обратно как `--allowed-tools` и `--disallowed-tools`. Ни один флаг не существует для правил ask3676* `ask-before-running rules with no command-line form`: обновление разрешений от хука или вызывающей стороны SDK добавило правила ask наряду с правилами, которые Claude Code передаёт обратно как `--allowed-tools` и `--disallowed-tools`. Флага для правил ask не существует

3656* `permission rules a command line cannot carry intact` и `added directories a command line cannot carry intact`: обновление разрешений добавило правило или путь каталога в середине сеанса. Командная строка перезапущенного процесса не может нести его текст как то же значение3677* `permission rules a command line cannot carry intact` и `added directories a command line cannot carry intact`: обновление разрешений добавило правило или путь к каталогу в середине сессии. Командная строка перезапущенного процесса не может передать его текст как то же самое значение

3657 3678 

3658**Что делать:**3679**Что делать:**

3659 3680 

3660* В сеансе, запущенном без этих ограничений, запустите `/tui fullscreen` или `/tui default` для переключения обратно. Claude Code сохраняет параметр [`tui`](/docs/ru/settings-reference#tui) там3681* В сессии, запущенной без этих ограничений, выполните `/tui fullscreen` или `/tui default`, чтобы переключиться обратно. Там Claude Code сохранит [настройку `tui`](/docs/ru/settings-reference#tui)

3661 3682 

3662<h3 id="couldnt-open-claude-desktop">3683<h3 id="couldnt-open-claude-desktop">

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

3664</h3>3685</h3>

3665 3686 

3666Вы запустили [`/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.3687Вы выполнили [`/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.

3667 3688 

3668Текст в скобках указывает команду, которая не прошла, с её кодом выхода и первой строкой её вывода ошибки, когда она их выдала. На macOS эта команда — это `open`, как в этом примере; на Windows это `rundll32`:3689Текст в скобках называет команду, завершившуюся ошибкой, с её кодом выхода и первой строкой вывода ошибок, если они были. В macOS это команда `open`, как в этом примере; в Windows — `rundll32`:

3669 3690 

3670```text theme={null}3691```text theme={null}

3671Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.3692Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.


3673 3694 

3674**Что делать:**3695**Что делать:**

3675 3696 

3676* Откройте Claude Desktop самостоятельно, затем запустите `/desktop` или `claude --desktop` снова3697* Откройте Claude Desktop самостоятельно, затем снова выполните `/desktop` или `claude --desktop`

3677* Чтобы прочитать полный вывод ошибки этой команды, включите отладочное логирование с `/debug` и запустите `/desktop` снова, или запустите `claude --desktop --debug-file <path>`, затем проверьте журнал отладки3698* Чтобы прочитать полный вывод ошибок неудавшейся команды, включите отладочное логирование с помощью `/debug` и снова выполните `/desktop` либо выполните `claude --desktop --debug-file <path>`, затем проверьте отладочный лог

3678 3699 

3679До версии v2.1.285 сообщение заканчивалось `Open Claude Desktop and run /desktop again.` До версии v2.1.275 это было `Failed to open Claude Desktop. Please try opening it manually.` и не говорило, что не прошло.3700До v2.1.285 сообщение заканчивалось словами `Open Claude Desktop and run /desktop again.` До v2.1.275 оно выглядело как `Failed to open Claude Desktop. Please try opening it manually.` и не сообщало, что именно не удалось.

3680 3701 

3681<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3702<h3 id="terminal-setup-left-your-zed-keymap-unchanged">

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

3683</h3>3704</h3>

3684 3705 

3685Вы запустили [`/terminal-setup`](/docs/ru/terminal-config#enter-multiline-prompts) в Zed, и Claude Code не смог завершить обновление вашего Zed `keymap.json`, поэтому оставил файл как он был.3706Вы выполнили [`/terminal-setup`](/docs/ru/terminal-config#enter-multiline-prompts) в Zed, и Claude Code не смог завершить обновление вашего файла Zed `keymap.json`, поэтому оставил файл как есть.

3686 3707 

3687Каждое сообщение указывает путь к вашей keymap и заканчивается блоком сочетания клавиш для добавления самостоятельно:3708Каждое сообщение указывает путь к вашей раскладке клавиш и заканчивается блоком сочетания клавиш, который нужно добавить самостоятельно:

3688 3709 

3689```text theme={null}3710```text theme={null}

3690Couldn't update your Zed keymap, so it was left unchanged.3711Couldn't update your Zed keymap, so it was left unchanged.


3692{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }3713{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }

3693```3714```

3694 3715 

3695Первая строка сообщения указывает причину:3716Первая строка сообщения называет причину:

3696 3717 

3697* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code не смог прочитать файл, например из-за разрешений файла3718* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code не смог прочитать файл, например из-за прав доступа к файлу

3698* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: файл прочитался нормально, но не анализируется как массив блоков сочетаний клавиш, даже с разрешёнными комментариями `//` и конечными запятыми3719* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: файл прочитан успешно, но не разбирается как массив блоков сочетаний клавиш, даже с учётом допустимых комментариев `//` и завершающих запятых

3699* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code не смог скопировать файл в резервную копию `.bak` рядом с ним, поэтому ничего не изменил3720* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code не смог скопировать файл в резервную копию `.bak` рядом с ним, поэтому ничего не изменил

3700* `Couldn't update your Zed keymap, so it was left unchanged.`: объединённый результат не проверился как действительная keymap, несущая сочетание клавиш, поэтому Claude Code отбросил его вместо записи. Блок сочетания клавиш с дублированным ключом может вызвать это3721* `Couldn't update your Zed keymap, so it was left unchanged.`: объединённый результат не прошёл проверку как корректная раскладка клавиш с этим сочетанием, поэтому Claude Code отбросил его вместо записи. Причиной может быть блок сочетаний клавиш с повторяющимся ключом

3701 3722 

3702**Что делать:**3723**Что делать:**

3703 3724 

3704* Скопируйте блок из сообщения в массив верхнего уровня в вашем `keymap.json` по пути, который указывает сообщение3725* Скопируйте блок из сообщения в массив верхнего уровня в вашем `keymap.json` по пути, указанному в сообщении

3705* Для `isn't a readable list of keybindings`, исправьте ошибку синтаксиса или сделайте значение верхнего уровня файла массивом, затем запустите `/terminal-setup` снова3726* Для `isn't a readable list of keybindings` исправьте синтаксическую ошибку или сделайте значение верхнего уровня в файле массивом, затем снова выполните `/terminal-setup`

3706 3727 

3707До версии v2.1.247 `/terminal-setup` не мог анализировать Zed keymap, которая использовала комментарии `//` или конечные запятые, и она заменила весь файл только своим собственным сочетанием клавиш при сообщении о сочетании как установленном. Чтобы восстановить keymap, которую более ранняя версия заменила, используйте файл резервной копии `.bak`, описанный в [Enter multiline prompts](/docs/ru/terminal-config#enter-multiline-prompts).3728До v2.1.247 `/terminal-setup` не мог разобрать раскладку клавиш Zed, в которой использовались комментарии `//` или завершающие запятые, и заменял весь файл только своим сочетанием клавиш, сообщая при этом, что сочетание установлено. Чтобы восстановить раскладку клавиш, заменённую более ранней версией, используйте резервную копию `.bak`, описанную в разделе [Ввод многострочных промптов](/docs/ru/terminal-config#enter-multiline-prompts).

3708 3729 

3709<h3 id="skill-usage-reports-are-not-available-on-this-connection">3730<h3 id="skill-usage-reports-are-not-available-on-this-connection">

3710 Отчёты об использовании Skill недоступны на этом соединении3731 Отчёты об использовании скиллов недоступны через это подключение

3711</h3>3732</h3>

3712 3733 

3713Вы запустили [`/skill-doctor`](/docs/ru/skills#find-unused-skills) через [Remote Control](/docs/ru/remote-control), с вашего телефона или браузера. Claude Code не отправляет отчёт об использовании skill через Remote Control и отвечает этим сообщением вместо этого:3734Вы выполнили [`/skill-doctor`](/docs/ru/skills#find-unused-skills) через [Remote Control](/docs/ru/remote-control) с телефона или в браузере. Claude Code не отправляет отчёт об использовании скиллов через Remote Control и вместо этого отвечает следующим сообщением:

3714 3735 

3715```text theme={null}3736```text theme={null}

3716Skill usage reports are not available on this connection.3737Skill usage reports are not available on this connection.


3718 3739 

3719**Что делать:**3740**Что делать:**

3720 3741 

3721* Запустите `/skill-doctor` в терминале на машине, где работает сеанс, или запустите `claude -p "/skill-doctor"` там3742* Выполните `/skill-doctor` в терминале на машине, где работает сессия, или выполните там `claude -p "/skill-doctor"`

3722 3743 

3723<h3 id="custom-output-styles-cant-be-selected-over-remote-control">3744<h3 id="custom-output-styles-cant-be-selected-over-remote-control">

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

3725</h3>3746</h3>

3726 3747 

3727Вы запустили [`/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) получает тот же ответ, что и имя, которое не существует:3748Вы выполнили [`/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) приходит тот же ответ, что и на несуществующее имя:

3728 3749 

3729```text theme={null}3750```text theme={null}

3730Custom 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.3751Custom 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**Что делать:**3754**Что делать:**

3734 3755 

3735* Выберите встроенный стиль, например `/output-style concise`3756* Выберите встроенный стиль, например `/output-style concise`

3736* Чтобы использовать пользовательский стиль, установите [`outputStyle`](/docs/ru/settings-reference#outputstyle) в `.claude/settings.local.json` проекта или запустите `/output-style <style>` в собственном терминале сеанса, если он есть3757* Чтобы использовать пользовательский стиль, задайте [`outputStyle`](/docs/ru/settings-reference#outputstyle) в файле `.claude/settings.local.json` проекта или выполните `/output-style <style>` в собственном терминале сессии, если он есть

3737 3758 

3738<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">3759<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">

3739 Стили вывода сохраняются в локальные параметры, которые этот сеанс не загружает3760 Стили вывода сохраняются в локальные настройки, которые эта сессия не загружает

3740</h3>3761</h3>

3741 3762 

3742Вы попытались переключить [стили вывода](/docs/ru/output-styles) с `/output-style <style>` или `/config outputStyle=<style>` в сеансе, чьи источники параметров исключают `local`. Примеры — это сеанс [Agent SDK](/docs/ru/agent-sdk/typescript), чьи [`settingSources`](/docs/ru/agent-sdk/typescript#options) оставляют `"local"` и сеанс CLI, запущенный со значением [`--setting-sources`](/docs/ru/cli-reference#cli-flags), которое оставляет `local`. Обе команды сохраняют стиль в `.claude/settings.local.json`, файл, который такой сеанс никогда не читает обратно, поэтому Claude Code отказывает вместо записи параметра, который не имел бы эффекта:3763Вы попытались переключить [стиль вывода](/docs/ru/output-styles) с помощью `/output-style <style>` или `/config outputStyle=<style>` в сессии, источники настроек которой исключают `local`. Примеры — сессия [Agent SDK](/docs/ru/agent-sdk/typescript), в которой [`settingSources`](/docs/ru/agent-sdk/typescript#options) не включает `"local"`, и сессия CLI, запущенная со значением [`--setting-sources`](/docs/ru/cli-reference#cli-flags), не включающим `local`. Обе команды сохраняют стиль в `.claude/settings.local.json` — файл, который такая сессия никогда не перечитывает, поэтому Claude Code отказывается выполнять команду, вместо того чтобы записать настройку, которая не будет иметь эффекта:

3743 3764 

3744```text theme={null}3765```text theme={null}

3745Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.3766Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.


3747 3768 

3748**Что делать:**3769**Что делать:**

3749 3770 

3750* Добавьте `local` в источники параметров сеанса и переключитесь снова3771* Добавьте `local` в источники настроек сессии и переключите стиль снова

3751* Установите ключ [`outputStyle`](/docs/ru/settings-reference#outputstyle) в файл параметров, который сеанс загружает, такой как `.claude/settings.json` в проекте или `~/.claude/settings.json`. В TypeScript SDK установите `outputStyle` внутри встроенного объекта `settings` вместо этого; см. [Activate an output style](/docs/ru/agent-sdk/modifying-system-prompts#activate-an-output-style)3772* Задайте ключ [`outputStyle`](/docs/ru/settings-reference#outputstyle) в файле настроек, который сессия загружает, например в `.claude/settings.json` проекта или в `~/.claude/settings.json`. В TypeScript SDK вместо этого задайте `outputStyle` внутри встроенного объекта `settings`; см. [Активация стиля вывода](/docs/ru/agent-sdk/modifying-system-prompts#activate-an-output-style)

3752 3773 

3753<h2 id="plugin-errors">3774<h2 id="plugin-errors">

3754 Ошибки плагинов3775 Ошибки плагинов


4473До версии 2.1.285 проверка с ограничением скорости сообщалась с сообщением `Unable to verify` вместо этого.4494До версии 2.1.285 проверка с ограничением скорости сообщалась с сообщением `Unable to verify` вместо этого.

4474 4495 

4475<h2 id="background-session-errors">4496<h2 id="background-session-errors">

4476 Ошибки фоновых сеансов4497 Ошибки фоновых сессий

4477</h2>4498</h2>

4478 4499 

4479[Фоновые сеансы](/docs/ru/agent-view) работают без собственного интерактивного терминала, поэтому команды, которым он требуется, ведут себя там иначе. Эти сообщения появляются в стенограмме фонового сеанса, в терминале, подключённом к нему, в сеансе или оболочке, из которой вы его запустили, или, для [записей worktree-guard](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) ниже, в любом сеансе, изолированном в worktree, или в работающем изолированном подагенте worktree; где сообщение относится к одной поверхности, его запись это указывает.4500[Фоновые сессии](/docs/ru/agent-view) работают без собственного интерактивного терминала, поэтому команды, которым он требуется, ведут себя в них иначе. Эти сообщения появляются в транскрипте фоновой сессии, в терминале, подключённом к ней, в сессии или оболочке, из которой вы её запустили, или, для [записей о защите worktree](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) ниже, в любой сессии, изолированной в worktree, или при работе субагента, изолированного в worktree; если сообщение относится только к одному интерфейсу, это указано в соответствующей записи.

4480 4501 

4481<h3 id="commands-refused-in-a-background-session">4502<h3 id="commands-refused-in-a-background-session">

4482 Команды, отклонённые в фоновом сеансе4503 Команды, отклонённые в фоновой сессии

4483</h3>4504</h3>

4484 4505 

4485Команды, которые открывают интерактивный диалог, не могут это делать, пока к фоновому сеансу не подключён терминал. `/install-github-app`, список параметров `/mcp` и действия аутентификации в меню сервера MCP отвечают сообщением. Для `/install-github-app` и списка параметров `/mcp` сеанс также появляется под **Needs input** в [представлении агента](/docs/ru/agent-view), чтобы вы могли его найти, подключиться и запустить команду снова. Пока терминал подключён, эти команды работают нормально.4506Команды, которые открывают интерактивное диалоговое окно, не могут этого сделать, пока к фоновой сессии не подключён терминал. `/install-github-app`, список настроек `/mcp` и действия аутентификации в меню MCP-сервера отвечают сообщением. Для `/install-github-app` и списка настроек `/mcp` сессия также появляется в разделе **Needs input** в [представлении агента](/docs/ru/agent-view), чтобы вы могли найти её, подключиться и запустить команду снова. Пока терминал подключён, эти команды работают как обычно.

4486 4507 

4487До версии 2.1.216 сеанс не появлялся под **Needs input** после того, как `/install-github-app` или список параметров `/mcp` был отклонён. В версиях 2.1.213–2.1.215 команды всё ещё работали, пока был подключён терминал, и сообщение об отказе говорило вам подключиться и запустить команду снова. С версии 2.1.208 по 2.1.212 Claude Code отклонял их даже при подключённом терминале с сообщением вроде `Can't open MCP settings in a background session`; на этих версиях запустите команду из обычного сеанса `claude` вместо этого или обновитесь. До версии 2.1.208 они открывали свой диалог внутри фонового сеанса. Только в версии 2.1.208 Claude Code также отклонял средство выбора `/model` в фоновом сеансе, и `/upgrade` выводил URL обновления вместо открытия браузера.4508До версии 2.1.216 сессия не появлялась в разделе **Needs input** после отклонения `/install-github-app` или списка настроек `/mcp`. В версиях с 2.1.213 по 2.1.215 команды по-прежнему работали при подключённом терминале, а сообщение об отказе предлагало подключиться и запустить команду снова. В версиях с 2.1.208 по 2.1.212 Claude Code отклонял их даже при подключённом терминале с сообщением вроде `Can't open MCP settings in a background session`; в этих версиях запустите команду из обычной сессии `claude` или обновитесь. До версии 2.1.208 они открывали своё диалоговое окно внутри фоновой сессии. Только в версии 2.1.208 Claude Code также отклонял средство выбора `/model` в фоновой сессии, а `/upgrade` выводил URL обновления вместо открытия браузера.

4488 4509 

4489Формулировка называет команду. Список параметров `/mcp` сообщает:4510В формулировке указывается команда. Список настроек `/mcp` сообщает:

4490 4511 

4491```text theme={null}4512```text theme={null}

4492Can't open MCP settings while no terminal is attached to this background session. This session now shows "needs input" in agent view — open it and run /mcp to manage servers, or use `/mcp enable|disable|reconnect <server>` to steer without the panel.4513Can't open MCP settings while no terminal is attached to this background session. This session now shows "needs input" in agent view — open it and run /mcp to manage servers, or use `/mcp enable|disable|reconnect <server>` to steer without the panel.


4494 4515 

4495**Что делать:**4516**Что делать:**

4496 4517 

4497* Подключитесь к сеансу из представления агента и запустите команду снова4518* Подключитесь к сессии из представления агента и запустите команду снова

4498* Или используйте форму, которую называет сообщение, например `/mcp reconnect <server>`, `/mcp enable` или `/mcp disable`, которые работают без подключения4519* Или используйте форму, указанную в сообщении, например `/mcp reconnect <server>`, `/mcp enable` или `/mcp disable`, которые работают без подключения

4499 4520 

4500<h3 id="write-or-command-blocked-because-the-path-cannot-be-safely-resolved">4521<h3 id="write-or-command-blocked-because-the-path-cannot-be-safely-resolved">

4501 Запись или команда заблокирована, потому что путь не может быть безопасно разрешён4522 Запись или команда заблокирована, потому что путь невозможно безопасно разрешить

4502</h3>4523</h3>

4503 4524 

4504Claude обратился к файлу или рабочему каталогу через написание, которое [защита изоляции worktree](/docs/ru/agent-view#how-file-edits-are-isolated) не может разрешить в одно проверяемое место. Защита проверяет записи и рабочие каталоги команд в [любом сеансе, изолированном в worktree](/docs/ru/worktrees#how-claude-code-enforces-isolation), интерактивном или фоновом, и в [изолированных подагентах worktree](/docs/ru/worktrees#isolate-subagents-with-worktrees). Она разрешает символические ссылки перед проверкой того, что операция не достигает общей проверки, и когда разрешение не удаётся, она блокирует операцию вместо того, чтобы позволить ей туда попасть. Сообщение называет формы пути, которые она отклоняет, и как повторить попытку:4525Claude обратился к файлу или рабочему каталогу через написание пути, которое [защита изоляции в worktree](/docs/ru/agent-view#how-file-edits-are-isolated) не может разрешить в одно проверяемое расположение. Защита проверяет операции записи и рабочие каталоги команд в [любой сессии, изолированной в worktree](/docs/ru/worktrees#how-claude-code-enforces-isolation), интерактивной или фоновой, а также в [субагентах, изолированных в worktree](/docs/ru/worktrees#isolate-subagents-with-worktrees). Она разрешает символические ссылки, прежде чем проверить, что операция не затрагивает общую рабочую копию, а если разрешение не удаётся, блокирует операцию, а не позволяет ей туда попасть. Сообщение называет отклоняемые формы пути и способ повторить попытку:

4505 4526 

4506```text theme={null}4527```text theme={null}

4507This write was blocked because the path is spelled in a form that cannot be safely resolved (for example through a symlink storing a raw dot segment, a network-share or device-namespace shape, or an unreadable ancestor directory). If the file is inside the worktree /path/to/worktree, address it by its direct symlink-free path instead.4528This write was blocked because the path is spelled in a form that cannot be safely resolved (for example through a symlink storing a raw dot segment, a network-share or device-namespace shape, or an unreadable ancestor directory). If the file is inside the worktree /path/to/worktree, address it by its direct symlink-free path instead.

4508```4529```

4509 4530 

4510Заблокированная команда сообщает ту же причину для своего рабочего каталога и заканчивается `re-run the command from its direct symlink-free path`. До версии 2.1.217 защита сравнивала написания пути без разрешения символических ссылок, поэтому эти написания не блокировались и запись, маршрутизированная через символическую ссылку, могла попасть в общую проверку.4531Заблокированная команда сообщает ту же причину для своего рабочего каталога, и сообщение заканчивается на `re-run the command from its direct symlink-free path`. До версии 2.1.217 защита сравнивала написания путей без разрешения символических ссылок, поэтому такие написания не блокировались, и запись через символическую ссылку могла попасть в общую рабочую копию.

4511 4532 

4512**Что делать:**4533**Что делать:**

4513 4534 

4514* Обычно ничего: полное сообщение идёт к Claude как ошибка инструмента, и Claude повторяет попытку с прямым путём, который он называет. Для заблокированного редактирования файла представление разговора показывает только короткую строку `Error editing file`; полное сообщение появляется в представлении стенограммы, которое вы открываете с помощью `Ctrl+O`. Заблокированная команда выводит его в выходные данные команды.4535* Обычно ничего: полное сообщение передаётся Claude как ошибка инструмента, и Claude повторяет попытку с указанным в нём прямым путём. Для заблокированного редактирования файла в представлении диалога показывается только короткая строка `Error editing file`; полное сообщение появляется в представлении транскрипта, которое открывается сочетанием `Ctrl+O`. Заблокированная команда выводит его в своём выводе.

4515* Если блокировка повторяется на том же файле, путь, вероятно, проходит через зафиксированную символическую ссылку, цель которой содержит `..`, например `docs/current -> ../README.md`; попросите Claude отредактировать целевой файл по его реальному пути вместо ссылки4536* Если блокировка повторяется для одного и того же файла, путь, вероятно, проходит через закоммиченную символическую ссылку, цель которой содержит `..`, например `docs/current -> ../README.md`; попросите Claude отредактировать целевой файл по его реальному пути, а не через ссылку

4516 4537 

4517<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">4538<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">

4518 Запись или команда заблокирована, потому что путь называет сетевое расположение4539 Запись или команда заблокирована, потому что путь указывает на сетевое расположение

4519</h3>4540</h3>

4520 4541 

4521Claude обратился к файлу или рабочему каталогу через путь, который называет диск, которого нет на вашей машине, общую папку UNC, например `\\server\share\file`, или путь автомонтирования `/net`, в то время как проверка сеанса находится на локальном диске. Та же [защита изоляции worktree](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) не может проверить, что такой путь остаётся вне общей проверки, поэтому она блокирует операцию. Изоляция сеанса в worktree не снимает блокировку. Сообщение называет форму пути для использования вместо этого:4542Claude обратился к файлу или рабочему каталогу через путь, указывающий на диск, которого нет на вашем компьютере, на общий ресурс UNC, например `\\server\share\file`, или на путь автомонтирования `/net`, тогда как рабочая копия сессии находится на локальном диске. Та же [защита изоляции в worktree](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) не может проверить, что такой путь не затрагивает общую рабочую копию, поэтому блокирует операцию. Изоляция сессии в worktree не снимает блокировку. Сообщение называет форму пути, которую следует использовать вместо этого:

4522 4543 

4523```text theme={null}4544```text theme={null}

4524This write was blocked because the path is network-shaped (a UNC share or /net automount spelling) while this session's checkout is local. Isolating cannot unblock it. If the file is genuinely inside the worktree /path/to/worktree, address it by its local, plainly-spelled path instead.4545This write was blocked because the path is network-shaped (a UNC share or /net automount spelling) while this session's checkout is local. Isolating cannot unblock it. If the file is genuinely inside the worktree /path/to/worktree, address it by its local, plainly-spelled path instead.

4525```4546```

4526 4547 

4527Заблокированная команда сообщает ту же причину для своего рабочего каталога и заканчивается `re-run the command from its local, plainly-spelled path`. До версии 2.1.217 защита сравнивала только текст пути, поэтому обращение к файлу внутри проверки через путь UNC или `/net` не блокировалось.4548Заблокированная команда сообщает ту же причину для своего рабочего каталога, и сообщение заканчивается на `re-run the command from its local, plainly-spelled path`. До версии 2.1.217 защита сравнивала только текст пути, поэтому обращение к файлу внутри рабочей копии через путь UNC или `/net` не блокировалось.

4528 4549 

4529**Что делать:**4550**Что делать:**

4530 4551 

4531* Обычно ничего: Claude повторяет попытку с локальным написанием, которое просит сообщение4552* Обычно ничего: Claude повторяет попытку с локальным написанием пути, которое запрашивает сообщение

4532 4553 

4533<h3 id="command-blocked-by-the-worktree-isolation-checks">4554<h3 id="command-blocked-by-the-worktree-isolation-checks">

4534 Команда заблокирована проверками изоляции worktree4555 Команда заблокирована проверками изоляции в worktree

4535</h3>4556</h3>

4536 4557 

4537Claude запустил команду Bash или Monitor в [сеансе, изолированном в worktree](/docs/ru/worktrees#how-claude-code-enforces-isolation), и Claude Code отклонил её по одной из двух причин:4558Claude запустил команду Bash или Monitor в [сессии, изолированной в worktree](/docs/ru/worktrees#how-claude-code-enforces-isolation), и Claude Code отклонил её по одной из двух причин:

4538 4559 

4539* Команда указывает git на основную проверку.4560* Команда направляет git на основную рабочую копию.

4540* Claude Code не может проверить из текста команды, что любой git, который запускает команда, остаётся внутри worktree. Команда, которая никогда не называет git, всё ещё может быть отклонена по этой причине, потому что расширение косвенного обращения переменной, такого как `${!name}`, или запуск подстановки функции Bash, такой как `${ command; }`, производит значение во время выполнения, которое само может быть командой.4561* Claude Code не может проверить по тексту команды, что любой запускаемый ею git остаётся внутри worktree. Команда, в которой git вообще не упоминается, тоже может быть отклонена по этой причине, потому что раскрытие косвенной ссылки на переменную, например `${!name}`, или выполнение подстановки функции Bash, например `${ command; }`, порождает во время выполнения значение, которое само может быть командой.

4541 4562 

4542Середина сообщения называет то, что не могло быть проверено:4563Средняя часть сообщения называет то, что не удалось проверить:

4543 4564 

4544```text wrap theme={null}4565```text wrap theme={null}

4545This session is isolated in the worktree /path/to/worktree, but this command evaluates ${!x@P} arithmetically inside a construct too complex to verify, which can run a command hidden in a variable's value. Refusing to run it — a worktree-isolated session's git operations must target its own worktree. Split it into plain, separate commands and run them from /path/to/worktree.4566This session is isolated in the worktree /path/to/worktree, but this command evaluates ${!x@P} arithmetically inside a construct too complex to verify, which can run a command hidden in a variable's value. Refusing to run it — a worktree-isolated session's git operations must target its own worktree. Split it into plain, separate commands and run them from /path/to/worktree.


4547 4568 

4548**Что делать:**4569**Что делать:**

4549 4570 

4550* Обычно ничего: Claude читает сообщение и переписывает команду так, как просит его последнее предложение4571* Обычно ничего: Claude читает сообщение и переписывает команду так, как просит последнее предложение

4551* Если команда, которую вы просили, продолжает отклоняться, напишите отмеченное значение буквально: замените косвенное обращение или подстановку его значением и запустите git как отдельную простую команду из внутри worktree4572* Если запрошенная вами команда продолжает отклоняться, запишите отмеченное значение буквально: замените косвенную ссылку или подстановку её значением и запустите git отдельной простой командой изнутри worktree

4552* Чтобы действовать на основной проверке намеренно, запустите команду самостоятельно в терминале вне сеанса4573* Чтобы намеренно выполнить действие в основной рабочей копии, запустите команду самостоятельно в терминале вне сессии

4553 4574 

4554<h3 id="this-session-has-no-saved-transcript">4575<h3 id="this-session-has-no-saved-transcript">

4555 Этот сеанс не имеет сохранённой стенограммы4576 У этой сессии нет сохранённого транскрипта

4556</h3>4577</h3>

4557 4578 

4558Вы подключились к остановленному [фоновому сеансу](/docs/ru/agent-view), который был отправлен в фон из другого разговора с `←` или `/background` и остановлен до завершения его первого ответа. До завершения этого первого ответа разговор всё ещё существует только в сеансе, из которого он был отправлен в фон, поэтому `claude attach` отказывает в запуске остановленного сеанса вместо того, чтобы начать пустой разговор с тем же ID сеанса. Сообщение заканчивается командой `claude respawn` для этого сеанса:4579Вы подключились к остановленной [фоновой сессии](/docs/ru/agent-view), которая была переведена в фон из другого диалога с помощью `←` или `/background` и остановлена до завершения первого ответа. Пока первый ответ не завершён, диалог существует только в сессии, из которой он был переведён в фон, поэтому `claude attach` отказывается запускать остановленную сессию, а не начинает пустой диалог под тем же ID сессии. Сообщение заканчивается командой `claude respawn` для этой сессии:

4559 4580 

4560```text theme={null}4581```text theme={null}

4561This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.4582This session has no saved transcript — it was stopped before its first response finished. If it was backgrounded from another conversation, that one is still intact; `claude respawn <id>` starts this one fresh.

4562```4583```

4563 4584 

4564Открытие той же строки сеанса в [представлении агента](/docs/ru/agent-view) показывает `Press enter again to restart this session fresh` ниже списка, и второе нажатие `Enter` на строке перезапускает сеанс с пустым разговором. До версии 2.1.212 открытие строки показывало сообщение об отказе без способа перезапуска из представления агента. До версии 2.1.211 открытие остановленного сеанса молча запускало этот пустой разговор и могло повторно запустить исходный запрос сеанса.4585При открытии строки той же сессии в [представлении агента](/docs/ru/agent-view) вместо этого под списком показывается `Press enter again to restart this session fresh`, и повторное нажатие `Enter` на строке перезапускает сессию с пустым диалогом. До версии 2.1.212 при открытии строки показывалось сообщение об отказе без возможности перезапуска из представления агента. До версии 2.1.211 открытие остановленной сессии молча запускало пустой диалог и могло повторно выполнить исходный промпт сессии.

4565 4586 

4566**Что делать:**4587**Что делать:**

4567 4588 

4568* Разговор, который вы отправили в фон, остаётся нетронутым: возобновите его с помощью [`claude --resume`](/docs/ru/sessions) или продолжайте работать в нём4589* Диалог, из которого вы перевели сессию в фон, не пострадал: возобновите его с помощью [`claude --resume`](/docs/ru/sessions) или продолжайте работать в нём

4569* Чтобы запустить остановленный сеанс заново, запустите `claude respawn <id>` с ID из сообщения или нажмите `Enter` дважды на его строке в представлении агента4590* Чтобы всё же запустить остановленную сессию заново, выполните `claude respawn <id>` с ID из сообщения или дважды нажмите `Enter` на её строке в представлении агента

4570* Если сеанс завершил ответ и вы всё ещё видите этот отказ в версии до 2.1.214, нечитаемая папка в `~/.claude/projects` могла заставить сканирование стенограммы пропустить сохранённый разговор; обновитесь до версии 2.1.214 или позже, которая допускает нечитаемые папки во время сканирования4591* Если сессия завершила ответ, а вы всё равно видите этот отказ в версии до 2.1.214, нечитаемая папка в `~/.claude/projects` могла привести к тому, что при сканировании транскриптов сохранённый диалог был пропущен; обновитесь до версии 2.1.214 или новее, которая допускает нечитаемые папки при сканировании

4571 4592 

4572<h3 id="this-session-is-running-in-another-terminal">4593<h3 id="this-session-is-running-in-another-terminal">

4573 Этот сеанс работает в другом терминале4594 Эта сессия запущена в другом терминале

4574</h3>4595</h3>

4575 4596 

4576Вы открыли строку остановленного сеанса в [представлении агента](/docs/ru/agent-view), и его сохранённый разговор уже открыт в другом живом процессе Claude Code на этой машине, поэтому Claude Code отказывает в запуске второго процесса, который писал бы в ту же стенограмму. Какое сообщение вы видите, зависит от [того, что держит разговор](/docs/ru/agent-view#opening-a-session-says-the-conversation-is-already-open):4597Вы открыли строку остановленной сессии в [представлении агента](/docs/ru/agent-view), а её сохранённый диалог уже открыт в другом работающем процессе Claude Code на этом компьютере, поэтому Claude Code отказывается запускать второй процесс, который записывал бы в тот же транскрипт. Какое сообщение вы увидите, зависит от того, [что удерживает диалог](/docs/ru/agent-view#opening-a-session-says-the-conversation-is-already-open):

4577 4598 

4578```text theme={null}4599```text theme={null}

4579Can't open — this session is running in another terminal4600Can't open — this session is running in another terminal

4580This conversation is already open in another running Claude session — use that one, or close it and try again4601This conversation is already open in another running Claude session — use that one, or close it and try again

4581```4602```

4582 4603 

4583* **`running in another terminal`**: терминал держит разговор, например тот, где вы возобновили его с помощью `claude --resume` или `/resume`. Строка также показывает `Open in a terminal`.4604* **`running in another terminal`**: диалог удерживает терминал, например тот, в котором вы возобновили его с помощью `claude --resume` или `/resume`. В строке также показывается `Open in a terminal`.

4584* **`already open in another running Claude session`**: другой неинтерактивный процесс Claude Code держит его, например процесс [фонового сеанса](/docs/ru/agent-view#the-supervisor-process) для того же разговора, который ещё не вышел.4605* **`already open in another running Claude session`**: его удерживает другой неинтерактивный процесс Claude Code, например процесс [фоновой сессии](/docs/ru/agent-view#the-supervisor-process) для того же диалога, который ещё не завершился.

4585 4606 

4586Claude Code сохраняет ответ, который вы напечатали при открытии строки, и отправляет его как следующий запрос сеанса, когда сеанс в следующий раз запустится.4607Claude Code сохраняет ответ, который вы ввели при открытии строки, и отправляет его как следующий промпт сессии при её следующем запуске.

4587 4608 

4588**Что делать:**4609**Что делать:**

4589 4610 

4590* Продолжите разговор в процессе, который его имеет, или выйдите из этого процесса и откройте строку снова4611* Продолжите диалог в процессе, в котором он открыт, или завершите этот процесс и снова откройте строку

4591 4612 

4592До версии 2.1.248 существовал только отказ `already open in another running Claude session`: разговор, возобновленный в терминале, не считался открытым, и открытие строки запускало второй процесс Claude Code, пишущий в тот же разговор.4613До версии 2.1.248 существовал только отказ `already open in another running Claude session`: диалог, возобновлённый в терминале, не считался открытым, и при открытии строки запускался второй процесс Claude Code, записывающий в тот же диалог.

4593 4614 

4594<h3 id="this-sessions-saved-conversation-is-no-longer-on-disk">4615<h3 id="this-sessions-saved-conversation-is-no-longer-on-disk">

4595 Сохранённый разговор этого сеанса больше не находится на диске4616 Сохранённый диалог этой сессии больше не находится на диске

4596</h3>4617</h3>

4597 4618 

4598Вы открыли [фоновый сеанс](/docs/ru/agent-view), который завершился, пока фоновая служба была отключена, и [очистка стенограммы](/docs/ru/settings-reference#cleanupperioddays) с тех пор удалила его сохранённый разговор, например после того, как машина была отключена в течение недель. Открытие такой строки обычно [возобновляет её сохранённый разговор](/docs/ru/agent-view#sessions-show-as-failed-after-shutdown). Когда нечего возобновлять, Claude Code отказывает вместо того, чтобы повторно запустить исходный запрос сеанса без вопроса:4619Вы открыли [фоновую сессию](/docs/ru/agent-view), которая завершилась, пока фоновая служба была выключена, и с тех пор [очистка транскриптов](/docs/ru/settings-reference#cleanupperioddays) удалила её сохранённый диалог, например после того, как компьютер был выключен несколько недель. Открытие такой строки обычно [возобновляет её сохранённый диалог](/docs/ru/agent-view#sessions-show-as-failed-after-shutdown). Когда возобновлять нечего, Claude Code отказывает, а не выполняет исходный промпт сессии повторно без вашего ведома:

4599 4620 

4600```text theme={null}4621```text theme={null}

4601This session's saved conversation is no longer on disk (it ended while the background service was off, and old transcripts are cleaned up), so there is nothing to resume. `claude rm 7c5dcf5d` deletes the row; `claude respawn 7c5dcf5d` runs its original prompt again instead.4622This session's saved conversation is no longer on disk (it ended while the background service was off, and old transcripts are cleaned up), so there is nothing to resume. `claude rm 7c5dcf5d` deletes the row; `claude respawn 7c5dcf5d` runs its original prompt again instead.

4602```4623```

4603 4624 

4604`claude attach <id>` выводит этот текст. В представлении агента нижний колонтитул короче и заканчивается `ctrl+x deletes the row`.4625`claude attach <id>` выводит этот текст. В представлении агента нижняя строка короче и заканчивается на `ctrl+x deletes the row`.

4605 4626 

4606**Что делать:**4627**Что делать:**

4607 4628 

4608* Запустите `claude rm <id>` для удаления строки. Когда применяется один из [сохраняемых случаев](/docs/ru/agent-view#what-deleting-a-session-removes), `claude rm` сохраняет строку и worktree вместо этого и называет причину4629* Выполните `claude rm <id>`, чтобы удалить строку. Если применим один из [случаев сохранения](/docs/ru/agent-view#what-deleting-a-session-removes), `claude rm` вместо этого сохраняет строку и worktree и называет причину

4609* Чтобы запустить исходный запрос сеанса снова как новый разговор, запустите `claude respawn <id>`4630* Чтобы снова выполнить исходный промпт сессии в новом диалоге, выполните `claude respawn <id>`

4610 4631 

4611До версии 2.1.248 открытие такой строки повторно запускало исходный запрос сеанса вместо отказа, вытягивая задачу, которая была неделю назад, на передний план.4632До версии 2.1.248 открытие такой строки вместо отказа повторно выполняло исходный промпт сессии, возвращая на передний план задачу многонедельной давности.

4612 4633 

4613<h3 id="worktree-has-commits-that-are-not-pushed-anywhere">4634<h3 id="worktree-has-commits-that-are-not-pushed-anywhere">

4614 Worktree имеет коммиты, которые не отправлены никуда4635 В worktree есть коммиты, которые никуда не отправлены

4615</h3>4636</h3>

4616 4637 

4617Вы попытались удалить [фоновый сеанс](/docs/ru/agent-view#what-deleting-a-session-removes), чей worktree содержит коммиты, которые Claude Code не может подтвердить, что они сохранены где-то ещё. Claude Code сохраняет worktree и строку сеанса вместо того, чтобы уничтожить коммиты без присмотра. `claude rm` называет ветвь и неотправленные коммиты и говорит, как действовать:4638Вы попытались удалить [фоновую сессию](/docs/ru/agent-view#what-deleting-a-session-removes), worktree которой содержит коммиты, сохранность которых где-либо ещё Claude Code не может подтвердить. Claude Code сохраняет worktree и строку сессии, а не уничтожает коммиты незаметно для вас. `claude rm` называет ветку и неотправленные коммиты и сообщает, как действовать дальше:

4618 4639 

4619```text theme={null}4640```text theme={null}

4620kept 7c5dcf5d — its worktree is still at "/home/you/project/.claude/worktrees/fix-login"4641kept 7c5dcf5d — its worktree is still at “/home/you/project/.claude/worktrees/fix-login”

4621 2 unpushed commits on "claude/fix-login": a1b2c3d "Fix login flow" and 1 more. They exist on no remote, so deleting the worktree would lose them.4642 2 unpushed commits on “claude/fix-login”: a1b2c3d “Fix login flow” and 1 more. They exist on no remote, so deleting the worktree would lose them.

4622 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef4643 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef

4623```4644```

4624 4645 

4625Когда Claude Code не может суммировать коммиты, сообщение читается `The worktree has unpushed commits` вместо этого. В [представлении агента](/docs/ru/agent-view) строка сеанса показывает `not deleted` с той же причиной.4646Если Claude Code не может составить сводку коммитов, строка с подробностями вместо этого гласит `The worktree has unpushed commits`. В [представлении агента](/docs/ru/agent-view) строка сессии показывает `not deleted` с той же причиной.

4626 4647 

4627Коммиты на удалённом хранилище не блокируют удаление. Также не блокируют коммиты на локальной копии ветви по умолчанию вашего удалённого хранилища `origin`, пока эта ветвь проверена в вашей основной проверке, в самом каталоге репозитория, а не в worktree.4648Коммиты, находящиеся в удалённом репозитории, не блокируют удаление. Не блокируют его и коммиты в локальной копии ветки по умолчанию удалённого репозитория `origin`, если эта ветка извлечена в вашей основной рабочей копии, то есть в самом каталоге репозитория, а не в worktree.

4628 4649 

4629**Что делать:**4650**Что делать:**

4630 4651 

4631* Чтобы сохранить коммиты, отправьте ветвь worktree или объедините её в ветвь по умолчанию, проверенную в вашей основной проверке, затем удалите сеанс снова4652* Чтобы сохранить коммиты, отправьте ветку worktree или выполните её слияние с веткой по умолчанию, извлечённой в основной рабочей копии, затем снова удалите сессию

4632* Чтобы отклонить коммиты, запустите команду `claude rm <id> --discard-unpushed`, которую выводит сообщение, или нажмите `Ctrl+X` дважды на строке сеанса в представлении агента снова. Это удаляет сеанс и worktree вместе с его ветвью, неотправленными коммитами и любыми незафиксированными изменениями. Если worktree получил коммит с момента отказа, Claude Code сохраняет его снова и показывает обновленное состояние4653* Чтобы отбросить коммиты, выполните команду `claude rm <id> --discard-unpushed`, выведенную в сообщении, или снова дважды нажмите `Ctrl+X` на строке сессии в представлении агента. Это удаляет сессию и worktree вместе с его веткой, неотправленными коммитами и любыми незакоммиченными изменениями. Если после отказа в worktree появился новый коммит, Claude Code снова сохраняет его и показывает обновлённое состояние

4633* Когда сообщение говорит, что worktree также записан другим завершённым сеансом, удаление снова не отклоняет его: отправьте коммиты, затем удалите сеанс снова4654* Если в сообщении сказано, что worktree также записан за другой завершённой сессией, повторное удаление не отбрасывает его: отправьте коммиты, затем снова удалите сессию

4634 4655 

4635До версии 2.1.268 `claude rm` помещал сводку коммитов на саму строку `kept`. Когда `claude rm` не мог суммировать коммиты, строка `kept` читалась `worktree has commits that are not pushed anywhere` вместо сводки.4656До версии 2.1.268 `claude rm` помещал сводку коммитов прямо в строку `kept`. Если `claude rm` не мог составить сводку коммитов, строка `kept` вместо сводки гласила `worktree has commits that are not pushed anywhere`.

4636 4657 

4637До версии 2.1.260 сообщение не называло ветвь или коммиты, и удаление снова отклонялось так же: удаление сеанса без отправки означало удаление worktree самостоятельно с помощью `git worktree remove --force <path>`, затем запуск `claude rm <id>` снова.4658До версии 2.1.260 сообщение не называло ветку и коммиты, а повторное удаление отклонялось точно так же: чтобы удалить сессию без отправки коммитов, нужно было самостоятельно удалить worktree командой `git worktree remove --force <path>`, а затем снова выполнить `claude rm <id>`.

4638 4659 

4639До версии 2.1.248 ветвь по умолчанию, проверенная в вашей основной проверке, не считалась: ветвь, которую вы уже объединили там, всё ещё вызывала этот отказ, пока её коммиты не достигали удалённого хранилища.4660До версии 2.1.248 ветка по умолчанию, извлечённая в основной рабочей копии, не учитывалась: ветка, слияние которой вы уже там выполнили, всё равно вызывала этот отказ, пока её коммиты не попадали в удалённый репозиторий.

4640 4661 

4641<h3 id="terminal-host-process-died">4662<h3 id="terminal-host-process-died">

4642 Процесс хоста терминала умер4663 Процесс хоста терминала завершился аварийно

4643</h3>4664</h3>

4644 4665 

4645Каждый терминал [фонового сеанса](/docs/ru/agent-view) работает в процессе хоста под фоновой службой, и этот процесс умер, пока служба всё ещё держала его соединение, поэтому сеанс не мог быть достигнут.4666Терминал каждой [фоновой сессии](/docs/ru/agent-view) работает в процессе хоста под управлением фоновой службы, и этот процесс завершился аварийно, пока служба ещё удерживала соединение с ним, поэтому сессия стала недоступна.

4646 4667 

4647На Linux и WSL фоновая служба проверяет каждый процесс хоста каждые несколько секунд, отмечает сеанс как неудачный, когда процесс вышел, но его соединение со службой никогда не закрывалось, и показывает причину на его строке в [представлении агента](/docs/ru/agent-view#read-session-state):4668В Linux и WSL фоновая служба проверяет каждый процесс хоста раз в несколько секунд, помечает сессию как сбойную, если процесс завершился, а его соединение со службой так и не закрылось, и показывает причину в строке сессии в [представлении агента](/docs/ru/agent-view#read-session-state):

4648 4669 

4649```text theme={null}4670```text theme={null}

4650terminal host process died — press Enter to restart4671terminal host process died — press Enter to restart

4651```4672```

4652 4673 

4653Из оболочки `claude attach <id>` перезапускает сеанс, уже отмеченный как неудачный для мёртвого хоста, и в противном случае выводит причину и выходит:4674Из оболочки `claude attach <id>` перезапускает сессию, уже помеченную как сбойную из-за завершившегося хоста, а в противном случае выводит причину и завершается:

4654 4675 

4655```text theme={null}4676```text theme={null}

4656Couldn't attach to <id> — This session's terminal host process died (the conversation is saved) — run `claude attach <id>` again to restart it on a fresh host.4677Couldn't attach to <id> — This session's terminal host process died (the conversation is saved) — run `claude attach <id>` again to restart it on a fresh host.

4657```4678```

4658 4679 

4659Разговор сохраняется в любом случае.4680Диалог в любом случае сохраняется.

4660 4681 

4661Строка, работающая с [командой оболочки](/docs/ru/agent-view#run-a-shell-command) вместо этого, показывает `terminal host process died — its output is gone; the command was not run again`, и `claude attach` выводит `This command's terminal host process died — its output is gone and the command was not run again`. Claude Code никогда не повторно запускает команду для вас.4682Строка, в которой вместо этого выполняется [shell-команда](/docs/ru/agent-view#run-a-shell-command), показывает `terminal host process died — its output is gone; the command was not run again`, а `claude attach` выводит `This command's terminal host process died — its output is gone and the command was not run again`. Claude Code никогда не перезапускает команду за вас.

4662 4683 

4663**Что делать:**4684**Что делать:**

4664 4685 

4665* В представлении агента нажмите `Enter` на неудачной строке; сеанс перезапускается на свежем процессе хоста и разговор возобновляется4686* В представлении агента нажмите `Enter` на сбойной строке; сессия перезапустится в новом процессе хоста, и диалог возобновится

4666* Из оболочки запустите `claude attach <id>` снова. Claude Code выводит `Session <id>'s terminal host died — restarting it on a fresh one…` и повторно открывает сеанс4687* Из оболочки снова выполните `claude attach <id>`. Claude Code выведет `Session <id>'s terminal host died — restarting it on a fresh one…` и заново откроет сессию

4667* Вы не можете перезапустить строку shell-command таким образом; отправьте команду снова для её повторного запуска4688* Строку с shell-командой так перезапустить нельзя; чтобы выполнить команду повторно, запустите её снова

4668 4689 

4669До версии 2.1.247 мёртвый процесс хоста мог пройти каждую проверку живучести, которую запускала фоновая служба, поэтому открытие сеанса показывало `opening… · esc to cancel` бесконечно и `claude attach <id>` ждал без сообщения об ошибке.4690До версии 2.1.247 завершившийся процесс хоста мог проходить все проверки работоспособности, выполняемые фоновой службой, поэтому при открытии сессии бесконечно показывалось `opening… · esc to cancel`, а `claude attach <id>` ожидал, не сообщая об ошибке.

4670 4691 

4671<h3 id="session-isnt-responding">4692<h3 id="session-isnt-responding">

4672 Сеанс не отвечает4693 Сессия не отвечает

4673</h3>4694</h3>

4674 4695 

4675Вы открыли [фоновый сеанс](/docs/ru/agent-view) и фоновая служба приняла открытие, но никакой выход не прибыл примерно за десять секунд, поэтому Claude Code заключает, что процесс, передающий терминал сеанса, не может доставить выход, и заканчивает попытку вместо ожидания.4696Вы открыли [фоновую сессию](/docs/ru/agent-view), и фоновая служба приняла запрос на открытие, но вывод не поступал около десяти секунд, поэтому Claude Code заключает, что процесс, передающий терминал сессии, не может доставить вывод, и прекращает попытку вместо ожидания.

4676 4697 

4677В представлении агента Claude Code предлагает перезапуск в нижнем колонтитуле:4698В представлении агента Claude Code предлагает перезапуск в нижней строке:

4678 4699 

4679```text theme={null}4700```text theme={null}

4680Press enter again to restart this session — it isn't responding (its conversation is saved and resumes).4701Press enter again to restart this session — it isn't responding (its conversation is saved and resumes).

4681```4702```

4682 4703 

4683Из оболочки `claude attach <id>` выводит причину и выходит:4704Из оболочки `claude attach <id>` выводит причину и завершается:

4684 4705 

4685```text theme={null}4706```text theme={null}

4686Couldn't attach to <id> — Session isn't responding — `claude stop <id>`, then `claude attach <id>` restarts it (the conversation is saved).4707Couldn't attach to <id> — Session isn't responding — `claude stop <id>`, then `claude attach <id>` restarts it (the conversation is saved).

4687```4708```

4688 4709 

4689Claude Code никогда не перезапускает строку, работающую с [командой оболочки](/docs/ru/agent-view#run-a-shell-command) для вас, потому что перезапуск запустил бы команду снова.4710Claude Code никогда не перезапускает за вас строку, в которой выполняется [shell-команда](/docs/ru/agent-view#run-a-shell-command), потому что перезапуск выполнил бы команду повторно.

4690 4711 

4691**Что делать:**4712**Что делать:**

4692 4713 

4693* В представлении агента нажмите `Enter` на той же строке снова. Claude Code останавливает неответивший процесс и перезапускает сеанс, и разговор возобновляется. Ничего не останавливается без этого второго нажатия4714* В представлении агента снова нажмите `Enter` на той же строке. Claude Code остановит не отвечающий процесс и перезапустит сессию, и диалог возобновится. Без этого второго нажатия ничего не останавливается

4694* Из оболочки запустите `claude stop <id>`, затем `claude attach <id>`4715* Из оболочки выполните `claude stop <id>`, затем `claude attach <id>`

4695* Для строки shell-command нажмите `Ctrl+X` в представлении агента или запустите `claude stop <id>` для её остановки; отправьте команду снова для её повторного запуска4716* Для строки с shell-командой нажмите `Ctrl+X` в представлении агента или выполните `claude stop <id>`, чтобы остановить её; чтобы выполнить команду повторно, запустите её снова

4696 4717 

4697<h3 id="session-was-stopped-while-the-respawn-was-in-flight">4718<h3 id="session-was-stopped-while-the-respawn-was-in-flight">

4698 Сеанс был остановлен, пока перезапуск был в полёте4719 Сессия была остановлена во время перезапуска

4699</h3>4720</h3>

4700 4721 

4701Вы открыли [фоновый сеанс](/docs/ru/agent-view), чей процесс не работал, и пока Claude Code его перезапускал, другой процесс Claude Code остановил его, например `claude stop` в другом терминале. Claude Code держит сеанс остановленным:4722Вы открыли [фоновую сессию](/docs/ru/agent-view), процесс которой не работал, и пока Claude Code её перезапускал, другой процесс Claude Code остановил её, например `claude stop` в другом терминале. Claude Code оставляет сессию остановленной:

4702 4723 

4703```text theme={null}4724```text theme={null}

4704Session <id> was stopped while the respawn was in flight4725Session <id> was stopped while the respawn was in flight

4705```4726```

4706 4727 

4707Открытие сеанса, который вы только что отправили, пока его процесс всё ещё запускается, ждёт процесса вместо этого. До версии 2.1.246 открытие его в этот момент могло остановить его и показать это сообщение.4728При открытии только что запущенной сессии, процесс которой ещё стартует, Claude Code вместо этого ожидает процесс. До версии 2.1.246 открытие сессии в этот момент могло остановить её и вывести это сообщение.

4708 4729 

4709**Что делать:**4730**Что делать:**

4710 4731 

4711* Если вы не остановили сеанс, откройте его строку снова в представлении агента или запустите `claude respawn <id>` для его перезапуска4732* Если вы не останавливали сессию, снова откройте её строку в представлении агента или выполните `claude respawn <id>`, чтобы перезапустить её

4712* Если вы остановили его сами, ничего не остаётся делать: сеанс остаётся остановленным4733* Если вы остановили её сами, ничего делать не нужно: сессия остаётся остановленной

4713 4734 

4714<h3 id="session-agent-no-longer-available">4735<h3 id="session-agent-no-longer-available">

4715 Агент сеанса больше не доступен4736 Агент сессии больше недоступен

4716</h3>4737</h3>

4717 4738 

4718Вы возобновили сеанс, который работал [пользовательским агентом](/docs/ru/sub-agents#invoke-subagents-explicitly), запущенным с `--agent` или параметром `agent`, и Claude Code не нашёл агента с таким именем. Он сначала ищет в исходном каталоге сеанса, когда вы [доверили это рабочее пространство](/docs/ru/permissions#project-allow-rules-and-workspace-trust), затем в каталоге, из которого вы возобновляете. Сеанс всё ещё возобновляется, но с инструментами по умолчанию, поэтому ограничения инструментов агента больше не применяются:4739Вы возобновили сессию, в которой работал [пользовательский агент](/docs/ru/sub-agents#invoke-subagents-explicitly), запущенный с `--agent` или настройкой `agent`, и Claude Code не нашёл агента с таким именем. Сначала он ищет в исходном каталоге сессии, если вы [доверяете этому рабочему пространству](/docs/ru/permissions#project-allow-rules-and-workspace-trust), затем в каталоге, из которого вы возобновляете сессию. Сессия всё равно возобновляется, но с инструментами по умолчанию, поэтому ограничения инструментов агента больше не действуют:

4719 4740 

4720```text theme={null}4741```text theme={null}

4721This session was running agent 'code-reviewer', which is no longer available (no agent by that name in /home/you/project). Continuing with the default tools and system prompt — the agent's tool restrictions no longer apply. To restore it, re-create the agent, or resume with an explicit --agent <name>.4742This session was running agent 'code-reviewer', which is no longer available (no agent by that name in /home/you/project). Continuing with the default tools and system prompt — the agent's tool restrictions no longer apply. To restore it, re-create the agent, or resume with an explicit --agent <name>.

4722```4743```

4723 4744 

4724Предупреждение называет только каталоги, которые Claude Code искал, и оно появляется в возобновленном разговоре, пробудите ли вы [фоновый сеанс](/docs/ru/agent-view), запустите `/resume` или `claude --resume`, или возобновите в [неинтерактивном режиме](/docs/ru/headless), где оно также идёт в stderr. Сеансы, использующие `--input-format stream-json`, не показывают его, потому что Agent SDK поставляет агентов после запуска.4745Предупреждение называет только те каталоги, в которых искал Claude Code, и появляется в возобновлённом диалоге независимо от того, пробуждаете ли вы [фоновую сессию](/docs/ru/agent-view), выполняете `/resume` или `claude --resume` или возобновляете сессию в [неинтерактивном режиме](/docs/ru/headless), где оно также выводится в stderr. Сессии, использующие `--input-format stream-json`, его не показывают, потому что Agent SDK передаёт агентов после запуска.

4725 4746 

4726Claude Code не сохраняет откат в сеанс, поэтому предупреждение повторяется при каждом возобновлении, пока вы не действуете. Встроенный агент `claude` не вызывает предупреждение, так как откат к инструментам по умолчанию ничего не меняет для него. До версии 2.1.216 Claude Code молча продолжал как агент по умолчанию, и поиск охватывал только каталог, из которого вы возобновляли, поэтому агент, ограниченный проектом, был потерян при любом возобновлении из другого каталога.4747Claude Code не сохраняет резервный вариант в сессии, поэтому предупреждение повторяется при каждом возобновлении, пока вы не примете меры. Встроенный агент `claude` не вызывает предупреждения, поскольку переключение на набор инструментов по умолчанию для него ничего не меняет. До версии 2.1.216 Claude Code молча продолжал работу с агентом по умолчанию, а поиск охватывал только каталог, из которого вы возобновляли сессию, поэтому агент уровня проекта терялся при любом возобновлении из другого каталога.

4727 4748 

4728**Что делать:**4749**Что делать:**

4729 4750 

4730* Пересоздайте файл агента в `.claude/agents/<name>.md` в проекте сеанса или в `~/.claude/agents/<name>.md` для личного агента, затем возобновите снова4751* Создайте заново файл агента в `.claude/agents/<name>.md` в проекте сессии или в `~/.claude/agents/<name>.md` для личного агента, затем снова возобновите сессию

4731* Или возобновите с `--agent <name>`, называя агента, который действительно существует, для запуска сеанса как этого агента вместо этого4752* Или возобновите сессию с `--agent <name>`, указав существующего агента, чтобы запустить сессию с этим агентом

4732* Если агент ограничен проектом и вы не доверили исходному каталогу сеанса, запустите Claude Code там один раз, примите диалог доверия, затем возобновите снова4753* Если агент относится к уровню проекта и вы не доверяете исходному каталогу сессии, один раз запустите там Claude Code, примите диалоговое окно доверия, затем снова возобновите сессию

4733 4754 

4734<h3 id="claude_code_process_wrapper-launcher-errors">4755<h3 id="claude_code_process_wrapper-launcher-errors">

4735 Ошибки средства запуска CLAUDE\_CODE\_PROCESS\_WRAPPER4756 Ошибки средства запуска CLAUDE\_CODE\_PROCESS\_WRAPPER

4736</h3>4757</h3>

4737 4758 

4738[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/ru/corporate-launcher) установлен, и его значение не может быть использовано, поэтому Claude Code отказывает в запуске затронутого процесса вместо того, чтобы запустить его без средства запуска. Проблемы конфигурации сообщаются сообщением, которое начинается с имени переменной и указывает причину, например:4759Переменная [`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/ru/corporate-launcher) задана, но её значение нельзя использовать, поэтому Claude Code отказывается запускать затронутый процесс, а не запускает его без средства запуска. О проблемах конфигурации сообщается сообщением, которое начинается с имени переменной и указывает причину, например:

4739 4760 

4740```text theme={null}4761```text theme={null}

4741CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file4762CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file

4742```4763```

4743 4764 

4744Средство запуска, которое запускается, но выходит без замены себя на Claude Code, не удаётся сеансу, который оно запускало, и строка сеанса в представлении агента сообщает, что средство запуска `must exec, not daemonize`, за которым следует всё, что выводило средство запуска. Сеанс, который не может запуститься или достичь фоновую службу из-за средства запуска, сообщает проблему средства запуска как причину внутри `Couldn't reach the background service (...)`.4765Если средство запуска стартует, но завершается, не заменив себя на Claude Code, запускаемая им сессия завершается сбоем, и строка сессии в представлении агента сообщает, что средство запуска `must exec, not daemonize`, а затем всё, что оно вывело. Сессия, которая не может запуститься или связаться с фоновой службой из-за средства запуска, сообщает о проблеме со средством запуска как о причине внутри `Couldn't reach the background service (...)`.

4745 4766 

4746**Что делать:**4767**Что делать:**

4747 4768 

4748* Установите переменную на абсолютный путь исполняемого файла, который заканчивается вызовом `exec "$@"`. Смотрите [контракт средства запуска](/docs/ru/corporate-launcher#the-launcher-contract) для полного контракта4769* Задайте в переменной абсолютный путь к исполняемому файлу, который завершается вызовом `exec "$@"`. Полное описание см. в разделе [контракт средства запуска](/docs/ru/corporate-launcher#the-launcher-contract)

4749* Проверьте `/status`, который показывает разрешённую команду запуска в его записи Self-exec и предупреждает, когда работающая фоновая служба не совпадает с ней, или запустите `claude daemon status` из оболочки4770* Проверьте `/status`, который показывает разрешённую команду запуска в записи Self-exec и предупреждает, если работающая фоновая служба ей не соответствует, или выполните `claude daemon status` из оболочки

4750* После исправления значения в блоке `env` [параметров](/docs/ru/corporate-launcher#set-up-the-launcher), перезапустите фоновую службу с помощью `claude daemon stop --any`, чтобы следующая отправка запустила завёрнутую4771* После исправления значения в блоке `env` [настроек](/docs/ru/corporate-launcher#set-up-the-launcher) перезапустите фоновую службу командой `claude daemon stop --any`, чтобы при следующем запуске стартовала служба с обёрткой

4751 4772 

4752<h3 id="eunknown-when-starting-a-background-session">4773<h3 id="eunknown-when-starting-a-background-session">

4753 EUNKNOWN при запуске фонового сеанса4774 EUNKNOWN при запуске фоновой сессии

4754</h3>4775</h3>

4755 4776 

4756Windows отказала в запуске программы с кодом ошибки, который не имеет стандартного имени, поэтому сбой появляется как `EUNKNOWN`. Обычный триггер — это политика ограничения программного обеспечения, такая как Group Policy или AppLocker, блокирующая запускаемую программу. Ошибка появляется, когда вы запускаете [фоновый сеанс](/docs/ru/agent-view) с `/background` или `claude --bg`:4777Windows отказалась запускать программу с кодом ошибки, не имеющим стандартного имени, поэтому сбой отображается как `EUNKNOWN`. Обычно причина в политике ограничения программ, например Group Policy или AppLocker, которая блокирует запускаемую программу. Ошибка появляется при запуске [фоновой сессии](/docs/ru/agent-view) с помощью `/background` или `claude --bg`:

4757 4778 

4758```text theme={null}4779```text theme={null}

4759Couldn't reach the background service (spawn background service: EUNKNOWN: unknown error, uv_spawn) — run 'claude daemon status'4780Couldn't reach the background service (spawn background service: EUNKNOWN: unknown error, uv_spawn) — run 'claude daemon status'

4760```4781```

4761 4782 

4762На некоторых учётных записях сообщение говорит `daemon` вместо `background service`.4783В некоторых учётных записях в сообщении вместо `background service` указано `daemon`.

4763 4784 

4764При установке npm ошибка `EUNKNOWN`, которая появляется, пока `npm install -g @anthropic-ai/claude-code` заменяет двоичный файл, имеет ту же причину, что и [`EACCES` при переустановке](#eacces-when-starting-a-background-session) и очищается, когда вы повторяете попытку после завершения установки.4785При установке через npm ошибка `EUNKNOWN`, возникающая, пока `npm install -g @anthropic-ai/claude-code` заменяет двоичный файл, имеет ту же причину, что и [`EACCES` при переустановке](#eacces-when-starting-a-background-session), и исчезает, если повторить попытку после завершения установки.

4765 4786 

4766Claude Code запускает фоновую службу через PowerShell, чтобы служба пережила закрытие терминала, используя PowerShell 7, когда он установлен, и Windows PowerShell 5.1 в противном случае. Когда ни один PowerShell не может работать, Claude Code запускает службу напрямую вместо этого, поэтому политика, которая блокирует только PowerShell, не вызывает эту ошибку.4787Claude Code запускает фоновую службу через PowerShell, чтобы служба продолжала работать после закрытия терминала, используя PowerShell 7, если он установлен, и Windows PowerShell 5.1 в противном случае. Если ни одна версия PowerShell не может запуститься, Claude Code запускает службу напрямую, поэтому политика, блокирующая только PowerShell, не вызывает эту ошибку.

4767 4788 

4768До версии 2.1.212 Claude Code использовал только Windows PowerShell 5.1 для запуска службы, поэтому любая машина, где Group Policy блокировал PowerShell 5.1, не удавалась с `Couldn't start the session — EUNKNOWN: unknown error, uv_spawn`, даже с установленным PowerShell 7.4789До версии 2.1.212 Claude Code использовал для запуска службы только Windows PowerShell 5.1, поэтому на любом компьютере, где Group Policy блокировала PowerShell 5.1, возникала ошибка `Couldn't start the session — EUNKNOWN: unknown error, uv_spawn`, даже при установленном PowerShell 7.

4769 4790 

4770**Что делать:**4791**Что делать:**

4771 4792 

4772* Если сообщение читается `Couldn't start the session`, обновитесь до версии 2.1.212 или позже. На более ранних версиях вы также можете запустить `claude daemon run` в отдельном терминале сначала, затем запустить фоновый сеанс снова. Эта команда запускает фоновую службу на переднем плане терминала, поэтому служба длится только столько, сколько этот терминал остаётся открытым.4793* Если в сообщении указано `Couldn't start the session`, обновитесь до версии 2.1.212 или новее. В более ранних версиях можно также сначала выполнить `claude daemon run` в отдельном терминале, а затем снова запустить фоновую сессию. Эта команда запускает фоновую службу на переднем плане терминала, поэтому служба работает только до тех пор, пока этот терминал открыт.

4773* Если установка npm заменяла двоичный файл, дождитесь её завершения, затем запустите фоновый сеанс снова4794* Если установка через npm заменяла двоичный файл, дождитесь её завершения, затем снова запустите фоновую сессию

4774* Если ошибка появляется в версии 2.1.212 или позже, пока не запущена установка npm, проверьте с администратором Windows, блокирует ли политика ограничения исполняемый файл Claude Code4795* Если ошибка появляется в версии 2.1.212 или новее, когда установка через npm не выполняется, уточните у администратора Windows, не блокирует ли политика ограничения исполняемый файл Claude Code

4775* Если фоновая служба останавливается при закрытии терминала, Claude Code запустил её без PowerShell. Установите PowerShell 7 или попросите администратора разблокировать PowerShell, чтобы служба могла пережить терминал.4796* Если фоновая служба останавливается при закрытии терминала, значит Claude Code запустил её без PowerShell. Установите PowerShell 7 или попросите администратора разблокировать PowerShell, чтобы служба могла работать после закрытия терминала.

4776 4797 

4777<h3 id="eacces-when-starting-a-background-session">4798<h3 id="eacces-when-starting-a-background-session">

4778 EACCES при запуске фонового сеанса4799 EACCES при запуске фоновой сессии

4779</h3>4800</h3>

4780 4801 

4781Claude Code не мог запустить свой собственный двоичный файл для запуска [фоновой службы](/docs/ru/agent-view#the-supervisor-process), которая размещает фоновые сеансы. При установке npm это обычно означает, что `npm install -g @anthropic-ai/claude-code` заменял двоичный файл в этот момент, запустили ли вы его или [автоматическое обновление](/docs/ru/setup#auto-updates) сделало это. Ошибка появляется, когда вы открываете сеанс из [представления агента](/docs/ru/agent-view):4802Claude Code не смог запустить собственный двоичный файл, чтобы запустить [фоновую службу](/docs/ru/agent-view#the-supervisor-process), в которой работают фоновые сессии. При установке через npm это обычно означает, что в этот момент `npm install -g @anthropic-ai/claude-code` заменял двоичный файл, независимо от того, запустили ли его вы или [автообновление](/docs/ru/setup#auto-updates). Ошибка появляется, когда вы открываете сессию из [представления агента](/docs/ru/agent-view):

4782 4803 

4783```text theme={null}4804```text theme={null}

4784Couldn't start the background service — spawn background service: EACCES: permission denied, posix_spawn '/usr/local/lib/node_modules/@anthropic-ai/claude-code/bin/claude'4805Couldn't start the background service — spawn background service: EACCES: permission denied, posix_spawn '/usr/local/lib/node_modules/@anthropic-ai/claude-code/bin/claude'

4785```4806```

4786 4807 

4787Когда вы запускаете сеанс с `/background` или `claude --bg`, та же причина появляется внутри `Couldn't reach the background service (...)`. Во время того же окна переустановки ошибка может называть другой код вместо этого, например `ENOENT` или `ENOEXEC`, или `EUNKNOWN` или `EPERM` на Windows; `EUNKNOWN`, который сохраняется при повторных попытках, имеет [другую причину](#eunknown-when-starting-a-background-session).4808Когда вы запускаете сессию с помощью `/background` или `claude --bg`, та же причина появляется внутри `Couldn't reach the background service (...)`. В тот же период переустановки ошибка может называть другой код, например `ENOENT` или `ENOEXEC`, либо `EUNKNOWN` или `EPERM` в Windows; у ошибки `EUNKNOWN`, которая сохраняется при повторных попытках, [другая причина](#eunknown-when-starting-a-background-session).

4788 4809 

4789При установке npm Claude Code ждёт завершения переустановки и повторяет попытку самостоятельно: до десяти секунд и до двух минут, пока установка npm Claude Code явно всё ещё работает на машине, что охватывает другой процесс Claude Code, загружающий обновление. Когда установка превышает это ожидание, сбой называет обновление вместо простого кода ошибки:4810При установке через npm Claude Code ожидает завершения переустановки и сам повторяет попытку: до десяти секунд, а пока на компьютере заметно продолжается установка Claude Code через npm — до двух минут, что покрывает случай, когда другой процесс Claude Code загружает обновление. Если установка длится дольше этого ожидания, сообщение о сбое называет обновление вместо голого кода ошибки:

4790 4811 

4791```text theme={null}4812```text theme={null}

4792Claude Code is being updated by npm on this machine (still not runnable after 2 min, EACCES) — try again when the update finishes4813Claude Code is being updated by npm on this machine (still not runnable after 2 min, EACCES) — try again when the update finishes

4793```4814```

4794 4815 

4795До версии 2.1.257 ожидание остановилось в десять секунд в каждом случае, поэтому эта ошибка появилась, пока другой процесс Claude Code всё ещё загружал обновление. До версии 2.1.246 Claude Code не удавался сразу же, без ожидания.4816До версии 2.1.257 ожидание во всех случаях прекращалось через десять секунд, поэтому эта ошибка появлялась, пока другой процесс Claude Code ещё загружал обновление. До версии 2.1.246 Claude Code сразу завершался сбоем без ожидания.

4796 4817 

4797**Что делать:**4818**Что делать:**

4798 4819 

4799* Подождите несколько секунд, затем откройте сеанс или отправьте снова. Когда сообщение говорит, что Claude Code обновляется, повторите попытку после завершения обновления.4820* Подождите несколько секунд, затем снова откройте сессию или запустите её. Если в сообщении сказано, что Claude Code обновляется, повторите попытку после завершения обновления.

4800* Если ошибка сохраняется, пока не запущена установка npm, ваш пользователь не может запустить установленный двоичный файл. Проверьте его разрешения и его каталога, или переустановите Claude Code.4821* Если ошибка сохраняется, когда установка через npm не выполняется, ваш пользователь не может запустить установленный двоичный файл. Проверьте права доступа к нему и к его каталогу или переустановите Claude Code.

4801 4822 

4802<h3 id="background-service-exited-before-it-became-reachable">4823<h3 id="background-service-exited-before-it-became-reachable">

4803 Фоновая служба вышла до того, как стала доступной4824 Фоновая служба завершилась, прежде чем стала доступна

4804</h3>4825</h3>

4805 4826 

4806Процесс, который Claude Code запустил как [фоновую службу](/docs/ru/agent-view#the-supervisor-process), вышел до того, как он принял соединения, поэтому Claude Code не мог открыть ваш сеанс. Когда служба выводила ошибку перед выходом, причина в скобках даёт код выхода или сигнал и первую строку, которую служба выводила, которая называет то, что её остановило:4827Процесс, который Claude Code запустил в качестве [фоновой службы](/docs/ru/agent-view#the-supervisor-process), завершился, прежде чем начал принимать соединения, поэтому Claude Code не смог открыть вашу сессию. Если служба перед завершением вывела ошибку, причина в скобках содержит код выхода или сигнал и первую выведенную службой строку, которая называет, что её остановило:

4807 4828 

4808```text theme={null}4829```text theme={null}

4809Couldn't reach the background service (background service exited before it became reachable (exit code N): <the service's first error line>) — run 'claude daemon status'4830Couldn't reach the background service (background service exited before it became reachable (exit code N): <the service's first error line>) — run 'claude daemon status'

4810```4831```

4811 4832 

4812Когда вы открываете сеанс из [представления агента](/docs/ru/agent-view), та же причина следует `Couldn't start the background service —`. Когда служба ничего не выводила перед выходом, сообщение говорит `nothing on stderr` вместо этого.4833Когда вы открываете сессию из [представления агента](/docs/ru/agent-view), та же причина следует за `Couldn't start the background service —`. Если служба перед завершением ничего не вывела, в сообщении вместо этого указано `nothing on stderr`.

4813 4834 

4814Claude Code сообщает об ошибке с линией ошибки службы. До версии 2.1.246 ошибка появлялась только после ожидания в 45 секунд, как `background service did not become reachable within 45s`, без линии ошибки службы.4835Claude Code сообщает о сбое вместе со строкой ошибки службы. До версии 2.1.246 сбой проявлялся только после 45-секундного ожидания в виде `background service did not become reachable within 45s`, без строки ошибки службы.

4815 4836 

4816Две цитируемые причины имеют известные причины:4837У двух приводимых причин есть известные источники:

4817 4838 

4818* `Error: claude native binary not installed.`: установка npm заменяла двоичный файл Claude Code в этот момент, поэтому служба запускала заполнитель npm вместо этого. Повторите попытку после завершения установки; если строка сохраняется без запущенной установки, [завершите установку npm](/docs/ru/troubleshoot-install#native-binary-not-found-after-npm-install). До версии 2.1.257 самообновление npm на macOS производило эту ошибку при каждом запуске во время окна установки.4839* `Error: claude native binary not installed.`: в этот момент установка через npm заменяла двоичный файл Claude Code, поэтому служба запустила заглушку npm. Повторите попытку после завершения установки; если строка сохраняется, когда установка не выполняется, [завершите установку через npm](/docs/ru/troubleshoot-install#native-binary-not-found-after-npm-install). До версии 2.1.257 самообновление через npm в macOS вызывало этот сбой при каждом запуске во время установки.

4819* `nothing on stderr` с кодом выхода 1, при каждом запуске, на Windows: `daemon.lock` называет процесс, который Claude Code не может ни сигнализировать, ни доказать, что он ушёл, поэтому каждая новая служба заключает, что другая держит блокировку и выходит. Блокировка, чей писатель Claude Code может доказать, что ушёл, заменяется самостоятельно и не производит эту ошибку. Когда ошибка повторяется при каждом запуске, удалите `~/.claude/daemon.lock`, затем откройте сеанс или отправьте снова. До версии 2.1.257 такая блокировка блокировала каждый запуск, пока вы не удалили файл.4840* `nothing on stderr` с кодом выхода 1 при каждом запуске в Windows: `daemon.lock` указывает на процесс, которому Claude Code не может отправить сигнал и завершение которого не может подтвердить, поэтому каждая новая служба решает, что блокировку удерживает другая служба, и завершается. Блокировка, записавший которую процесс Claude Code может признать завершённым, заменяется автоматически и не вызывает этого сбоя. Если сбой повторяется при каждом запуске, удалите `~/.claude/daemon.lock`, затем снова откройте сессию или запустите её. До версии 2.1.257 такая блокировка препятствовала каждому запуску, пока вы не удаляли файл.

4820 4841 

4821**Что делать:**4842**Что делать:**

4822 4843 

4823* Если сообщение цитирует строку, исправьте то, что она называет, затем откройте сеанс или отправьте снова. Следующая попытка запускает службу снова4844* Если в сообщении приведена строка, устраните указанную в ней проблему, затем снова откройте сессию или запустите её. Следующая попытка снова запустит службу

4824* Запустите `claude daemon status` для проверки, работает ли служба сейчас4845* Выполните `claude daemon status`, чтобы проверить, работает ли служба сейчас

4825 4846 

4826<h3 id="working-directory-no-longer-exists-when-starting-a-background-session">4847<h3 id="working-directory-no-longer-exists-when-starting-a-background-session">

4827 Рабочий каталог больше не существует при запуске фонового сеанса4848 Рабочий каталог больше не существует при запуске фоновой сессии

4828</h3>4849</h3>

4829 4850 

4830Вы попытались запустить [фоновый сеанс](/docs/ru/agent-view) в каталоге, который больше не существует. Claude Code не запускает сеанс, и сообщение называет отсутствующий каталог:4851Каталог, в котором вы запустили [фоновую сессию](/docs/ru/agent-view), был удалён во время запуска сессии. Claude Code не запускает сессию, а сообщение называет отсутствующий каталог:

4831 4852 

4832```text theme={null}4853```text theme={null}

4833Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)4854Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)

4834```4855```

4835 4856 

4836До версии 2.1.257 сеанс казался запущенным и затем показывался в представлении агента как неудачная строка с той же причиной.4857До версии 2.1.257 сессия как будто запускалась, а затем отображалась в представлении агента как сбойная строка с той же причиной.

4837 4858 

4838До версии 2.1.281 это сообщение также появлялось, когда каталог уже был удалён до того, как вы запустили сеанс. Этот случай сообщает [`could not be resolved on disk`](#workspace-not-trusted-when-dispatching-a-background-session).4859До версии 2.1.281 это сообщение появлялось и в том случае, когда каталог был удалён ещё до запуска сессии. В этом случае выводится [`could not be resolved on disk`](#workspace-not-trusted-when-dispatching-a-background-session).

4839 4860 

4840**Что делать:**4861**Что делать:**

4841 4862 

4842* Пересоздайте каталог, который называет сообщение, или отправьте из каталога, который существует, затем попробуйте снова4863* Создайте заново каталог, указанный в сообщении, или запустите сессию из существующего каталога, затем повторите попытку

4843 4864 

4844<h3 id="workspace-not-trusted-when-dispatching-a-background-session">4865<h3 id="workspace-not-trusted-when-dispatching-a-background-session">

4845 Рабочее пространство не доверено при отправке фонового сеанса4866 Рабочее пространство не является доверенным при запуске фоновой сессии

4846</h3>4867</h3>

4847 4868 

4848Вы запустили или перезапустили [фоновый сеанс](/docs/ru/agent-view) в каталоге, которому вы не [доверили](/docs/ru/permissions#project-allow-rules-and-workspace-trust), и диалог доверия рабочего пространства не мог появиться, чтобы спросить вас. Claude Code не запускает сеанс:4869Вы запустили или перезапустили [фоновую сессию](/docs/ru/agent-view) в каталоге, которому вы не [доверяете](/docs/ru/permissions#project-allow-rules-and-workspace-trust), и диалоговое окно доверия рабочему пространству не смогло появиться, чтобы спросить вас. Claude Code не запускает сессию:

4849 4870 

4850```text theme={null}4871```text theme={null}

4851Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.4872Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.

4852```4873```

4853 4874 

4854Из терминала в собственном каталоге сеанса та же команда показывает диалог доверия вместо этого и запускает сеанс после того, как вы примете. Это сообщение появляется там, где диалог не может, например в скрипте, или когда вы перезапускаете сеанс из каталога, отличного от его собственного.4875Если выполнить ту же команду из терминала в собственном каталоге сессии, вместо этого появится диалоговое окно доверия, и сессия запустится после того, как вы его примете. Это сообщение появляется там, где диалоговое окно показать нельзя, например в скрипте или при перезапуске сессии из каталога, отличного от её собственного.

4876 

4877Два варианта указывают на другую причину:

4855 4878 

4856Два варианта называют другую причину:4879* **`The home directory is trusted one session at a time`**: каталог сессии — ваш домашний каталог. Claude Code никогда не сохраняет доверие для домашнего каталога, поэтому принятие диалогового окна там в одной из прошлых сессий не учитывается.

4880* **`<path> could not be resolved on disk`**: Claude Code не смог найти каталог сессии на диске.

4857 4881 

4858* **`The home directory is trusted one session at a time`**: каталог сеанса — это ваш домашний каталог. Claude Code никогда не сохраняет доверие для домашнего каталога, поэтому принятие диалога там в более раннем сеансе не считается.4882До версии 2.1.286 в Windows это сообщение также могло появляться в каталоге, которому вы уже доверяли, если запись о доверии была сохранена с путём в другом регистре букв. Обновитесь до версии 2.1.286 или новее.

4859* **`<path> could not be resolved on disk`**: Claude Code не мог найти каталог сеанса на диске.

4860 4883 

4861**Что делать:**4884**Что делать:**

4862 4885 

4863* Запустите `claude` в каталоге, который называет сообщение, и примите диалог доверия, затем запустите команду снова4886* Выполните `claude` в каталоге, указанном в сообщении, и примите диалоговое окно доверия, затем снова выполните команду

4864* Для сообщения о домашнем каталоге запустите команду из терминала в вашем домашнем каталоге, чтобы диалог мог появиться, или запустите сеанс из каталога проекта вместо этого4887* Для сообщения о домашнем каталоге выполните команду из терминала в домашнем каталоге, чтобы диалоговое окно могло появиться, или запустите сессию из каталога проекта

4865* Для сообщения `could not be resolved on disk` пересоздайте каталог или запустите новый сеанс из каталога, который существует4888* Для сообщения `could not be resolved on disk` создайте каталог заново или запустите новую сессию из существующего каталога

4866 4889 

4867<h2 id="wrapper-and-ide-errors">4890<h2 id="wrapper-and-ide-errors">

4868 Ошибки обёртки и IDE4891 Ошибки обёртки и IDE

hooks.md +4 −10

Details

731 Меню `/hooks`731 Меню `/hooks`

732</h3>732</h3>

733 733 

734Введите `/hooks` в Claude Code, чтобы открыть браузер только для чтения ваших настроенных hooks. Меню показывает каждое hook событие с количеством настроенных hooks, позволяет вам углубиться в фильтры и показывает полные детали каждого hook обработчика. Используйте его для проверки конфигурации, проверки того, из какого файла настроек пришёл hook, или проверки команды, подсказки или URL hook.734Введите `/hooks` в Claude Code, чтобы открыть браузер настроенных хуков, доступный только для чтения. В списке для каждого хука указано, откуда он взят: пользовательские настройки, настройки проекта, локальные настройки, плагин или текущая сессия.

735 735 

736Меню отображает все пять типов hook: `command`, `prompt`, `agent`, `http` и `mcp_tool`. Каждый hook помечен префиксом `[type]` и источником, указывающим, где он был определён:736Выберите хук, чтобы увидеть полный текст того, что он запускает, и где он определён, например путь к его файлу настроек или имя его плагина.

737 737 

738* `User Settings`: из `~/.claude/settings.json`738Чтобы просмотреть все события хуков, включая те, для которых хуки не настроены, выберите `All events` в конце списка.

739* `Project Settings`: из `.claude/settings.json`

740* `Local Settings`: из `.claude/settings.local.json`

741* `Plugin Hooks`: из `hooks/hooks.json` плагина

742* `Session Hooks`: зарегистрирован в памяти для текущего сеанса

743 

744Выбор hook открывает представление деталей, показывающее его событие, фильтр, тип, исходный файл и полную команду, подсказку или URL. Меню только для чтения: чтобы добавить, изменить или удалить hooks, отредактируйте JSON настроек напрямую или попросите Claude сделать изменение.

745 739 

746<h3 id="disable-or-remove-hooks">740<h3 id="disable-or-remove-hooks">

747 Отключение или удаление hooks741 Отключение или удаление hooks

748</h3>742</h3>

749 743 

750Чтобы удалить hook, удалите его запись из JSON файла настроек.744Чтобы удалить хук, определённый в файле настроек, удалите его запись из этого файла.

751 745 

752Чтобы временно отключить все hooks без их удаления, установите `"disableAllHooks": true` в файле настроек. Claude Code читает значение, оставшееся после применения [приоритета параметров](/docs/ru/settings#settings-precedence), поэтому `"disableAllHooks": false` в `.claude/settings.json` проекта переопределяет `true` в ваших пользовательских параметрах. Чтобы отключить hooks для одного запуска, независимо от того, что говорят параметры проекта, передайте `--settings '{"disableAllHooks": true}'`, что имеет приоритет над параметрами проекта и локальными параметрами. Нет способа отключить отдельный hook, сохраняя его в конфигурации.746Чтобы временно отключить все hooks без их удаления, установите `"disableAllHooks": true` в файле настроек. Claude Code читает значение, оставшееся после применения [приоритета параметров](/docs/ru/settings#settings-precedence), поэтому `"disableAllHooks": false` в `.claude/settings.json` проекта переопределяет `true` в ваших пользовательских параметрах. Чтобы отключить hooks для одного запуска, независимо от того, что говорят параметры проекта, передайте `--settings '{"disableAllHooks": true}'`, что имеет приоритет над параметрами проекта и локальными параметрами. Нет способа отключить отдельный hook, сохраняя его в конфигурации.

753 747 

hooks-guide.md +15 −12

Details

65 }65 }

66 ```66 ```

67 67 

68 Вы также можете попросить Claude написать hook для вас, описав то, что вы хотите, в CLI.68 Вы также можете попросить Claude написать хук за вас, описав то, что вы хотите, в CLI.

69 </Step>69 </Step>

70 70 

71 <Step title="Проверьте конфигурацию">71 <Step title="Проверьте конфигурацию">

72 Введите `/hooks` для открытия браузера hooks. Вы увидите список всех доступных событий hook с количеством рядом с каждым событием, которое имеет настроенные hooks. Выберите `Notification` для подтверждения того, что ваш новый hook появляется в списке. Выбор hook показывает его детали: событие, matcher, тип, исходный файл и команду.72 Введите `/hooks` в промпте Claude Code, чтобы открыть браузер хуков. Ваш новый хук появится в списке в разделе `Notification`.

73 </Step>73 </Step>

74 74 

75 <Step title="Протестируйте hook">75 <Step title="Протестируйте хук">

76 Нажмите `Esc` для возврата в CLI. Нажимайте `Shift+Tab` до тех пор, пока в строке состояния не появится `⏸ manual mode on`, попросите Claude сделать что-то, требующее разрешения, затем переключитесь с терминала. Вы должны получить уведомление на рабочем столе.76 Нажмите `Esc` для возврата в CLI. Нажимайте `Shift+Tab` до тех пор, пока в строке состояния не появится `⏸ manual mode on`, попросите Claude сделать что-то, требующее разрешения, затем переключитесь с терминала. Вы должны получить уведомление на рабочем столе.

77 </Step>77 </Step>

78</Steps>78</Steps>

79 79 

80<Tip>

81 Меню `/hooks` доступно только для чтения. Чтобы добавить, изменить или удалить hooks, отредактируйте JSON параметров напрямую или попросите Claude сделать изменение.

82</Tip>

83 

84<h2 id="what-you-can-automate">80<h2 id="what-you-can-automate">

85 Что вы можете автоматизировать81 Что вы можете автоматизировать

86</h2>82</h2>


97 93 

98Получайте уведомление на рабочем столе всякий раз, когда Claude завершает работу и требует вашего ввода, чтобы вы могли переключиться на другие задачи без проверки терминала.94Получайте уведомление на рабочем столе всякий раз, когда Claude завершает работу и требует вашего ввода, чтобы вы могли переключиться на другие задачи без проверки терминала.

99 95 

100Этот hook использует событие `Notification`, которое Claude Code срабатывает, когда Claude ждёт ввода или разрешения. См. [когда срабатывает каждый тип уведомления](/docs/ru/hooks#notification) для точного времени. Каждая вкладка ниже использует собственную команду уведомления платформы. Добавьте это в `~/.claude/settings.json`:96Этот хук использует событие `Notification`, которое Claude Code вызывает, когда Claude ждёт ввода или разрешения. Точное время см. в разделе [когда срабатывает каждый тип уведомления](/docs/ru/hooks#notification).

97 

98Каждая вкладка ниже использует собственную команду уведомлений платформы. Добавьте это в `~/.claude/settings.json`:

101 99 

102<Tabs>100<Tabs>

103 <Tab title="macOS">101 <Tab title="macOS">


120 ```118 ```

121 119 

122 <Accordion title="Если уведомление не появляется">120 <Accordion title="Если уведомление не появляется">

123 `osascript` маршрутизирует уведомления через встроенное приложение Script Editor. Если Script Editor не имеет разрешения на уведомления, команда молча не выполняется, и macOS не будет вас просить предоставить его. Запустите это в Terminal один раз, чтобы Script Editor появился в ваших параметрах уведомлений:121 `osascript` направляет уведомления через встроенное приложение Script Editor. Если у Script Editor нет разрешения на уведомления, команда молча завершается неудачей, и macOS не предложит вам предоставить его.

122 

123 Запустите это в Terminal один раз, чтобы Script Editor появился в ваших настройках уведомлений:

124 124 

125 ```bash theme={null}125 ```bash theme={null}

126 osascript -e 'display notification "test"'126 osascript -e 'display notification "test"'


179 }179 }

180 ```180 ```

181 181 

182 <Accordion title="Если диалог не появляется">182 <Accordion title="Если диалоговое окно не появляется">

183 Эта команда открывает диалоговое окно, а не уведомление в углу экрана, поэтому диалог может открыться позади окна терминала. Сначала протестируйте команду напрямую в PowerShell. Если вы запускаете Claude Code внутри WSL, `powershell.exe` должен быть доступен в вашем `PATH` через Windows interop.183 Эта команда открывает диалоговое окно, а не уведомление в углу экрана, поэтому окно может открыться позади окна терминала. Сначала протестируйте команду напрямую в PowerShell.

184 

185 Если вы запускаете Claude Code внутри WSL, `powershell.exe` должен быть доступен в вашем `PATH` через Windows interop.

184 </Accordion>186 </Accordion>

185 </Tab>187 </Tab>

186</Tabs>188</Tabs>


212 214 

213`agent_needs_input` для вопроса о настройке терминала товарища требует Claude Code v2.1.248 или позже.215`agent_needs_input` для вопроса о настройке терминала товарища требует Claude Code v2.1.248 или позже.

214 216 

215Введите `/hooks` и выберите `Notification`, чтобы подтвердить, что hook зарегистрирован. Для полной схемы события см. [справочник Notification](/docs/ru/hooks#notification).217Введите `/hooks` в промпте Claude Code и убедитесь, что хук отображается в разделе `Notification`.

216 218 

217<h3 id="auto-format-code-after-edits">219<h3 id="auto-format-code-after-edits">

218 Автоматическое форматирование кода после редактирования220 Автоматическое форматирование кода после редактирования


1055* Редактирования файлов обычно подхватываются автоматически. Если они не появились через несколько секунд, наблюдатель файлов мог пропустить изменение: перезагрузите сеанс для принудительной перезагрузки.1057* Редактирования файлов обычно подхватываются автоматически. Если они не появились через несколько секунд, наблюдатель файлов мог пропустить изменение: перезагрузите сеанс для принудительной перезагрузки.

1056* Убедитесь, что ваш JSON действителен: конечные запятые и комментарии не допускаются1058* Убедитесь, что ваш JSON действителен: конечные запятые и комментарии не допускаются

1057* Подтвердите, что файл параметров находится в правильном месте: `.claude/settings.json` для hooks проекта, `~/.claude/settings.json` для глобальных hooks1059* Подтвердите, что файл параметров находится в правильном месте: `.claude/settings.json` для hooks проекта, `~/.claude/settings.json` для глобальных hooks

1060* Если в меню отображается `Only hooks from managed settings run here`, ваша организация установила [`allowManagedHooksOnly`](/docs/ru/settings-reference#allowmanagedhooksonly). Хуки в ваших пользовательских, проектных и локальных файлах настроек не запускаются и не отображаются в списке

1058 1061 

1059<h3 id="stop-hook-hits-the-block-cap">1062<h3 id="stop-hook-hits-the-block-cap">

1060 Stop hook достигает предела блокировки1063 Stop hook достигает предела блокировки

Details

73 73 

74Потоковая передача ответов вывода. Claude Code читает поток по мере его поступления, поэтому если ваш шлюз буферизирует полные ответы перед их передачей, Claude Code зависает.74Потоковая передача ответов вывода. Claude Code читает поток по мере его поступления, поэтому если ваш шлюз буферизирует полные ответы перед их передачей, Claude Code зависает.

75 75 

76Доставляйте полную последовательность событий каждого ответа без пропусков, дублирования или переупорядочивания событий. Когда событие ссылается на блок контента, чей `content_block_start` никогда не прибыл, или на блок, чей `content_block_stop` уже прибыл, Claude Code прекращает чтение потока на этом событии вместо его применения, поэтому дублированный `content_block_stop` не может запустить один и тот же вызов инструмента дважды. [The response above may be incomplete](/docs/ru/errors#the-response-above-may-be-incomplete) описывает то, что видит пользователь, в вариантах `Part of the response never arrived` и `The response stream was malformed`.76Доставляйте полную последовательность событий каждого ответа без пропусков, дублирования или переупорядочивания событий. Когда guardrail Amazon Bedrock блокирует ответ, пересылайте отправляемые им события без изменений, даже если они ссылаются на блок контента, чей `content_block_stop` уже прибыл. [AWS Guardrails](/docs/ru/amazon-bedrock#aws-guardrails) описывает, как завершается такой ответ. Когда любое другое событие ссылается на блок контента, чей `content_block_start` никогда не прибыл, или на блок, чей `content_block_stop` уже прибыл, Claude Code прекращает чтение потока на этом событии вместо его применения, поэтому дублированный `content_block_stop` не может запустить один и тот же вызов инструмента дважды. [The response above may be incomplete](/docs/ru/errors#the-response-above-may-be-incomplete) описывает то, что видит пользователь, в вариантах `Part of the response never arrived` и `The response stream was malformed`.

77 77 

78Передавайте каждый ответ через его финальные события `message_delta` и `message_stop` перед завершением тела. Тело, которое заканчивается после `message_delta`, несущего `stop_reason`, без открытого блока контента и без события блока контента после этого кадра, считается полным даже когда `message_stop` отсутствует. Тело, которое ваш шлюз завершает чисто раньше, как только блок контента начался, рассматривается так же, как разорванное соединение: [Automatic retries](/docs/ru/errors#automatic-retries) говорит, когда Claude Code переиздаёт запрос, и [The response above may be incomplete](/docs/ru/errors#the-response-above-may-be-incomplete) охватывает то, что он сохраняет после появления видимого контента. Claude Code сохраняет `stop_reason`, который доставляет `message_delta`, поэтому более поздний `message_delta`, содержащий только использование, чей `delta` имеет `stop_reason: null` или не имеет ключа `stop_reason`, не очищает его.78Передавайте каждый ответ через его финальные события `message_delta` и `message_stop` перед завершением тела. Тело, которое заканчивается после `message_delta`, несущего `stop_reason`, без открытого блока контента и без события блока контента после этого кадра, считается полным даже когда `message_stop` отсутствует. Тело, которое ваш шлюз завершает чисто раньше, как только блок контента начался, рассматривается так же, как разорванное соединение: [Automatic retries](/docs/ru/errors#automatic-retries) говорит, когда Claude Code переиздаёт запрос, и [The response above may be incomplete](/docs/ru/errors#the-response-above-may-be-incomplete) охватывает то, что он сохраняет после появления видимого контента. Claude Code сохраняет `stop_reason`, который доставляет `message_delta`, поэтому более поздний `message_delta`, содержащий только использование, чей `delta` имеет `stop_reason: null` или не имеет ключа `stop_reason`, не очищает его.

79 79 

memory.md +16 −14

Details

50Рассматривайте CLAUDE.md как место, где вы записываете то, что иначе пришлось бы переобъяснять. Добавляйте в него, когда:50Рассматривайте CLAUDE.md как место, где вы записываете то, что иначе пришлось бы переобъяснять. Добавляйте в него, когда:

51 51 

52* Claude делает одну и ту же ошибку во второй раз52* Claude делает одну и ту же ошибку во второй раз

53* Проверка кода выявляет что-то, что Claude должен был знать об этой кодовой базе53* Код-ревью выявляет что-то, что Claude должен был знать об этой кодовой базе

54* Вы вводите одно и то же исправление или уточнение в чат, которое вводили в предыдущей сессии54* Вы вводите одно и то же исправление или уточнение в чат, которое вводили в предыдущей сессии

55* Новому члену команды потребуется тот же контекст для продуктивной работы55* Новому члену команды потребуется тот же контекст для продуктивной работы

56 56 

57Ограничивайте это фактами, которые Claude должен помнить в каждой сессии: команды сборки, соглашения, макет проекта, правила «всегда делай X». Если запись — это многошаговая процедура или имеет значение только для одной части кодовой базы, переместите её в [skill](/docs/ru/skills) или [path-scoped rule](#organize-rules-with-claude/rules/) вместо этого. [Обзор расширений](/docs/ru/features-overview#build-your-setup-over-time) охватывает, когда использовать каждый механизм.57Ограничивайте это фактами, которые Claude должен помнить в каждой сессии: команды сборки, соглашения, макет проекта, правила «всегда делай X». Если запись — это многошаговая процедура или имеет значение только для одной части кодовой базы, переместите её в [скилл](/docs/ru/skills) или [path-scoped rule](#organize-rules-with-claude/rules/) вместо этого. [Обзор расширений](/docs/ru/features-overview#build-your-setup-over-time) охватывает, когда использовать каждый механизм.

58 58 

59<h3 id="choose-where-to-put-claude-md-files">59<h3 id="choose-where-to-put-claude-md-files">

60 Выберите, где разместить файлы CLAUDE.md60 Выберите, где разместить файлы CLAUDE.md


82<Tip>82<Tip>

83 Запустите `/init` для автоматического создания начального CLAUDE.md. Claude анализирует вашу кодовую базу и создаёт файл с командами сборки, инструкциями тестирования и соглашениями проекта, которые он обнаруживает. Если CLAUDE.md уже существует, `/init` предлагает улучшения вместо перезаписи. Уточните оттуда с помощью инструкций, которые Claude не обнаружит самостоятельно.83 Запустите `/init` для автоматического создания начального CLAUDE.md. Claude анализирует вашу кодовую базу и создаёт файл с командами сборки, инструкциями тестирования и соглашениями проекта, которые он обнаруживает. Если CLAUDE.md уже существует, `/init` предлагает улучшения вместо перезаписи. Уточните оттуда с помощью инструкций, которые Claude не обнаружит самостоятельно.

84 84 

85 Для интерактивного многофазного потока установите переменную окружения `CLAUDE_CODE_NEW_INIT` в значение `1` перед запуском `/init`. Установите её в вашей оболочке или в блоке `env` файла настроек, как показано в [Установка переменных окружения](/docs/ru/env-vars#set-environment-variables). С установленной переменной `/init` спрашивает, какие артефакты настроить: файлы CLAUDE.md, skills и hooks. Затем он исследует вашу кодовую базу с помощью подагента, заполняет пробелы с помощью дополнительных вопросов и представляет проверяемое предложение перед написанием каких-либо файлов. Переменная только изменяет способ работы `/init`, поэтому вы можете оставить её установленной.85 Для интерактивного многофазного потока установите переменную окружения `CLAUDE_CODE_NEW_INIT` в значение `1` перед запуском `/init`. Установите её в вашей оболочке или в блоке `env` файла настроек, как показано в [Установка переменных окружения](/docs/ru/env-vars#set-environment-variables). С установленной переменной `/init` спрашивает, какие артефакты настроить: файлы CLAUDE.md, скиллы и хуки. Затем он исследует вашу кодовую базу с помощью субагента, заполняет пробелы с помощью дополнительных вопросов и представляет проверяемое предложение перед написанием каких-либо файлов. Переменная только изменяет способ работы `/init`, поэтому вы можете оставить её установленной.

86</Tip>86</Tip>

87 87 

88<h3 id="write-effective-instructions">88<h3 id="write-effective-instructions">


99 99 

100* **Размер**: нацеливайтесь на менее 200 строк на файл CLAUDE.md. Более длинные файлы потребляют больше контекста и снижают соответствие. Переместите инструкции, которые имеют значение только для части кодовой базы, в [path-scoped rules](#path-specific-rules), которые загружаются только когда Claude работает с совпадающими файлами. [Импорты](#import-additional-files) помогают вам организовать длинный файл, но не снижают его стоимость контекста, потому что импортированные файлы также загружаются при запуске.100* **Размер**: нацеливайтесь на менее 200 строк на файл CLAUDE.md. Более длинные файлы потребляют больше контекста и снижают соответствие. Переместите инструкции, которые имеют значение только для части кодовой базы, в [path-scoped rules](#path-specific-rules), которые загружаются только когда Claude работает с совпадающими файлами. [Импорты](#import-additional-files) помогают вам организовать длинный файл, но не снижают его стоимость контекста, потому что импортированные файлы также загружаются при запуске.

101* **Структура**: группируйте связанные инструкции под заголовками markdown и маркерами. Организованные разделы легче для Claude следовать, чем плотные абзацы.101* **Структура**: группируйте связанные инструкции под заголовками markdown и маркерами. Организованные разделы легче для Claude следовать, чем плотные абзацы.

102* **Согласованность**: если два правила противоречат друг другу, Claude может выбрать одно произвольно. Периодически проверяйте ваши файлы CLAUDE.md, вложенные файлы CLAUDE.md в подкаталогах и [`.claude/rules/`](#organize-rules-with-claude/rules/) для удаления устаревших или конфликтующих инструкций. Чтобы Claude нашёл их для вас, [запустите аудит подсказок](#audit-your-instruction-files).102* **Согласованность**: если два правила противоречат друг другу, Claude может выбрать одно произвольно. Периодически проверяйте ваши файлы CLAUDE.md, вложенные файлы CLAUDE.md в подкаталогах и [`.claude/rules/`](#organize-rules-with-claude/rules/) для удаления устаревших или конфликтующих инструкций. Чтобы Claude нашёл их для вас, [запустите аудит промптов](#audit-your-instruction-files).

103 103 

104<h4 id="audit-your-instruction-files">104<h4 id="audit-your-instruction-files">

105 Аудит ваших файлов инструкций105 Аудит ваших файлов инструкций


107 107 

108Чтобы Claude проверил ваши файлы инструкций на устаревшие или конфликтующие содержимое, запустите `/doctor prompt-audit` в сессии. Claude ищет проблемы, такие как инструкции, написанные для более старых моделей, ссылки на файлы или команды, которые не существуют, и файлы, которые противоречат друг другу. Вы получаете отчёт о результатах с предложенными правками, и ничего в ваших файлах не изменяется, пока вы не попросите Claude применить их.108Чтобы Claude проверил ваши файлы инструкций на устаревшие или конфликтующие содержимое, запустите `/doctor prompt-audit` в сессии. Claude ищет проблемы, такие как инструкции, написанные для более старых моделей, ссылки на файлы или команды, которые не существуют, и файлы, которые противоречат друг другу. Вы получаете отчёт о результатах с предложенными правками, и ничего в ваших файлах не изменяется, пока вы не попросите Claude применить их.

109 109 

110По умолчанию аудит охватывает ваши файлы CLAUDE.md, CLAUDE.local.md и AGENTS.md, а также правила, skills, команды, подагентов и стили вывода в `.claude/` и `~/.claude/`. Чтобы проверить один файл или каталог вместо этого, передайте его путь, например `/doctor prompt-audit .claude/skills/deploy`.110По умолчанию аудит охватывает ваши файлы CLAUDE.md, CLAUDE.local.md и AGENTS.md, а также правила, скиллы, команды, субагентов и стили вывода в `.claude/` и `~/.claude/`. Чтобы проверить один файл или каталог вместо этого, передайте его путь, например `/doctor prompt-audit .claude/skills/deploy`.

111 111 

112Аудит выполняется через встроенный skill `/claude-api`. Он недоступен, пока этот skill отключён в [`skillOverrides`](/docs/ru/skills#override-skill-visibility-from-settings) или с [`disableBundledSkills`](/docs/ru/settings-reference#disablebundledskills). `/doctor prompt-audit` требует Claude Code v2.1.283 или позже.112Аудит выполняется через встроенный скилл `/claude-api`. Он недоступен, пока этот скилл отключён в [`skillOverrides`](/docs/ru/skills#override-skill-visibility-from-settings) или с [`disableBundledSkills`](/docs/ru/settings-reference#disablebundledskills). `/doctor prompt-audit` требует Claude Code v2.1.283 или позже.

113 113 

114<h3 id="import-additional-files">114<h3 id="import-additional-files">

115 Импортируйте дополнительные файлы115 Импортируйте дополнительные файлы


146```146```

147 147 

148<Warning>148<Warning>

149 Импорт в файл памяти уровня проекта является внешним, когда его путь разрешается вне вашего рабочего каталога, как импорт домашнего каталога выше. В первый раз, когда Claude Code встречает внешние импорты в проекте, он показывает диалог одобрения со списком файлов. Если вы отклоните, импорты остаются отключёнными и диалог больше не появляется.149 Импорт в файл памяти уровня проекта является внешним, когда его путь разрешается вне вашего рабочего каталога, как импорт домашнего каталога выше. В первый раз, когда Claude Code встречает внешние импорты в проекте, он показывает диалог подтверждения со списком файлов. Если вы отклоните, импорты остаются отключёнными и диалог больше не появляется.

150 150 

151 Claude Code показывает диалог для защиты вас от файлов, которые другие люди коммитят в общий проект. Файлы памяти уровня пользователя, такие как `~/.claude/CLAUDE.md` и `~/.claude/rules/`, — это файлы, которые вы написали сами. За исключением сессий [Cowork](https://claude.com/product/cowork) на вашем рабочем столе, Claude Code загружает их импорты без диалога и доверяет им, как остальной вашей личной конфигурации.151 Claude Code показывает диалог для защиты вас от файлов, которые другие люди коммитят в общий проект. Файлы памяти уровня пользователя, такие как `~/.claude/CLAUDE.md` и `~/.claude/rules/`, — это файлы, которые вы написали сами. За исключением сессий [Cowork](https://claude.com/product/cowork) на вашем рабочем столе, Claude Code загружает их импорты без диалога и доверяет им, как остальной вашей личной конфигурации.

152 152 


161 161 

162Все обнаруженные файлы объединяются в контекст, а не переопределяют друг друга. По дереву каталогов содержимое упорядочено от корня файловой системы вниз к вашему рабочему каталогу. Для примера `foo/bar/`, `foo/CLAUDE.md` появляется в контексте перед `foo/bar/CLAUDE.md`, поэтому инструкции ближе к месту, где вы запустили Claude, читаются последними. В каждом каталоге `CLAUDE.local.md` добавляется после `CLAUDE.md`, поэтому ваши личные заметки — это последнее, что Claude читает на этом уровне.162Все обнаруженные файлы объединяются в контекст, а не переопределяют друг друга. По дереву каталогов содержимое упорядочено от корня файловой системы вниз к вашему рабочему каталогу. Для примера `foo/bar/`, `foo/CLAUDE.md` появляется в контексте перед `foo/bar/CLAUDE.md`, поэтому инструкции ближе к месту, где вы запустили Claude, читаются последними. В каждом каталоге `CLAUDE.local.md` добавляется после `CLAUDE.md`, поэтому ваши личные заметки — это последнее, что Claude читает на этом уровне.

163 163 

164Claude также обнаруживает файлы `CLAUDE.md` и `CLAUDE.local.md` в подкаталогах под вашим текущим рабочим каталогом. Вместо загрузки их при запуске они включаются, когда Claude читает файлы в этих подкаталогах.164Claude также обнаруживает файлы `CLAUDE.md` и `CLAUDE.local.md` в подкаталогах под вашим текущим рабочим каталогом. Вместо загрузки их при запуске они включаются, когда Claude читает файлы в этих подкаталогах. Для файлов внутри worktree в `.claude/worktrees/` см. [Изоляция субагентов с помощью worktrees](/docs/ru/worktrees#isolate-subagents-with-worktrees).

165 165 

166Если вы работаете в большом монорепозитории, где подбираются файлы CLAUDE.md других команд, используйте [`claudeMdExcludes`](#exclude-specific-claude-md-files) для их пропуска. Для полного макета корневых и каталогов CLAUDE.md файлов и правил см. [Монорепозитории и большие репозитории](/docs/ru/large-codebases).166Если вы работаете в большом монорепозитории, где подбираются файлы CLAUDE.md других команд, используйте [`claudeMdExcludes`](#exclude-specific-claude-md-files) для их пропуска. Для полного макета корневых и каталогов CLAUDE.md файлов и правил см. [Монорепозитории и большие репозитории](/docs/ru/large-codebases).

167 167 


190Для больших проектов вы можете организовать инструкции в несколько файлов, используя каталог `.claude/rules/`. Это сохраняет инструкции модульными и облегчает их обслуживание командами. Правила также могут быть [ограничены определёнными путями файлов](#path-specific-rules), поэтому они загружаются в контекст только когда Claude работает с совпадающими файлами, снижая шум и экономя пространство контекста.190Для больших проектов вы можете организовать инструкции в несколько файлов, используя каталог `.claude/rules/`. Это сохраняет инструкции модульными и облегчает их обслуживание командами. Правила также могут быть [ограничены определёнными путями файлов](#path-specific-rules), поэтому они загружаются в контекст только когда Claude работает с совпадающими файлами, снижая шум и экономя пространство контекста.

191 191 

192<Note>192<Note>

193 Правила загружаются в контекст каждую сессию или когда открываются совпадающие файлы. Для инструкций, специфичных для задачи, которые не нужны в контексте всё время, используйте [skills](/docs/ru/skills) вместо этого, которые загружаются только когда вы их вызываете или когда Claude определяет, что они имеют отношение к вашему запросу.193 Правила загружаются в контекст каждую сессию или когда открываются совпадающие файлы. Для инструкций, специфичных для задачи, которые не нужны в контексте всё время, используйте [скиллы](/docs/ru/skills) вместо этого, которые загружаются только когда вы их вызываете или когда Claude определяет, что они имеют отношение к вашему промпту.

194</Note>194</Note>

195 195 

196<h4 id="set-up-rules">196<h4 id="set-up-rules">


232- Include OpenAPI documentation comments232- Include OpenAPI documentation comments

233```233```

234 234 

235Правила без поля `paths` загружаются безусловно и применяются ко всем файлам. Path-scoped правила срабатывают, когда Claude читает файлы, совпадающие с шаблоном, а не при каждом использовании инструмента. Начиная с v2.1.198, сопоставление также работает, когда Claude достигает файла через символически связанный путь к каталогу проекта, например в символически связанном checkout.235Правила без поля `paths` загружаются безусловно и применяются ко всем файлам. Path-scoped правила срабатывают, когда Claude читает файлы, совпадающие с шаблоном, а не при каждом использовании инструмента. Сопоставление также работает, когда Claude достигает файла через символически связанный путь к каталогу проекта, например в символически связанном checkout.

236 236 

237Используйте glob шаблоны в поле `paths` для сопоставления файлов по расширению, каталогу или любой комбинации:237Используйте glob шаблоны в поле `paths` для сопоставления файлов по расширению, каталогу или любой комбинации:

238 238 


278 278 

279Каталог `.claude/rules/` поддерживает символические ссылки, поэтому вы можете поддерживать общий набор правил и связывать их в несколько проектов. Циклические символические ссылки обнаруживаются и обрабатываются корректно.279Каталог `.claude/rules/` поддерживает символические ссылки, поэтому вы можете поддерживать общий набор правил и связывать их в несколько проектов. Циклические символические ссылки обнаруживаются и обрабатываются корректно.

280 280 

281Claude Code рассматривает символическую ссылку, цель которой находится вне вашего рабочего каталога, как [внешний импорт](#import-additional-files). Связанные правила не загружаются, пока вы не одобрите внешние импорты для проекта, и после этого загружаются только те, которые не имеют [поля `paths`](#path-specific-rules). Claude Code просит это одобрение только когда файл памяти проекта импортирует файл вне рабочего каталога с `@path`, а не для самих символических ссылок. Чтобы загружать общие правила без этого одобрения, держите их в [`~/.claude/rules/`](#user-level-rules), где они применяются к каждому проекту на вашей машине.281Claude Code рассматривает символическую ссылку, цель которой находится вне вашего рабочего каталога, как [внешний импорт](#import-additional-files). Связанные правила не загружаются, пока вы не подтвердите внешние импорты для проекта, и после этого загружаются только те, которые не имеют [поля `paths`](#path-specific-rules). Claude Code запрашивает это подтверждение только когда файл памяти проекта импортирует файл вне рабочего каталога с `@path`, а не для самих символических ссылок. Чтобы загружать общие правила без этого подтверждения, держите их в [`~/.claude/rules/`](#user-level-rules), где они применяются к каждому проекту на вашей машине.

282 282 

283Этот пример связывает как общий каталог, так и отдельный файл:283Этот пример связывает как общий каталог, так и отдельный файл:

284 284 


361 Исключите определённые файлы CLAUDE.md361 Исключите определённые файлы CLAUDE.md

362</h4>362</h4>

363 363 

364В больших монорепозиториях файлы CLAUDE.md предков могут содержать инструкции, которые не имеют отношения к вашей работе. Параметр `claudeMdExcludes` позволяет вам пропустить определённые файлы по пути или glob шаблону.364В больших монорепозиториях файлы CLAUDE.md предков могут содержать инструкции, которые не имеют отношения к вашей работе. Настройка `claudeMdExcludes` позволяет вам пропустить определённые файлы по пути или glob шаблону.

365 365 

366Этот пример исключает файл CLAUDE.md верхнего уровня и каталог правил из родительской папки. Добавьте его в `.claude/settings.local.json`, чтобы исключение оставалось локальным для вашей машины:366Этот пример исключает файл CLAUDE.md верхнего уровня и каталог правил из родительской папки. Добавьте его в `.claude/settings.local.json`, чтобы исключение оставалось локальным для вашей машины:

367 367 


374}374}

375```375```

376 376 

377Шаблоны сопоставляются с абсолютными путями файлов, используя синтаксис glob. Вы можете настроить `claudeMdExcludes` на любом [слое настроек](/docs/ru/settings#where-settings-live): пользователь, проект, локальный или управляемая политика. Массивы объединяются по слоям.377Шаблоны сопоставляются с абсолютными путями файлов, используя синтаксис glob. Вы можете настроить `claudeMdExcludes` на любом [уровне настроек](/docs/ru/settings#where-settings-live): пользователь, проект, локальный или управляемая политика. Массивы объединяются по уровням.

378 378 

379Чтобы исключить файл правила, который вы достигаете через [символическую ссылку](#share-rules-across-projects-with-symlinks), будь то файл или его каталог является ссылкой, напишите шаблон против любого пути: пути файла в `.claude/rules/` или его цели ссылки. Шаблон, который совпадает с любым путём, исключает файл. До v2.1.239 только шаблон, который совпадал с целью ссылки, исключал файл.379Чтобы исключить файл правила, который вы достигаете через [символическую ссылку](#share-rules-across-projects-with-symlinks), будь то файл или его каталог является ссылкой, напишите шаблон против любого пути: пути файла в `.claude/rules/` или его цели ссылки. Шаблон, который совпадает с любым путём, исключает файл. До v2.1.239 только шаблон, который совпадал с целью ссылки, исключал файл.

380 380 


538 Включите или отключите auto memory538 Включите или отключите auto memory

539</h3>539</h3>

540 540 

541Auto memory включена по умолчанию. Чтобы переключить её, откройте `/memory` в сеансе и используйте переключатель auto memory, который сохраняет `autoMemoryEnabled` в ваши пользовательские настройки в `~/.claude/settings.json`. Чтобы отключить её для одного проекта, установите `autoMemoryEnabled` в настройках этого проекта:541Автоматическая память включена по умолчанию в локальных сессиях. Вне сессий [Claude Tag](https://claude.com/docs/claude-tag/overview) сессия в [самостоятельно размещённом окружении](/docs/ru/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) по умолчанию работает с отключённой автоматической памятью.

542 

543Чтобы переключить её, откройте `/memory` в сессии и используйте переключатель автоматической памяти, который сохраняет `autoMemoryEnabled` в ваши пользовательские настройки в `~/.claude/settings.json`. Чтобы отключить её для одного проекта, установите `autoMemoryEnabled` в настройках этого проекта:

542 544 

543```json theme={null}545```json theme={null}

544{546{

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Маркетплейсы Anthropic

6 

7> Официальный, общественный и демонстрационный маркетплейсы плагинов Anthropic для Claude Code: их названия, репозитории, способы добавления каждого и где просматривать их плагины.

8 

9Anthropic публикует три маркетплейса плагинов общего назначения для Claude Code: [официальный](https://github.com/anthropics/claude-plugins-official), [общественный](https://github.com/anthropics/claude-plugins-community) и [демонстрационный](https://github.com/anthropics/claude-code). Каждый из них представляет собой каталог плагинов в собственном репозитории GitHub. Когда вы устанавливаете плагин из одного из них в сессии Claude Code, вы вводите название маркетплейса после `@`, например `/plugin install commit-commands@claude-plugins-official`.

10 

11Используйте эту страницу, чтобы различать три маркетплейса и узнать, где проверить, есть ли нужный плагин в официальном маркетплейсе.

12 

13<Note>

14 Эти случаи рассматриваются на других страницах:

15 

16 * **Как установить плагин**: см. [Установка плагинов](/docs/ru/plugins/install)

17 * **Неудачная установка**: см. [Устранение неполадок с плагинами](/docs/ru/plugins/troubleshooting)

18</Note>

19 

20Перейдите к нужной части страницы:

21 

22* Чтобы различать три маркетплейса по репозиторию, названию маркетплейса и способу получения каждого, см. [Маркетплейсы Anthropic](#anthropic’s-marketplaces).

23* Чтобы найти плагин в официальном маркетплейсе, см. [Поиск плагинов в официальном маркетплейсе](#find-plugins-in-the-official-marketplace).

24 

25<h2 id="anthropic’s-marketplaces">

26 Маркетплейсы Anthropic

27</h2>

28 

29Маркетплейс — это каталог плагинов, который репозиторий определяет в своём файле `.claude-plugin/marketplace.json`. Официальный, общественный и демонстрационный маркетплейсы берутся каждый из своего репозитория GitHub. Anthropic также публикует тематические маркетплейсы, такие как `anthropics/skills` и `anthropics/knowledge-work-plugins`, которые вы добавляете в сессии Claude Code с помощью `/plugin marketplace add <owner>/<repo>`.

30 

31В этой таблице указаны репозиторий и название каждого маркетплейса — именно название вы вводите после `@`, когда устанавливаете плагин из этого маркетплейса. Название общественного маркетплейса — `claude-community`, а не название его репозитория.

32 

33| | Официальный | Общественный | Демонстрационный |

34| :- | :- | :- | :- |

35| Репозиторий | [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) | [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) | [`anthropics/claude-code`](https://github.com/anthropics/claude-code/tree/main/plugins) |

36| Название маркетплейса | `claude-plugins-official` | `claude-community` | `claude-code-plugins` |

37| Что в нём | Плагины, которые поддерживает Anthropic, а также плагины от партнёров и других авторов | Сторонние плагины, которые их авторы отправили в Anthropic | Небольшой набор примеров плагинов, показывающих, что может содержать плагин |

38| Как его получить | Claude Code добавляет его при первом запуске интерактивной сессии в терминале, если это не заблокировано [управляемой политикой](/docs/ru/plugins/org#allow-the-official-marketplace-and-your-own) или `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. Если он отсутствует, см. [Маркетплейс `claude-plugins-official` не найден](/docs/ru/plugins/troubleshooting#marketplace-claude-plugins-official-not-found) | Вы добавляете его в сессии Claude Code с помощью `/plugin marketplace add anthropics/claude-plugins-community` | Вы добавляете его в сессии Claude Code с помощью `/plugin marketplace add anthropics/claude-code` |

39 

40Если вы написали плагин и хотите, чтобы другие могли его установить, см. [Публикация плагина](/docs/ru/plugins/publish) — там рассказывается о собственном маркетплейсе и отправке в каталог Anthropic.

41 

42<h3 id="the-demo-marketplace-in-anthropics/claude-code">

43 Демонстрационный маркетплейс в `anthropics/claude-code`

44</h3>

45 

46Если руководство или более старая инструкция предлагает вам выполнить `/plugin marketplace add anthropics/claude-code`, эта команда добавляет демонстрационный маркетплейс с названием `claude-code-plugins`. Это не официальный маркетплейс.

47 

48Большинство плагинов демонстрационного маркетплейса также есть в официальном маркетплейсе под теми же названиями. Например, `code-review`, `feature-dev`, `commit-commands` и `security-guidance` есть в обоих. Устанавливайте их из `claude-plugins-official`, чтобы у вас не было установлено две копии.

49 

50<h2 id="find-plugins-in-the-official-marketplace">

51 Поиск плагинов в официальном маркетплейсе

52</h2>

53 

54По умолчанию Claude Code сам добавляет официальный маркетплейс `claude-plugins-official`. Большая часть того, что в нём представлено, поступает от партнёров и других авторов, а не от Anthropic: поставщики инструментов публикуют плагины, подключающие Claude Code к их сервисам, а Anthropic поддерживает меньший набор собственных плагинов, таких как `commit-commands`, `code-review`, `feature-dev` и [плагины языковых серверов](/docs/ru/plugins/code-intelligence). Каталог часто меняется, поэтому на этой странице он не приводится.

55 

56Чтобы узнать, что в нём есть, используйте вкладку **Discover** в `/plugin` в сессии Claude Code, где доступен поиск, или просмотрите [Claude Marketplace](https://claude.com/marketplace/plugins) в интернете.

57 

58<h2 id="browse-and-install-from-anthropic’s-marketplaces">

59 Просмотр и установка из маркетплейсов Anthropic

60</h2>

61 

62Искать плагин в маркетплейсах Anthropic можно в Claude Code, в интернете или на GitHub:

63 

64* **В Claude Code, просматривая список**: выполните `/plugin` в интерактивной сессии. Вкладка **Discover** показывает плагины из ваших маркетплейсов.

65* **В Claude Code, по названию**: выполните `/plugin install <name>` в сессии — команда ищет это название в ваших маркетплейсах. Если плагин есть в одном из них, его сведения открываются на панели `/plugin`, и ничего не устанавливается, пока вы не выберете там [область действия установки](/docs/ru/plugins/install#install-a-plugin) и не подтвердите её. Если его нет, вы увидите `Plugin "<name>" not found in any marketplace`.

66* **В интернете**: ищите по полному каталогу на [Claude Marketplace](https://claude.com/marketplace/plugins), где показано количество установок, а некоторые плагины отмечены как **Anthropic verified**.

67* **На GitHub**: откройте `.claude-plugin/marketplace.json` в репозитории маркетплейса, например [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official). Этот файл и есть сам каталог.

68 

69Каталог Anthropic существует отдельно от этих маркетплейсов. Каталог — это перечень на claude.ai. Плагин, добавленный из каталога на claude.ai, попадает в Claude Code через [синхронизацию аккаунта](/docs/ru/plugins/loading#synced-plugins). Чтобы разместить там собственный плагин, см. [Отправка в каталог Anthropic](/docs/ru/plugins/publish#submit-to-anthropics-directory).

70 

71Чтобы установить плагин из настольного приложения или из скрипта либо узнать, что загружает облачная сессия, см. [Установка плагинов](/docs/ru/plugins/install).

72 

73<h3 id="add-the-community-or-demo-marketplace">

74 Добавление общественного или демонстрационного маркетплейса

75</h3>

76 

77Общественный и демонстрационный маркетплейсы не зарегистрированы, пока вы не добавите их в сессии Claude Code:

78 

79* **Общественный**: выполните `/plugin marketplace add anthropics/claude-plugins-community`, затем устанавливайте с суффиксом `@claude-community`.

80* **Демонстрационный**: выполните `/plugin marketplace add anthropics/claude-code`, затем устанавливайте с суффиксом `@claude-code-plugins`.

81 

82Если `claude-plugins-official` отсутствует на вкладке **Marketplaces** в `/plugin`, добавьте его тем же способом с помощью `/plugin marketplace add anthropics/claude-plugins-official`.

83 

84Об ошибках `not found` и маркетплейсах, которые не удаётся добавить, см. [Устранение неполадок с плагинами](/docs/ru/plugins/troubleshooting#install-a-plugin).

85 

86<h2 id="third-party-marketplaces">

87 Сторонние маркетплейсы

88</h2>

89 

90Многих популярных плагинов нет ни в одном маркетплейсе Anthropic. Они находятся в собственных маркетплейсах их авторов — обычно это репозиторий GitHub с файлом `.claude-plugin/marketplace.json` в корне.

91 

92Anthropic не проверяет сторонние маркетплейсы, поэтому перед добавлением такого маркетплейса прочитайте [Безопасность и доверие к плагинам](/docs/ru/plugins/security).

93 

94Чтобы использовать сторонний маркетплейс, добавьте его репозиторий в сессии Claude Code с помощью `/plugin marketplace add <owner>/<repo>`, затем устанавливайте с помощью `/plugin install <plugin>@<marketplace-name>`. Название маркетплейса — это поле `name` в этом `marketplace.json`, и Claude Code выводит его после добавления маркетплейса.

95 

96О других способах добавления маркетплейса см. [Добавление маркетплейса](/docs/ru/plugins/install#add-a-marketplace).

97 

98<h2 id="next-steps">

99 Дальнейшие шаги

100</h2>

101 

102* [Установка плагинов и управление ими](/docs/ru/plugins/install): установите плагин из одного из этих маркетплейсов и выберите область действия

103* [Безопасность и доверие к плагинам](/docs/ru/plugins/security): что плагин может делать на вашем компьютере и как проверить его перед установкой

104* [Плагины анализа кода](/docs/ru/plugins/code-intelligence): установите один из плагинов языковых серверов из официального маркетплейса

105* [Создание маркетплейса](/docs/ru/plugins/create-marketplace): запустите собственный маркетплейс наряду с маркетплейсами Anthropic

Details

22 Команды claude plugin22 Команды claude plugin

23</h2>23</h2>

24 24 

25Запустите `claude plugin <subcommand>` из вашей оболочки или скрипта, вне сеанса Claude Code. Эти подкоманды устанавливают и управляют плагинами без открытия панели [`/plugin`](#plugin-in-a-session).25Запустите `claude plugin <subcommand>` из вашей оболочки или скрипта, вне сессии Claude Code. Эти подкоманды устанавливают и управляют плагинами без открытия панели [`/plugin`](#plugin-in-a-session).

26 26 

27`claude plugins` — это псевдоним для `claude plugin`.27`claude plugins` — это псевдоним для `claude plugin`.

28 28 


30 30 

31* **Коды выхода**: `0` при успехе и `1` при ошибке. `validate` добавляет выход `2` для неожиданной ошибки, а `eval` добавляет коды, указанные в [его разделе](#plugin-eval).31* **Коды выхода**: `0` при успехе и `1` при ошибке. `validate` добавляет выход `2` для неожиданной ошибки, а `eval` добавляет коды, указанные в [его разделе](#plugin-eval).

32* **Аргументы плагина**: аргумент `<plugin>` — это `name` плагина или `name@marketplace`. Когда два маркетплейса предлагают одно и то же имя, используйте квалифицированную форму. `configure` принимает только квалифицированную форму.32* **Аргументы плагина**: аргумент `<plugin>` — это `name` плагина или `name@marketplace`. Когда два маркетплейса предлагают одно и то же имя, используйте квалифицированную форму. `configure` принимает только квалифицированную форму.

33* **Области действия**: `--scope` принимает `user`, `project` или `local`, и называет файл параметров, в который команда записывает. `update` также принимает `managed`.33* **Области действия**: `--scope` принимает `user`, `project` или `local`, и называет файл настроек, в который команда записывает. `update` также принимает `managed`.

34 34 

35<h3 id="plugin-init">35<h3 id="plugin-init">

36 plugin init36 plugin init

37</h3>37</h3>

38 38 

39Создайте каркас нового плагина в `~/.claude/skills/<name>/`. Он загружается в вашем следующем сеансе как `<name>@skills-dir` без шага установки.39Создайте каркас нового плагина в `~/.claude/skills/<name>/`. Он загружается в вашей следующей сессии как `<name>@skills-dir` без шага установки.

40 40 

41`new` — это псевдоним для `init`.41`new` — это псевдоним для `init`.

42 42 


58| `--with <components...>` | Также создайте файлы-заготовки для `skills`, `agents`, `hooks`, `mcp`, `lsp`, `output-style` или `channel` |58| `--with <components...>` | Также создайте файлы-заготовки для `skills`, `agents`, `hooks`, `mcp`, `lsp`, `output-style` или `channel` |

59| `-f, --force` | Перезапишите существующий `.claude-plugin/` в целевом месте |59| `-f, --force` | Перезапишите существующий `.claude-plugin/` в целевом месте |

60 60 

61Создайте плагин с файлами-заготовками skill и hook:61Создайте плагин с файлами-заготовками скилла и хука:

62 62 

63```bash theme={null}63```bash theme={null}

64claude plugin init my-helper --with skills hooks64claude plugin init my-helper --with skills hooks


70 70 

71* Неизвестное значение `--with`71* Неизвестное значение `--with`

72* Существующий каркас в целевом месте без `--force`72* Существующий каркас в целевом месте без `--force`

73* Управляемый параметр, который блокирует плагины из каталога skills73* Управляемая настройка, которая блокирует плагины из каталога skills

74 74 

75<h3 id="plugin-install">75<h3 id="plugin-install">

76 plugin install76 plugin install


87| Флаг | Описание |87| Флаг | Описание |

88| :- | :- |88| :- | :- |

89| `-s, --scope <scope>` | Область действия установки: `user`, `project` или `local`. По умолчанию `user` |89| `-s, --scope <scope>` | Область действия установки: `user`, `project` или `local`. По умолчанию `user` |

90| `--config <key=value>` | Установите опцию [`userConfig`](/docs/ru/plugins/manifest-reference), которую объявляет манифест плагина. Повторите флаг для каждой опции. Требует Claude Code v2.1.147 или позже. Ключ, написанный как `<server>.<key>`, устанавливает параметр, который [упакованный MCP сервер](/docs/ru/plugins/components#include-a-packaged-mcpb-server) объявляет в своём собственном `user_config` вместо этого, для файла пакета, поставляемого внутри плагина. Форма `<server>.<key>` требует Claude Code v2.1.285 или позже |90| `--config <key=value>` | Установите опцию [`userConfig`](/docs/ru/plugins/manifest-reference), которую объявляет манифест плагина. Повторите флаг для каждой опции. Требует Claude Code v2.1.147 или позже. Ключ, написанный как `<server>.<key>`, устанавливает вместо этого настройку, которую [упакованный MCP-сервер](/docs/ru/plugins/components#include-a-packaged-mcpb-server) объявляет в своём собственном `user_config`, для файла пакета, поставляемого внутри плагина. Форма `<server>.<key>` требует Claude Code v2.1.285 или позже |

91| `-y, --yes` | Примите отображаемую команду установки без запроса `Run this command now?`. Игнорируется, когда команда запускается внутри сеанса Claude Code, например из инструмента Bash или hook. Требует Claude Code v2.1.229 или позже |91| `-y, --yes` | Примите отображаемую команду установки без запроса `Run this command now?`. Игнорируется, когда команда запускается внутри сессии Claude Code, например из инструмента Bash или хука. Требует Claude Code v2.1.229 или позже |

92| `--accept-command <sha256>` | Примите отображаемую команду установки, чей `sha256` предыдущий запуск [`--json`](#plugin-json-result) сообщил в `shownCommand`, вместо `-y`. Не может быть объединён с `-y`. См. [Принять отображаемую команду установки](#accept-a-displayed-install-command). Требует Claude Code v2.1.271 или позже |92| `--accept-command <sha256>` | Примите отображаемую команду установки, чей `sha256` предыдущий запуск [`--json`](#plugin-json-result) сообщил в `shownCommand`, вместо `-y`. Не может быть объединён с `-y`. См. [Принять отображаемую команду установки](#accept-a-displayed-install-command). Требует Claude Code v2.1.271 или позже |

93| `--json` | Выведите результат как один JSON объект на последней строке stdout вместо читаемого сообщения для использования в скриптах. См. [Формат результата JSON](#plugin-json-result). Требует Claude Code v2.1.268 или позже |93| `--json` | Выведите результат как один JSON объект на последней строке stdout вместо читаемого сообщения для использования в скриптах. См. [Формат результата JSON](#plugin-json-result). Требует Claude Code v2.1.268 или позже |

94 94 


125 125 

126Другие поля, такие как `pluginId`, `scope` и `failureCode`, появляются только когда они применяются.126Другие поля, такие как `pluginId`, `scope` и `failureCode`, появляются только когда они применяются.

127 127 

128Опция `--json` в `plugin uninstall`, `plugin update`, `plugin enable` и `plugin disable` выводит тот же объект с собственными полями соответствующей подкоманды.

129 

128Ошибка использования, такая как неверный `--scope`, не выводит строку результата и выходит с кодом `1` с причиной на stderr.130Ошибка использования, такая как неверный `--scope`, не выводит строку результата и выходит с кодом `1` с причиной на stderr.

129 131 

130<h4 id="accept-a-displayed-install-command">132<h4 id="accept-a-displayed-install-command">


133 135 

134Когда запуск `--json` отображает команду, объявленную маркетплейсом, и не запускает её, результат `failed` также содержит объект `shownCommand`. Его поля включают команду в том виде, в котором она отображается, плагин, к которому она принадлежит, и `sha256` команды.136Когда запуск `--json` отображает команду, объявленную маркетплейсом, и не запускает её, результат `failed` также содержит объект `shownCommand`. Его поля включают команду в том виде, в котором она отображается, плагин, к которому она принадлежит, и `sha256` команды.

135 137 

136Чтобы принять именно эту команду, повторно запустите с этим `sha256` как `--accept-command` из вашего собственного терминала, потому что флаг не имеет эффекта внутри сеанса Claude Code. Требует Claude Code v2.1.271 или позже.138Чтобы принять именно эту команду, повторно запустите с этим `sha256` как `--accept-command` из вашего собственного терминала, потому что флаг не имеет эффекта внутри сессии Claude Code. Требует Claude Code v2.1.271 или позже.

137 139 

138`sha256` считается принятием именно этой команды, плагина и каталога маркетплейса. Если любой из них изменился с момента отображения команды, Claude Code не принимает `sha256` и показывает команду снова. Изменение, которое обновление маркетплейса собственного запуска получает, также считается таким изменением.140`sha256` считается принятием именно этой команды, плагина и каталога маркетплейса. Если любой из них изменился с момента отображения команды, Claude Code не принимает `sha256` и показывает команду снова. Изменение, которое получает собственное обновление маркетплейса в рамках запуска, также считается таким изменением.

139 141 

140Если `shownCommand.acceptCommandMatched` — это `false`, `sha256`, который вы передали, не совпадает с командой, которая сейчас отображается. Проверьте эту команду перед повторным запуском с её `sha256`.142Если `shownCommand.acceptCommandMatched` — это `false`, `sha256`, который вы передали, не совпадает с командой, которая сейчас отображается. Проверьте эту команду перед повторным запуском с её `sha256`.

141 143 


165 167 

166Claude Code выводит `Successfully uninstalled plugin: formatter (scope: project)`. Когда плагин не установлен в этой области действия, команда выводит строку, которая начинается с `Failed to uninstall plugin "formatter@my-marketplace":` и выходит с кодом `1`.168Claude Code выводит `Successfully uninstalled plugin: formatter (scope: project)`. Когда плагин не установлен в этой области действия, команда выводит строку, которая начинается с `Failed to uninstall plugin "formatter@my-marketplace":` и выходит с кодом `1`.

167 169 

168Если строка ошибки продолжается с `"formatter" was not uninstalled:` и называет файл параметров, Claude Code не смог подтвердить, что параметры области действия больше не включают плагин, поэтому плагин остаётся установленным со всем, что он сохранил. С `--json` результат содержит `failureCode: "settings_still_on"`. Эта проверка параметров требует Claude Code v2.1.282 или позже.170Если строка ошибки продолжается с `"formatter" was not uninstalled:` и называет файл настроек, Claude Code не смог подтвердить, что настройки области действия больше не включают плагин, поэтому плагин остаётся установленным со всем, что он сохранил. С `--json` результат содержит `failureCode: "settings_still_on"`. Эта проверка настроек требует Claude Code v2.1.282 или позже.

169 171 

170<h4 id="what-an-uninstall-deletes-and-keeps">172<h4 id="what-an-uninstall-deletes-and-keeps">

171 Что удаляет и сохраняет удаление173 Что удаляет и сохраняет удаление


174Когда вы удаляете плагин из последней области действия, в которой он установлен, Claude Code также удаляет сохранённые [опции и секреты](/docs/ru/plugins/manifest-reference#user-configuration) плагина и его каталог данных, `~/.claude/plugins/data/<id>/`. Есть три исключения:176Когда вы удаляете плагин из последней области действия, в которой он установлен, Claude Code также удаляет сохранённые [опции и секреты](/docs/ru/plugins/manifest-reference#user-configuration) плагина и его каталог данных, `~/.claude/plugins/data/<id>/`. Есть три исключения:

175 177 

176* С `--keep-data` каталог данных остаётся178* С `--keep-data` каталог данных остаётся

177* Когда другой установленный плагин использует ту же папку, например тот, чей ID отличается от этого только буквой, каталог данных остаётся179* Когда другой установленный плагин использует ту же папку, например тот, чей ID отличается от этого только регистром букв, каталог данных остаётся

178* Когда Claude Code не может прочитать список установленных плагинов обратно после удаления плагина из этой области действия, опции, секреты и каталог данных все остаются, потому что плагин может быть установлен в другой области действия. Удаление всё ещё успешно. Сообщение выводит список того, что осталось и как его удалить, и с `--json` результат содержит `savedKept: "install_records_unreadable"`180* Когда Claude Code не может прочитать список установленных плагинов обратно после удаления плагина из этой области действия, опции, секреты и каталог данных все остаются, потому что плагин может быть установлен в другой области действия. Удаление всё ещё успешно. Сообщение выводит список того, что осталось и как его удалить, и с `--json` результат содержит `savedKept: "install_records_unreadable"`

179 181 

180С `--json` `keptData` сообщает, остался ли каталог, и `/plugin` показывает `· data preserved`, когда он остался. Для каталога, который остаётся без `--keep-data`, это сообщение требует Claude Code v2.1.281 или позже. Поле `savedKept` требует Claude Code v2.1.282 или позже.182С `--json` `keptData` сообщает, остался ли каталог, и `/plugin` показывает `· data preserved`, когда он остался. Для каталога, который остаётся без `--keep-data`, это сообщение требует Claude Code v2.1.281 или позже. Поле `savedKept` требует Claude Code v2.1.282 или позже.


194| `-s, --scope <scope>` | Область действия для включения: `user`, `project` или `local`. Автоопределяется при пропуске |196| `-s, --scope <scope>` | Область действия для включения: `user`, `project` или `local`. Автоопределяется при пропуске |

195| `--json` | Выведите результат как один JSON объект на последней строке stdout в [том же формате, что и `plugin install --json`](#plugin-json-result). Требует Claude Code v2.1.268 или позже |197| `--json` | Выведите результат как один JSON объект на последней строке stdout в [том же формате, что и `plugin install --json`](#plugin-json-result). Требует Claude Code v2.1.268 или позже |

196 198 

197Без `--scope` команда проверяет ваши файлы параметров в порядке local, project, user и использует первую область действия, которая упоминает плагин.199Без `--scope` команда проверяет ваши файлы настроек в порядке local, project, user и использует первую область действия, которая упоминает плагин.

198 200 

199Если вы передаёте `--scope`, где плагин не объявлен, команда либо записывает переопределение, либо не выполняется:201Если вы передаёте `--scope`, где плагин не объявлен, команда либо записывает переопределение, либо не выполняется:

200 202 


254 plugin update256 plugin update

255</h3>257</h3>

256 258 

257Обновите плагин до последней версии, которую предлагает его маркетплейс. Новая версия загружается в вашем следующем сеансе или после запуска `/reload-plugins` в работающем.259Обновите плагин до последней версии, которую предлагает его маркетплейс. Новая версия загружается в вашей следующей сессии или после запуска `/reload-plugins` в работающей.

258 260 

259```bash theme={null}261```bash theme={null}

260claude plugin update <plugin> [options]262claude plugin update <plugin> [options]


269 271 

270Если вы опустите `--scope`, команда обновляет плагин в наиболее специфичной области действия, в которой он установлен для вашего текущего проекта, проверяя local, project, user, затем managed.272Если вы опустите `--scope`, команда обновляет плагин в наиболее специфичной области действия, в которой он установлен для вашего текущего проекта, проверяя local, project, user, затем managed.

271 273 

272До v2.1.281 команда использовала `user`, когда вы опускали `--scope`, поэтому обновление плагина, установленного только в области действия project или local, не выполняется с `Plugin "<name>" is not installed at scope user`. На этих версиях передайте `--scope`.274До v2.1.281 команда использовала `user`, когда вы опускали `--scope`, поэтому обновление плагина, установленного только в области действия project или local, не выполнялось с `Plugin "<name>" is not installed at scope user`. На этих версиях передайте `--scope`.

273 275 

274`managed` — это единственная область действия, которую вы можете обновить, но не установить. Для плагинов, установленных администратором, см. [Управление плагинами для вашей организации](/docs/ru/plugins/org).276`managed` — это единственная область действия, которую вы можете обновить, но не установить. Для плагинов, установленных администратором, см. [Управление плагинами для вашей организации](/docs/ru/plugins/org).

275 277 


297| :- | :- |299| :- | :- |

298| `--json` | Выведите список как JSON |300| `--json` | Выведите список как JSON |

299| `--available` | Также выведите плагины, которые предлагают ваши маркетплейсы, но которые вы не установили. Не имеет эффекта без `--json` |301| `--available` | Также выведите плагины, которые предлагают ваши маркетплейсы, но которые вы не установили. Не имеет эффекта без `--json` |

300| `--data-size [plugin]` | Измерьте каталог сохранённых данных каждого установленного плагина [saved data directory](#what-an-uninstall-deletes-and-keeps), или только названного плагина, указанного как `name@marketplace`. Не имеет эффекта без `--json`. Если имя не имеет записи об установке, команда выводит `--data-size names a plugin that is not installed` и выходит с кодом `1` вместо вывода списка. Требует Claude Code v2.1.285 или позже |302| `--data-size [plugin]` | Измерьте [каталог сохранённых данных](#what-an-uninstall-deletes-and-keeps) каждого установленного плагина или только названного плагина, указанного как `name@marketplace`. Не имеет эффекта без `--json`. Если имя не имеет записи об установке, команда выводит `--data-size names a plugin that is not installed` и выходит с кодом `1` вместо вывода списка. Требует Claude Code v2.1.285 или позже |

301 303 

302Claude Code группирует читаемый выход по тому, как загружается каждый плагин:304Claude Code группирует читаемый выход по тому, как загружается каждый плагин:

303 305 


316 318 

317| Поле | Тип | Описание |319| Поле | Тип | Описание |

318| :- | :- | :- |320| :- | :- | :- |

319| `id` | string | `name@marketplace` для установок, `name@inline` для плагинов только для сеанса, `name@skills-dir` для плагинов из каталога skills, `name@synced` для плагинов, синхронизированных с claude.ai |321| `id` | string | `name@marketplace` для установок, `name@inline` для плагинов только для сессии, `name@skills-dir` для плагинов из каталога skills, `name@synced` для плагинов, синхронизированных с claude.ai |

320| `version` | string | Для установки маркетплейса, [версия, которую вычислил Claude Code](/docs/ru/plugins/loading#versions-and-updates) при установке. Для плагина только для сеанса, из каталога skills или синхронизированного, `version` из манифеста или `unknown`, когда он не объявляет |322| `version` | string | Для установки маркетплейса, [версия, которую вычислил Claude Code](/docs/ru/plugins/loading#versions-and-updates) при установке. Для плагина только для сессии, из каталога skills или синхронизированного, `version` из манифеста или `unknown`, когда он не объявляет |

321| `scope` | string | `user`, `project`, `local` или `managed` для установок; `user` или `project` для плагинов из каталога skills; `session` для плагинов только для сеанса; `synced` для плагинов, синхронизированных с claude.ai |323| `scope` | string | `user`, `project`, `local` или `managed` для установок; `user` или `project` для плагинов из каталога skills; `session` для плагинов только для сессии; `synced` для плагинов, синхронизированных с claude.ai |

322| `enabled` | boolean | Включён ли плагин в ваших объединённых параметрах |324| `enabled` | boolean | Включён ли плагин в ваших объединённых настройках |

323| `installPath` | string | Каталог, из которого загружается плагин |325| `installPath` | string | Каталог, из которого загружается плагин |

324| `installedAt` | string | ISO временная метка установки. Только установки маркетплейса |326| `installedAt` | string | ISO временная метка установки. Только установки маркетплейса |

325| `lastUpdated` | string | ISO временная метка последнего обновления. Только установки маркетплейса |327| `lastUpdated` | string | ISO временная метка последнего обновления. Только установки маркетплейса |

326| `projectPath` | string | Проект, к которому принадлежит установка. Только области действия `project` и `local` |328| `projectPath` | string | Проект, к которому принадлежит установка. Только области действия `project` и `local` |

327| `mcpServers` | object | Определения MCP сервера плагина, когда установленный на маркетплейсе плагин имеет какие-либо |329| `mcpServers` | object | Определения MCP-серверов плагина, когда установленный из маркетплейса плагин имеет какие-либо |

328| `errors` | array of strings | Ошибки загрузки, когда плагин не загрузился |330| `errors` | array of strings | Ошибки загрузки, когда плагин не загрузился |

329| `notes` | array of strings | Предупреждения авторства для плагина, который загрузился и работает |331| `notes` | array of strings | Предупреждения авторства для плагина, который загрузился и работает |

330| `errorDetails` | array of objects | Один объект на запись `errors`, дающий его диагностический `type` и имена, на которые он ссылается, такие как плагин, маркетплейс, сервер или файл. Требует Claude Code v2.1.268 или позже |332| `errorDetails` | array of objects | Один объект на запись `errors`, дающий его диагностический `type` и имена, на которые он ссылается, такие как плагин, маркетплейс, сервер или файл. Требует Claude Code v2.1.268 или позже |

331| `noteDetails` | array of objects | Те же объекты деталей для каждой записи `notes`. Требует Claude Code v2.1.268 или позже |333| `noteDetails` | array of objects | Те же объекты деталей для каждой записи `notes`. Требует Claude Code v2.1.268 или позже |

332| `hasUserConfig` | boolean | Присутствует и `true`, когда плагин загрузился и его манифест объявляет опции [`userConfig`](/docs/ru/plugins/manifest-reference#user-configuration). Отсутствует для плагина, который не загрузился, независимо от того, что объявляет его манифест. Сохранённые значения никогда не включаются. Требует Claude Code v2.1.285 или позже |334| `hasUserConfig` | boolean | Присутствует и `true`, когда плагин загрузился и его манифест объявляет [опции `userConfig`](/docs/ru/plugins/manifest-reference#user-configuration). Отсутствует для плагина, который не загрузился, независимо от того, что объявляет его манифест. Сохранённые значения никогда не включаются. Требует Claude Code v2.1.285 или позже |

333| `projectEnabled` | boolean | Включает ли общий файл `.claude/settings.json` проекта плагин. Только установки маркетплейса. Требует Claude Code v2.1.285 или позже |335| `projectEnabled` | boolean | Включает ли общий файл `.claude/settings.json` проекта плагин. Только установки маркетплейса. Требует Claude Code v2.1.285 или позже |

334| `dataDirSize` | object | С `--data-size`, размер каталога сохранённых данных плагина [saved data directory](#what-an-uninstall-deletes-and-keeps) как `bytes` и `human`; отсутствует, когда каталог отсутствует или пуст. Только установки маркетплейса. Требует Claude Code v2.1.285 или позже |336| `dataDirSize` | object | С `--data-size`, размер [каталога сохранённых данных](#what-an-uninstall-deletes-and-keeps) плагина как `bytes` и `human`; отсутствует, когда каталог отсутствует или пуст. Только установки маркетплейса. Требует Claude Code v2.1.285 или позже |

335| `dataDirUnreadable` | boolean | С `--data-size`, `true`, когда каталог сохранённых данных существует, но не мог быть измерен. Только установки маркетплейса. Требует Claude Code v2.1.285 или позже |337| `dataDirUnreadable` | boolean | С `--data-size`, `true`, когда каталог сохранённых данных существует, но не мог быть измерен. Только установки маркетплейса. Требует Claude Code v2.1.285 или позже |

336 338 

337С `--json --available` Claude Code выводит один объект вместо массива. Его поле `installed` содержит массив объектов установленных плагинов, а его поле `available` содержит один объект на неустановленный плагин маркетплейса с полями ниже.339С `--json --available` Claude Code выводит один объект вместо массива. Его поле `installed` содержит массив объектов установленных плагинов, а его поле `available` содержит один объект на неустановленный плагин маркетплейса с полями ниже.


368 370 

369Claude Code выводит имя плагина, версию, описание и источник, затем эти разделы:371Claude Code выводит имя плагина, версию, описание и источник, затем эти разделы:

370 372 

371* **`Component inventory`**: skills, agents, hooks, MCP серверы и LSP серверы плагина373* **`Component inventory`**: скиллы, агенты, хуки, MCP-серверы и LSP серверы плагина

372* **`Projected token cost`**: всегда включённые токены, которые плагин добавляет в каждый сеанс374* **`Projected token cost`**: всегда включённые токены, которые плагин добавляет в каждую сессию

373* **`Per-component (rounded)`**: оценки всегда включённых и при вызове для каждого skill, agent и команды. Пропускается, когда плагин не имеет ни одного375* **`Per-component (rounded)`**: оценки всегда включённых и при вызове для каждого скилла, агента и команды. Пропускается, когда плагин не имеет ни одного

374 376 

375Для того, что означают две цифры стоимости, см. [Измерение стоимости и использования плагина](/docs/ru/plugins/measure).377Для того, что означают две цифры стоимости, см. [Измерение стоимости и использования плагина](/docs/ru/plugins/measure).

376 378 


388 390 

389| Флаг | Описание |391| Флаг | Описание |

390| :- | :- |392| :- | :- |

391| `--values-stdin` | Прочитайте значения опций из stdin как JSON объект однострочных строк и сохраните их. Опции, которые вы оставляете, сохраняют свои сохранённые значения |393| `--values-stdin` | Прочитайте значения опций из stdin как JSON объект однострочных строк и сохраните их. Опции, которые вы не указываете, сохраняют свои сохранённые значения |

392| `--json` | Выведите результат как один JSON объект на stdout. Без `--values-stdin` объект содержит `schema` и `choices` опций, их начальные `inputs` и имена `configured` и `unconfigured` опций. С `--values-stdin` он содержит имена `saved` опций и, когда они могут быть прочитаны обратно, имена `unconfigured` |394| `--json` | Выведите результат как один JSON объект на stdout. Без `--values-stdin` объект содержит `schema` и `choices` опций, их начальные `inputs` и имена `configured` и `unconfigured` опций. С `--values-stdin` он содержит имена `saved` опций и, когда они могут быть прочитаны обратно, имена `unconfigured` |

393 395 

394Без флагов команда выводит список каждой опции с до трёх ярлыков: `required` или `optional`, затем `sensitive` для опции, которую манифест объявляет чувствительной, затем `set` или `not set`. Она не выводит сохранённые значения. С `--json` выходные данные включают сохранённые значения опций, которые не чувствительны, и никогда текст чувствительной.396Без флагов команда выводит список каждой опции с до трёх ярлыков: `required` или `optional`, затем `sensitive` для опции, которую манифест объявляет чувствительной, затем `set` или `not set`. Она не выводит сохранённые значения. С `--json` выходные данные включают сохранённые значения опций, которые не чувствительны, и никогда текст чувствительной.


403 405 

404Передайте полный id плагина `name@marketplace`, как показывает `claude plugin list`. `configure` не принимает простое `name`. Когда ни один загруженный плагин не имеет этот id, команда выводит `No installed plugin has the id "<plugin>".` и выходит с кодом `1`.406Передайте полный id плагина `name@marketplace`, как показывает `claude plugin list`. `configure` не принимает простое `name`. Когда ни один загруженный плагин не имеет этот id, команда выводит `No installed plugin has the id "<plugin>".` и выходит с кодом `1`.

405 407 

406Для параметров упакованного MCP сервера см. [`plugin install --config`](#plugin-install) или элемент **Configure** в `/plugin`.408Для настроек упакованного MCP-сервера см. [`plugin install --config`](#plugin-install) или элемент **Configure** в `/plugin`.

407 409 

408<h3 id="plugin-prune">410<h3 id="plugin-prune">

409 plugin prune411 plugin prune


439| :- | :- |441| :- | :- |

440| Интерактивный терминал, без `-y` | Выводит список сиротских зависимостей и спрашивает `Remove? [y/N]` |442| Интерактивный терминал, без `-y` | Выводит список сиротских зависимостей и спрашивает `Remove? [y/N]` |

441| Любой терминал, `-y` | Удаляет их и выводит `Removed N auto-installed plugins: <names>` |443| Любой терминал, `-y` | Удаляет их и выводит `Removed N auto-installed plugins: <names>` |

442| Non-TTY stdin или stdout, без `-y` | Выводит список и ``Not a TTY — run `claude plugin prune -y` to remove.``, удаляя ничего |444| Non-TTY stdin или stdout, без `-y` | Выводит список и ``Not a TTY — run `claude plugin prune -y` to remove.``, ничего не удаляя |

443 445 

444<h3 id="plugin-eval">446<h3 id="plugin-eval">

445 plugin eval447 plugin eval


447 449 

448Запустите [eval случаи](/docs/ru/plugin-evals) плагина и сообщите оценённые результаты. Требует Claude Code v2.1.269 или позже.450Запустите [eval случаи](/docs/ru/plugin-evals) плагина и сообщите оценённые результаты. Требует Claude Code v2.1.269 или позже.

449 451 

450Каждый случай — это подсказка плюс оценщики. Claude Code запускает его несколько раз в изолированном сеансе только с целевым плагином загруженным, и по умолчанию также без плагина, чтобы отчёт показал разницу.452Каждый случай — это промпт плюс оценщики. Claude Code запускает его несколько раз в изолированной сессии только с загруженным целевым плагином, и по умолчанию также без плагина, чтобы отчёт показал разницу.

451 453 

452См. [Тестирование плагинов с помощью evals](/docs/ru/plugin-evals) для формата случая, оценщиков, результатов и использования CI.454См. [Тестирование плагинов с помощью evals](/docs/ru/plugin-evals) для формата случая, оценщиков, результатов и использования CI.

453 455 


469| Опция | Описание | По умолчанию |471| Опция | Описание | По умолчанию |

470| :- | :- | :- |472| :- | :- | :- |

471| `--runs <n>` | Запусков на случай в каждом [arm](/docs/ru/plugin-evals#compare-against-a-no-plugin-baseline) | `runs` каждого случая, иначе 3 |473| `--runs <n>` | Запусков на случай в каждом [arm](/docs/ru/plugin-evals#compare-against-a-no-plugin-baseline) | `runs` каждого случая, иначе 3 |

472| `-j, --concurrency <n>` | Сеансы агента для запуска одновременно, 1 до 8. Они делят ваш лимит скорости | `1` |474| `-j, --concurrency <n>` | Сессии агента для запуска одновременно, от 1 до 8. Они делят ваше ограничение частоты запросов | `1` |

473| `--model <model>` | Модель для тестируемого агента | `model` каждого случая, иначе `ANTHROPIC_MODEL`, если установлено, иначе по умолчанию Claude Code |475| `--model <model>` | Модель для тестируемого агента | `model` каждого случая, иначе `ANTHROPIC_MODEL`, если установлено, иначе по умолчанию Claude Code |

474| `--judge-model <model>` | Модель для оценщиков `llm` и `baseline` | Маленькая быстрая модель |476| `--judge-model <model>` | Модель для оценщиков `llm` и `baseline` | Маленькая быстрая модель |

475| `--ablation <mode>` | `none` или `with-without`. См. [Сравнение с базовым уровнем без плагина](/docs/ru/plugin-evals#compare-against-a-no-plugin-baseline) | Решено для каждого случая, как описано в этом разделе |477| `--ablation <mode>` | `none` или `with-without`. См. [Сравнение с базовым уровнем без плагина](/docs/ru/plugin-evals#compare-against-a-no-plugin-baseline) | Решено для каждого случая, как описано в этом разделе |


478| `--allow-tools <tools...>` | Предоставьте инструменты помимо набора только для чтения, такие как `Bash`, `Write`, `Edit` или `"mcp__plugin_<plugin>_<server>__*"`. См. [Предоставление инструментов](/docs/ru/plugin-evals#grant-tools) | |480| `--allow-tools <tools...>` | Предоставьте инструменты помимо набора только для чтения, такие как `Bash`, `Write`, `Edit` или `"mcp__plugin_<plugin>_<server>__*"`. См. [Предоставление инструментов](/docs/ru/plugin-evals#grant-tools) | |

479| `--scaffold` | Запустите [`scaffold_script`](/docs/ru/plugin-evals#add-setup-or-history-with-case-yaml) каждого случая | Выключено |481| `--scaffold` | Запустите [`scaffold_script`](/docs/ru/plugin-evals#add-setup-or-history-with-case-yaml) каждого случая | Выключено |

480| `--trust-plugin` | Пропустите первый запрос доверия, для CI. См. [Что может получить доступ запуск](/docs/ru/plugin-evals#security) | Выключено |482| `--trust-plugin` | Пропустите первый запрос доверия, для CI. См. [Что может получить доступ запуск](/docs/ru/plugin-evals#security) | Выключено |

481| `--mocks <mode>` | `record` или `off`. См. [Mock MCP серверы](/docs/ru/plugin-evals#mock-mcp-servers) | `record` |483| `--mocks <mode>` | `record` или `off`. См. [Mock MCP-серверы](/docs/ru/plugin-evals#mock-mcp-servers) | `record` |

482| `--eval-dir <dir>` | Каталог ниже плагина, который содержит случаи | `experimental.evals` манифеста, иначе `evals` |484| `--eval-dir <dir>` | Каталог ниже плагина, который содержит случаи | `experimental.evals` манифеста, иначе `evals` |

483| `--json [path]` | Выведите [документ результата](/docs/ru/plugin-evals#json-result) на stdout или запишите его в путь `.json` | |485| `--json [path]` | Выведите [документ результата](/docs/ru/plugin-evals#json-result) на stdout или запишите его в путь `.json` | |

484| `--no-publish` | Держите HTML отчёт локально | |486| `--no-publish` | Держите HTML отчёт локально | |


503claude plugin eval init [name] [options]505claude plugin eval init [name] [options]

504```506```

505 507 

506Запустите команду из корневой папки плагина, каталога, который содержит `.claude-plugin/plugin.json` или `SKILL.md` skill. Чтобы создать каркас набора в другом каталоге специально, передайте `--eval-dir`.508Запустите команду из корневой папки плагина, каталога, который содержит `.claude-plugin/plugin.json` или `SKILL.md` скилла. Чтобы создать каркас набора в другом каталоге специально, передайте `--eval-dir`.

507 509 

508В терминале команда открывает интерактивный сеанс Claude Code для интервью авторства. В интервью Claude делает следующее:510В терминале команда открывает интерактивную сессию Claude Code для интервью авторства. В интервью Claude делает следующее:

509 511 

5101. Читает плагин5121. Читает плагин

5112. Спрашивает вас, что он должен делать хорошо5132. Спрашивает вас, что он должен делать хорошо


5134. Записывает файлы случаев5154. Записывает файлы случаев

5145. Запускает случаи и проверяет оценки с вами, чтобы убедиться, что оценщики оценивают так, как вы бы оценили5165. Запускает случаи и проверяет оценки с вами, чтобы убедиться, что оценщики оценивают так, как вы бы оценили

515 517 

516С `--bare` или без терминала команда записывает пустой шаблон одного случая вместо этого. Когда Claude запускает команду из внутри сеанса Claude Code, команда выводит инструкции интервью для этого сеанса, чтобы следовать, а не записывать шаблон.518С `--bare` или без терминала команда записывает пустой шаблон одного случая вместо этого. Когда Claude запускает команду изнутри сессии Claude Code, команда выводит инструкции интервью, которым должна следовать эта сессия, а не записывает шаблон.

517 519 

518Необязательный `name` — это имя случая. Это требуется с `--bare` или без терминала, потому что команда записывает пустой шаблон для этого случая. Имя случая начинается с буквы или цифры и содержит только буквы, цифры, `.`, `_` и `-`. На каждой платформе команда также отклоняет имена, которые Windows не может хранить, такие как `con` или имя, заканчивающееся на `.`.520Необязательный `name` — это имя случая. Это требуется с `--bare` или без терминала, потому что команда записывает пустой шаблон для этого случая. Имя случая начинается с буквы или цифры и содержит только буквы, цифры, `.`, `_` и `-`. На каждой платформе команда также отклоняет имена, которые Windows не может хранить, такие как `con` или имя, заканчивающееся на `.`.

519 521 


569* Тег уже существует571* Тег уже существует

570* Рабочее дерево грязное572* Рабочее дерево грязное

571 573 

574<h3 id="plugin-test">

575 plugin test

576</h3>

577 

578Запустите тесты для [мода](/docs/ru/plugins/mods/overview) — плагина, код которого регистрирует обработчики событий. Команде не нужны сессия, вход в систему или сеть. О том, как написать тест, см. [Тестирование мода](/docs/ru/plugins/mods/test).

579 

580```bash theme={null}

581claude plugin test [directory]

582```

583 

584`[directory]` — это каталог мода, по умолчанию текущий каталог. Команда запускает каждый файл в нём, имя которого заканчивается на `.test.ts` или `.test.tsx`, и выходит с кодом 1, когда тест не проходит.

585 

586Запустите тесты для мода в `./first-mod`:

587 

588```bash theme={null}

589claude plugin test ./first-mod

590```

591 

572<h3 id="plugin-validate">592<h3 id="plugin-validate">

573 plugin validate593 plugin validate

574</h3>594</h3>

575 595 

576Проверьте манифест плагина, манифест маркетплейса или skills, agents и команды в каталоге, и выходите с кодом, на который может действовать задача CI. Для рабочего процесса создания, тестирования и редактирования см. [Создание плагина](/docs/ru/plugins/create). Для того, что проверяет валидатор в каждом манифесте, см. [справочник манифеста плагина](/docs/ru/plugins/manifest-reference) и [справочник маркетплейса](/docs/ru/plugins/marketplace-reference).596Проверьте манифест плагина, манифест маркетплейса или скиллы, агентов и команды в каталоге, и выходите с кодом, на который может действовать задача CI. Для рабочего процесса создания, тестирования и редактирования см. [Создание плагина](/docs/ru/plugins/create). Для того, что проверяет валидатор в каждом манифесте, см. [справочник манифеста плагина](/docs/ru/plugins/manifest-reference) и [справочник маркетплейса](/docs/ru/plugins/marketplace-reference).

577 597 

578```bash theme={null}598```bash theme={null}

579claude plugin validate <path> [options]599claude plugin validate <path> [options]


581 601 

582| Флаг | Описание |602| Флаг | Описание |

583| :- | :- |603| :- | :- |

584| `--strict` | Рассматривайте предупреждения как ошибки, поэтому нераспознанные поля и отсутствующие метаданные, которые среда выполнения допускает, не выполняют запуск. Требует Claude Code v2.1.145 или позже |604| `--strict` | Рассматривайте предупреждения как ошибки, поэтому нераспознанные поля и отсутствующие метаданные, которые среда выполнения допускает, приводят к провалу запуска. Требует Claude Code v2.1.145 или позже |

585| `--json` | Выведите отчёт о проверке как один JSON объект с теми же кодами выхода. Требует Claude Code v2.1.259 или позже |605| `--json` | Выведите отчёт о проверке как один JSON объект с теми же кодами выхода. Требует Claude Code v2.1.259 или позже |

586 606 

587Проверьте плагин перед фиксацией:607Проверьте плагин перед фиксацией:


606Claude Code не следует символическим ссылкам внутри названного вами каталога. То, что он делает, зависит от того, где находится ссылка:626Claude Code не следует символическим ссылкам внутри названного вами каталога. То, что он делает, зависит от того, где находится ссылка:

607 627 

608* **Связанный каталог `skills`, `agents` или `commands` под корнем плагина или `.claude`**: Claude Code предупреждает, что ничего в нём не было прочитано.628* **Связанный каталог `skills`, `agents` или `commands` под корнем плагина или `.claude`**: Claude Code предупреждает, что ничего в нём не было прочитано.

609* **Связанная запись внутри каталога `skills`, `agents` или `commands`**: Claude Code пропускает её и предупреждает, по каталогу, сколько записей оно пропустило, которые сеанс загрузил бы.629* **Связанная запись внутри каталога `skills`, `agents` или `commands`**: Claude Code пропускает её и предупреждает, по каталогу, сколько пропущенных записей загрузила бы сессия.

610* **Каталог `skills`, `agents` или `commands`, который вы называете, сам является символической ссылкой, или его родительский каталог `.claude` является**: Claude Code сообщает об ошибке и ничего в нём не проверяет. Назовите реальный каталог вместо этого.630* **Каталог `skills`, `agents` или `commands`, который вы называете, сам является символической ссылкой, или его родительский каталог `.claude` является**: Claude Code сообщает об ошибке и ничего в нём не проверяет. Назовите реальный каталог вместо этого.

611 631 

612Несколько файлов не читаются запуском проверки:632Несколько файлов не читаются запуском проверки:

613 633 

614* **`SKILL.md` в корне плагина**: когда вы запускаете `claude plugin validate` против каталога плагина, Claude Code не проверяет `SKILL.md` в корне плагина634* **`SKILL.md` в корне плагина**: когда вы запускаете `claude plugin validate` против каталога плагина, Claude Code не проверяет `SKILL.md` в корне плагина

615* **`CLAUDE.md` в корне плагина**: в запуске плагина Claude Code также предупреждает о `CLAUDE.md` в корне плагина635* **`CLAUDE.md` в корне плагина**: в запуске плагина Claude Code также предупреждает о `CLAUDE.md` в корне плагина

616* **Файлы плагина в запуске маркетплейса**: из каталога маркетплейса Claude Code не открывает файлы skill, agent, command или hook плагинов или файлы MCP сервера, которые они объединяют. Чтобы найти ошибки в этих файлах, проверьте каждый каталог плагина636* **Файлы плагина в запуске маркетплейса**: из каталога маркетплейса Claude Code не открывает файлы скиллов, агентов, команд или хуков плагинов или файлы MCP-серверов, которые они включают. Чтобы найти ошибки в этих файлах, проверьте каждый каталог плагина

617 637 

618<h4 id="output-and-exit-codes">638<h4 id="output-and-exit-codes">

619 Выход и коды выхода639 Выход и коды выхода


623 643 

624| Код выхода | Строка вердикта | Значение |644| Код выхода | Строка вердикта | Значение |

625| :- | :- | :- |645| :- | :- | :- |

626| `0` | `Validation passed` или `Validation passed with warnings` | Манифест загружается. С `--strict`, нет предупреждений либо |646| `0` | `Validation passed` или `Validation passed with warnings` | Манифест загружается. С `--strict` также нет предупреждений |

627| `1` | `Validation failed` или `Validation failed (--strict treats warnings as errors)` | Ошибка или предупреждение под `--strict` |647| `1` | `Validation failed` или `Validation failed (--strict treats warnings as errors)` | Ошибка или предупреждение под `--strict` |

628| `2` | `Unexpected error during validation: <reason>` | Сам валидатор не выполнился, например на нечитаемом пути |648| `2` | `Unexpected error during validation: <reason>` | Сам валидатор не выполнился, например на нечитаемом пути |

629 649 


802 822 

803`<plugin>` — это `name` плагина или `name@marketplace`.823`<plugin>` — это `name` плагина или `name@marketplace`.

804 824 

805Таблица ниже выводит каждую форму сеанса. Подкоманды оболочки `init`, `update`, `details`, `prune`, `eval` и `eval init` не имеют формы сеанса.825Таблица ниже выводит каждую форму сессии. Подкоманды оболочки `init`, `update`, `details`, `prune`, `eval`, `eval init` и `test` не имеют формы сессии.

806 826 

807| Команда | Псевдонимы | Что она делает |827| Команда | Псевдонимы | Что она делает |

808| :- | :- | :- |828| :- | :- | :- |

plugins/loading.md +20 −14

Details

244 Когда запускается установка зависимостей244 Когда запускается установка зависимостей

245</h4>245</h4>

246 246 

247Claude Code запускает установку внутри скопированного каталога версии каждый раз, когда создаёт один:247Claude Code устанавливает зависимости в скопированный каталог версии каждый раз, когда создаёт его:

248 248 

249* Когда вы устанавливаете плагин249* Когда вы устанавливаете плагин

250* Когда Claude Code обновляет плагин до новой версии250* Когда Claude Code обновляет плагин до новой версии


252 252 

253Для плагина с относительным путём [загруженного на месте](#in-place-and-copied-plugins) из маркетплейса локального каталога Claude Code не устанавливает зависимости в исходный каталог. Установите их там сами, или из hook в [`${CLAUDE_PLUGIN_DATA}`](/docs/ru/plugins/components#path-variables-and-persistent-data).253Для плагина с относительным путём [загруженного на месте](#in-place-and-copied-plugins) из маркетплейса локального каталога Claude Code не устанавливает зависимости в исходный каталог. Установите их там сами, или из hook в [`${CLAUDE_PLUGIN_DATA}`](/docs/ru/plugins/components#path-variables-and-persistent-data).

254 254 

255Установка запускается только когда каталог корня плагина содержит как `package.json`, так и поддерживаемый файл блокировки. Файл блокировки решает, какую команду запускает Claude Code:255Установка запускается только когда каталог корня плагина содержит как `package.json`, так и поддерживаемый файл блокировки.

256 256 

257| Файл блокировки | Команда |257Файл блокировки решает, какой менеджер пакетов запускает Claude Code:

258 

259| Файл блокировки | Менеджер пакетов |

258| :- | :- |260| :- | :- |

259| `bun.lock` или `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |261| `bun.lock` | Bun |

260| `npm-shrinkwrap.json` или `package-lock.json` | `npm ci --ignore-scripts` |262| `npm-shrinkwrap.json` или `package-lock.json` | npm |

261 263 

262Если плагин содержит более одного из этих файлов блокировки, Claude Code использует первое совпадение, проверяя по порядку: `bun.lock`, `bun.lockb`, `npm-shrinkwrap.json`, `package-lock.json`.264Если плагин содержит более одного из этих файлов блокировки, Claude Code использует первое совпадение, проверяя по порядку: `bun.lock`, `npm-shrinkwrap.json`, `package-lock.json`.

263 265 

264Claude Code пропускает установку для файлов блокировки Yarn и pnpm и для `bunfig.toml` рядом с файлом блокировки Bun:266Claude Code пропускает установку в следующих случаях, связанных с файлом блокировки:

265 267 

266* Если ваш плагин имеет только `yarn.lock` или `pnpm-lock.yaml`, замените его файлом блокировки npm268* **`bun.lockb`**: двоичный файл блокировки Bun невозможно проверить. Поставляйте вместо него текстовый `bun.lock` или файл блокировки npm

267* Если `bunfig.toml` находится в том же каталоге, что и файл блокировки Bun, удалите `bunfig.toml`, или замените файл блокировки Bun файлом блокировки npm269* **`yarn.lock` или `pnpm-lock.yaml`**: замените его файлом блокировки npm

270* **Файл блокировки в формате, который Claude Code не читает**: файлу блокировки npm нужен `lockfileVersion` равный `2` или `3`, который записывает npm 7 или новее, а `bun.lock` нужен `lockfileVersion` не выше `2`

268 271 

269Включите файл блокировки npm, чтобы достичь большинства пользователей. Claude Code запускает менеджер пакетов файла блокировки из PATH пользователя и не пытается использовать другой файл блокировки вместо этого, если этот менеджер пакетов отсутствует.272Включите файл блокировки npm, чтобы достичь большинства пользователей. Claude Code запускает менеджер пакетов файла блокировки из PATH пользователя и не пытается использовать другой файл блокировки вместо этого, если этот менеджер пакетов отсутствует.

270 273 


276 279 

277Claude Code ограничивает эту установку зависимостей так, чтобы никакой код из плагина или его пакетов не выполнялся во время неё, и ограничивает, как долго она может выполняться:280Claude Code ограничивает эту установку зависимостей так, чтобы никакой код из плагина или его пакетов не выполнялся во время неё, и ограничивает, как долго она может выполняться:

278 281 

279* **Замороженное разрешение**: Bun и npm устанавливают ровно то, что файл блокировки закрепляет, и отказывают, а не переразрешают версии, когда `package.json` и файл блокировки не согласны282* **Только пакеты из реестра**: каждая зависимость должна быть пакетом из реестра, закреплённым в файле блокировки на точной версии. Плагин с зависимостью из git, GitHub, папки, рабочего пространства или связанной зависимостью не получает установки.

283* **Загрузки по `https`**: ссылка для загрузки в файле блокировки должна использовать `https`, если только она не указывает на собственный реестр npm по умолчанию устанавливающего пользователя.

284* **Отдельная папка установки**: менеджер пакетов запускается в собственной папке, которая содержит только копию проверенного списка зависимостей, поэтому npm и Bun не читают `.npmrc`, `.env` или `bunfig.toml` плагина. Когда установка завершается успешно, Claude Code перемещает полученный `node_modules` в плагин.

285* **Замороженное разрешение**: установка использует ровно те версии, которые закрепляет файл блокировки, и Claude Code пропускает её, когда `package.json` и файл блокировки перечисляют разные зависимости

280* **Нет скриптов жизненного цикла**: `--ignore-scripts` предотвращает запуск скриптов `preinstall`, `install` и `postinstall`, поэтому зависимости, которые собирают собственные модули в этих скриптах, загружаются, но не компилируются во время этой установки286* **Нет скриптов жизненного цикла**: `--ignore-scripts` предотвращает запуск скриптов `preinstall`, `install` и `postinstall`, поэтому зависимости, которые собирают собственные модули в этих скриптах, загружаются, но не компилируются во время этой установки

287* **Нет переопределений или патчей**: плагин, чей `package.json` задаёт `overrides` npm, не получает установки из файла блокировки npm, а плагин, который задаёт `patchedDependencies` Bun, не получает установки из `bun.lock`

281* **Тайм-аут 60 секунд**: Claude Code останавливает установку, которая выполняется дольше, и рассматривает её как неудачную288* **Тайм-аут 60 секунд**: Claude Code останавливает установку, которая выполняется дольше, и рассматривает её как неудачную

282 289 

283Claude Code загружает плагин источника npm перед этой установкой зависимостей, и ни один из собственных скриптов установки пакета не запускается во время загрузки. См. [источник плагина npm](/docs/ru/plugins/marketplace-reference#npm-plugin-source).290Claude Code загружает плагин источника npm перед этой установкой зависимостей, и ни один из собственных скриптов установки пакета не запускается во время загрузки. См. [источник плагина npm](/docs/ru/plugins/marketplace-reference#npm-plugin-source).


290 Когда установка зависимостей не удаётся или пропускается297 Когда установка зависимостей не удаётся или пропускается

291</h4>298</h4>

292 299 

293Неудачная или пропущенная установка никогда не блокирует плагин, и каждый случай оставляет другой знак:300Неудачная или пропущенная установка никогда не блокирует плагин, который в этом случае загружается без зависимостей. Каждый случай оставляет другой знак:

294 301 

295* Неудачная установка, или одна пропущенная из-за файла блокировки Yarn или pnpm или `bunfig.toml`, появляется как предупреждение в выводе `claude --debug`302* Неудачная установка или установка, пропущенная из-за файла блокировки или одного из [ограничений на установку](#limits-on-the-dependency-install), появляется в выводе `claude --debug` как строка `Plugin dependency install warning`, в которой указана причина

296* Плагин с `package.json` и без файла блокировки пропускается без записи в журнал303* Плагин с `package.json` и без файла блокировки пропускается без записи в журнал

297* Истёкшая по времени установка может оставить частичное дерево `node_modules` в кэшированной копии

298 304 

299Когда автоматическая установка не может предоставить зависимость, установите её из hook в [каталог постоянных данных](/docs/ru/plugins/components#path-variables-and-persistent-data). Это включает пакеты, которым нужны их скрипты жизненного цикла для сборки, зависимости Python и плагины, заблокированные Yarn или pnpm.305Когда автоматическая установка не может предоставить зависимость, установите её из хука в [каталог постоянных данных](/docs/ru/plugins/components#path-variables-and-persistent-data). Это включает пакеты, которым нужны их скрипты жизненного цикла для сборки, зависимости Python, плагины, заблокированные Yarn или pnpm, и зависимости, которые не являются пакетами из реестра, например зависимости из git.

300 306 

301<h2 id="versions-and-updates">307<h2 id="versions-and-updates">

302 Версии и обновления308 Версии и обновления

Details

155| `github` | `repo`, `ref`, `sha` | Репозиторий GitHub в форме `owner/repo` |155| `github` | `repo`, `ref`, `sha` | Репозиторий GitHub в форме `owner/repo` |

156| `url` | `url`, `ref`, `sha` | Любой git-репозиторий по URL |156| `url` | `url`, `ref`, `sha` | Любой git-репозиторий по URL |

157| `git-subdir` | `url`, `path`, `ref`, `sha` | Один подкаталог git-репозитория, загруженный с разреженным частичным клоном |157| `git-subdir` | `url`, `path`, `ref`, `sha` | Один подкаталог git-репозитория, загруженный с разреженным частичным клоном |

158| `npm` | `package`, `version`, `registry` | npm-пакет, загруженный с вашим npm-клиентом и распакованный без запуска скриптов установки |158| `npm` | `package`, `version`, `registry` | Пакет из npm-реестра или ссылка на tarball, загруженные с вашим npm-клиентом и распакованные без запуска скриптов установки |

159| `archive` | `url`, `sha256` | Zip-архив через HTTPS. Требует Claude Code v2.1.224 или позже |159| `archive` | `url`, `sha256` | Zip-архив через HTTPS. Требует Claude Code v2.1.224 или позже |

160| `command` | `command`, `timeout`, `mode` | Каталог, выведенный командой, которую Claude Code запускает на машине пользователя. Требует Claude Code v2.1.229 или позже |160| `command` | `command`, `timeout`, `mode` | Каталог, выведенный командой, которую Claude Code запускает на машине пользователя. Требует Claude Code v2.1.229 или позже |

161 161 


258 258 

259Источник `npm` принимает эти поля:259Источник `npm` принимает эти поля:

260 260 

261* `package`: имя пакета или имя с областью видимости, такое как `@your-org/formatter`261* `package`: имя пакета в реестре, такое как `@your-org/formatter`, имя с добавленной версией, такое как `@your-org/formatter@2.0.0`, или ссылка `https` на tarball-файл пакета

262* `version`: версия или диапазон262* `version`: версия, диапазон semver или dist-tag, используемые, когда `package` — это имя пакета без добавленной версии. Опустите его, чтобы загрузить `latest`

263* `registry`: URL реестра для пакета, который не находится в реестре по умолчанию263* `registry`: URL реестра для пакета, который не находится в реестре по умолчанию

264 264 

265Claude Code загружает пакет с вашим npm-клиентом. Скрипты установки пакета, такие как `preinstall` или `postinstall`, никогда не запускаются, и его зависимости не устанавливаются во время загрузки. Если пакет имеет поддерживаемый файл блокировки рядом с его `package.json`, Claude Code устанавливает эти [зависимости пакетов Node.js](/docs/ru/plugins/loading#node-js-package-dependencies) в отдельном шаге, также с отключёнными скриптами.265Claude Code загружает пакет с вашим npm-клиентом. Скрипты установки пакета, такие как `preinstall` или `postinstall`, никогда не запускаются, и его зависимости не устанавливаются во время загрузки. Если пакет имеет поддерживаемый файл блокировки рядом с его `package.json`, Claude Code устанавливает эти [зависимости пакетов Node.js](/docs/ru/plugins/loading#node-js-package-dependencies) в отдельном шаге, также с отключёнными скриптами.

266 266 

267Claude Code проверяет значение `package` перед любой загрузкой. Отклонённое значение приводит к сбою установки с сообщением, в котором указаны значение и причина. К отклоняемым значениям относятся:

268 

269* **Git-адрес, путь к папке или `file:`, или псевдоним `npm:`**: используйте [источник `github`, `url` или `git-subdir`](#plugin-sources) для git-репозитория, относительный путь для папки в маркетплейсе и собственное имя пакета для псевдонима

270* **Ссылка на tarball на github.com, gist.github.com, gitlab.com, bitbucket.org или git.sr.ht**: отклоняется, даже если ссылка — это загрузка релиза GitHub, если только это не ссылка на npm-реестр GitLab под `gitlab.com/api/v4/`

271* **Ссылка на tarball через `http`**: отклоняется, если только она не указывает на собственный npm-реестр по умолчанию устанавливающего пользователя

272 

273URL `registry` должен использовать `https`, если только это не собственный npm-реестр по умолчанию устанавливающего пользователя. С любым другим реестром `http` установка завершается сбоем до того, как npm обратится к нему.

274 

267```json theme={null}275```json theme={null}

268{276{

269 "name": "formatter",277 "name": "formatter",

Details

167 167 

168Пользователь, чей мод не загрузился, найдет причину в своем журнале отладки. [Сообщения об отказе](/docs/ru/plugins/mods/troubleshoot#refusal-messages) перечисляет строки для `allowManagedHooksOnly` и `disableAllHooks`, и [Сообщения от встроенной защиты](/docs/ru/plugins/mods/troubleshoot#messages-from-the-built-in-guard) содержит строку для `allowManagedModsOnly`.168Пользователь, чей мод не загрузился, найдет причину в своем журнале отладки. [Сообщения об отказе](/docs/ru/plugins/mods/troubleshoot#refusal-messages) перечисляет строки для `allowManagedHooksOnly` и `disableAllHooks`, и [Сообщения от встроенной защиты](/docs/ru/plugins/mods/troubleshoot#messages-from-the-built-in-guard) содержит строку для `allowManagedModsOnly`.

169 169 

170<h3 id="allow-only-your-organization’s-mods">

171 Разрешить только моды вашей организации

172</h3>

173 

174Чтобы запускать моды вашей организации и блокировать моды, которые приносят пользователи, разверните настройки из строки **Только моды вашей организации** [таблицы политик](#choose-how-much-to-allow), а также `disableSideloadFlags`. С этим полным `managed-settings.json` Claude Code отклоняет собственные моды пользователей, поэтому ни один из их хуков не выполняется, а ваш мод политики запускается раньше других модов:

175 

176```json managed-settings.json theme={null}

177{

178 "extraKnownMarketplaces": {

179 "acme-tools": {

180 "source": { "source": "directory", "path": "/opt/acme/claude-plugins" }

181 }

182 },

183 "enabledPlugins": { "acme-guard@acme-tools": true },

184 "prependPlugins": ["acme-guard@acme-tools", "sec-default@builtin"],

185 "pluginConfigs": {

186 "cc-plugin-sec-default@builtin": {

187 "options": { "allowManagedModsOnly": true }

188 }

189 },

190 "disableSideloadFlags": true

191}

192```

193 

194Каждая группа ключей выполняет одну задачу:

195 

196* **`extraKnownMarketplaces`, `enabledPlugins` и `prependPlugins`**: устанавливают ваш мод так, чтобы он считался вашим, и запускают его первым, а защиту — после него. В разделе [Установить моды вашей организации и задать порядок](#install-your-organizations-mods) описан каталог, на который указывают эти ключи.

197* **`pluginConfigs`**: задаёт параметр защиты `allowManagedModsOnly`, поэтому Claude Code отклоняет собственные моды пользователей. Их хуки из настроек, строки состояния и `/goal` продолжают работать.

198* **`disableSideloadFlags`**: см. [`disableSideloadFlags`](/docs/ru/settings-reference#disablesideloadflags), чтобы узнать, какие флаги она отклоняет при запуске

199 

200Чтобы проверить политику на тестовой машине, запустите в оболочке сессию с `claude --debug` и прочитайте лог отладки:

201 

202* **Ваш мод**: его строка `hooks module` содержит `tier prepend`

203* **Мод, установленный пользователем**: есть строка `refused by cc-plugin-sec-default: mods are limited to your organization's by policy (allowManagedModsOnly)`. Более ранняя строка сообщает, что модуль хуков этого мода `loaded`, поэтому ищите именно отказ.

204* **Каталог плагина**: `claude --plugin-dir ./any-mod` завершается с сообщением, которое начинается с `--plugin-dir is disabled by your organization's managed settings (disableSideloadFlags)`

205 

206Чтобы также ограничить, какие маркетплейсы могут добавлять пользователи, объедините этот файл с вашими [ограничениями маркетплейсов](/docs/ru/plugins/org#restrict-what-users-can-install).

207 

208<h3 id="apply-your-plugin-controls-to-mods">

209 Применить ваши средства управления плагинами к модам

210</h3>

211 

212Мод — это плагин, поэтому способы [управления плагинами для вашей организации](/docs/ru/plugins/org) применимы и к плагину, содержащему мод:

213 

214* **Узнать, какие плагины загружаются на ваших машинах**: [Аудит и проверка](/docs/ru/plugins/org#audit-and-review)

215* **Решить, когда проверенный вами плагин может обновляться**: [Задать политику обновлений](/docs/ru/plugins/org#set-update-policy)

216* **Назначить одной группе другую политику, например для пилота**: [Планирование того, что управляемые настройки не могут обеспечить](/docs/ru/plugins/org#plan-for-what-managed-settings-can’t-enforce)

217* **Проверить, какие приложения и виды сессий применяют ключи плагинов**: [Когда каждый интерфейс применяет ключи плагинов](/docs/ru/plugins/org#when-each-surface-applies-the-plugin-keys)

218* **Настроить CI и контейнеры**: [Подготовка контейнеров и CI](/docs/ru/plugins/org#seed-containers-and-ci)

219* **Предложить моды, которые могут устанавливать ваши пользователи**: [Размещение маркетплейса](/docs/ru/plugins/host-marketplace). Мод, который Claude Code копирует из источника GitHub, git, URL или npm, считается модом пользователя, а не [вашей организации](#install-your-organizations-mods).

220 

170<h3 id="set-options-on-the-built-in-guard">221<h3 id="set-options-on-the-built-in-guard">

171 Установить параметры на встроенной защите222 Установить параметры на встроенной защите

172</h3>223</h3>

Details

190 190 

191Держите ожидание внутри вызова mods API, такого как `$.ui.ask`, потому что это время не учитывается в [10-секундном ограничении времени](/docs/ru/plugins/mods/reference#limits) hook. Время, потраченное на ожидание собственного обещания, учитывается. Claude Code пропускает hook, который истекает по времени, поэтому удерживаемая команда запустится.191Держите ожидание внутри вызова mods API, такого как `$.ui.ask`, потому что это время не учитывается в [10-секундном ограничении времени](/docs/ru/plugins/mods/reference#limits) hook. Время, потраченное на ожидание собственного обещания, учитывается. Claude Code пропускает hook, который истекает по времени, поэтому удерживаемая команда запустится.

192 192 

193<h4 id="approve-or-refuse-a-tool-call-before-the-user-is-asked">

194 Одобрение или отклонение вызова инструмента до вопроса пользователю

195</h4>

196 

197Чтобы решить, может ли выполняться вызов инструмента, обработайте [`tool.check`](/docs/ru/plugins/mods/reference#tools) — событие, в котором Claude Code принимает это решение. Оно срабатывает после того, как решение приняли правила разрешений и хуки настроек, и `next(e)` разрешается в их решение: `allow`, `ask` или `deny`. Ваш хук возвращает это решение или другое. `e.input` содержит аргументы инструмента, например `command` для Bash.

198 

199Для фиксированной команды или пути используйте [правило разрешений](/docs/ru/permissions#permission-rule-syntax), например `Bash(npm test)`, которое не требует кода. Обрабатывайте `tool.check`, когда решение зависит от того, что верно в данный момент, например от текущей ветки Git или значения, записанного другим хуком.

200 

201Этот хук отклоняет `git push`, пока текущая ветка — `main`:

202 

203```javascript theme={null}

204on('tool.check', { tool: 'Bash' }, async ($, e, next) => {

205 // What the permission rules and settings hooks decided: 'allow', 'ask', or 'deny'

206 const decided = await next(e)

207 if (!e.input.command.includes('git push')) return decided

208 const branch = await $.process.run(['git', 'branch', '--show-current'])

209 if (branch.stdout.trim() !== 'main') return decided

210 return { decision: 'deny', reason: 'Push from a branch other than main' }

211})

212```

213 

214На `main` хук возвращает `deny`, даже если правило разрешает `git push`. На другой ветке, а также для других команд вызов получает то же решение, что и без мода.

215 

216Хук сопоставляет текст команды, поэтому рассматривайте его как напоминание для Claude. Чтобы заблокировать push в `main` для всех, защитите ветку на своём Git-хостинге.

217 

218Хук может вернуть любое из трёх решений, поэтому он также может одобрить вызов, заблокированный хуком `PreToolUse` вне управляемых настроек. В разделе [Расширение разрешений с помощью хуков](/docs/ru/permissions#extend-permissions-with-hooks) перечислено, какие решения имеют приоритет над модом.

219 

193<h3 id="rewrite-or-add-to-a-prompt">220<h3 id="rewrite-or-add-to-a-prompt">

194 Переписать или добавить к подсказке221 Переписать или добавить к подсказке

195</h3>222</h3>


301* **Hooks `PreToolUse` из управляемых настроек**: запускаются перед hook `tool.call` первого мода, и блокировка от одного из них является окончательной, поэтому ни один мод не видит вызов.328* **Hooks `PreToolUse` из управляемых настроек**: запускаются перед hook `tool.call` первого мода, и блокировка от одного из них является окончательной, поэтому ни один мод не видит вызов.

302* **Hooks `PreToolUse` из каждого другого файла настроек и из `hooks/hooks.json` плагинов**: запускаются после того, как последний мод вызовет `next`, как часть собственного поведения Claude Code. Мод, который отвечает на `tool.call` без вызова `next`, не позволяет им запускаться, и мод, который вызывает `next`, видит их решение в результате, который он возвращает.329* **Hooks `PreToolUse` из каждого другого файла настроек и из `hooks/hooks.json` плагинов**: запускаются после того, как последний мод вызовет `next`, как часть собственного поведения Claude Code. Мод, который отвечает на `tool.call` без вызова `next`, не позволяет им запускаться, и мод, который вызывает `next`, видит их решение в результате, который он возвращает.

303 330 

304[`tool.check`](/docs/ru/plugins/mods/reference#tools) — это событие, где Claude Code решает, может ли вызов инструмента запуститься. Оно срабатывает после этих hooks и правил разрешений, и `next(e)` разрешается в их решение. Hook на `tool.check` может вернуть другое решение, такое как `{ decision: 'allow' }`, поэтому он может одобрить вызов, который hook из второй группы заблокировал. [Расширить разрешения с помощью hooks](/docs/ru/permissions#extend-permissions-with-hooks) перечисляет, какие решения имеют приоритет над модом.331[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) срабатывает после того, как эти хуки и правила разрешений приняли решение, поэтому хук на нём может одобрить вызов, который заблокировал хук из второй группы.

305 332 

306<h3 id="handle-a-hook-that-fails">333<h3 id="handle-a-hook-that-fails">

307 Обработать hook, который не удаётся334 Обработать hook, который не удаётся

Details

407 ```407 ```

408 408 

409 ```text theme={null}409 ```text theme={null}

410 Note: Type a note and press Enter ⏎ add410 Note: Type a note and press Enter

411 ```411 ```

412 </Tab>412 </Tab>

413</Tabs>413</Tabs>

414 414 

415Эта таблица перечисляет каждый элемент:415В [галерее интерфейсов](/docs/ru/plugins/mods/gallery) есть примеры и снимки экрана большинства элементов. Эта таблица перечисляет каждый элемент:

416 416 

417| Элемент | Что он рисует | Где |417| Элемент | Что он рисует | Где |

418| :- | :- | :- |418| :- | :- | :- |

Details

72* **Действовать без вашего разрешения**: одобрить вызов инструмента перед тем, как вас спросят72* **Действовать без вашего разрешения**: одобрить вызов инструмента перед тем, как вас спросят

73* **Потратить вашу квоту**: вызвать модель в вашем плане или ключе API73* **Потратить вашу квоту**: вызвать модель в вашем плане или ключе API

74 74 

75Моды не изолируются в песочнице. Если вы включите [изоляцию в песочнице](/docs/ru/sandboxing), песочница изолирует команды Bash, которые запускает Claude, а процесс, запущенный модом, работает вне её.

76 

75Мод, который одобряет вызовы инструментов, может одобрить тот, который правило `ask` запросит, или который заблокировал один из ваших собственных hooks `PreToolUse`. [Расширение разрешений с помощью hooks](/docs/ru/permissions#extend-permissions-with-hooks) перечисляет, что может одобрить такой мод, включая случаи, когда он может одобрить вызов, который правило `deny` отказывает.77Мод, который одобряет вызовы инструментов, может одобрить тот, который правило `ask` запросит, или который заблокировал один из ваших собственных hooks `PreToolUse`. [Расширение разрешений с помощью hooks](/docs/ru/permissions#extend-permissions-with-hooks) перечисляет, что может одобрить такой мод, включая случаи, когда он может одобрить вызов, который правило `deny` отказывает.

76 78 

77Мод может переоформить большую часть интерфейса Claude Code, но не подсказку разрешения. Он не может изменить то, что вам показывает подсказка.79Мод может переоформить большую часть интерфейса Claude Code, но не подсказку разрешения. Он не может изменить то, что вам показывает подсказка.


102 104 

103Если вы используете Claude Code через организацию, администратор также может ограничить, какие моды загружаются. Администраторы начинают с [Остановка загрузки модов, установленных пользователем](/docs/ru/plugins/mods/admin#stop-user-installed-mods-from-loading).105Если вы используете Claude Code через организацию, администратор также может ограничить, какие моды загружаются. Администраторы начинают с [Остановка загрузки модов, установленных пользователем](/docs/ru/plugins/mods/admin#stop-user-installed-mods-from-loading).

104 106 

107`disableAllHooks` и параметр вашей организации `allowManagedModsOnly` останавливают мод, но оставляют остальную часть его плагина на месте: плагин остаётся установленным, а его скиллы, команды, агенты и MCP-серверы загружаются. Другие настройки и флаги действуют шире. В разделах [`disableAllHooks`](/docs/ru/settings-reference#disableallhooks) и [Что работает при `allowManagedHooksOnly`](/docs/ru/settings-reference#what-runs-under-allowmanagedhooksonly) перечислено, как каждый из них влияет на плагин и его хуки из настроек.

108 

105Чтобы узнать, могут ли моды загружаться для вас, см. [Проверка, могут ли загружаться моды](/docs/ru/plugins/mods/troubleshoot#check-whether-mods-can-load).109Чтобы узнать, могут ли моды загружаться для вас, см. [Проверка, могут ли загружаться моды](/docs/ru/plugins/mods/troubleshoot#check-whether-mods-can-load).

106 110 

107<Note>111<Note>

Details

56 56 

57Прочитайте причину после двоеточия. Раздел [сообщения об отказе](#refusal-messages) перечисляет каждое. Если журнал не имеет такой строки, пройдите через другие записи в этой группе.57Прочитайте причину после двоеточия. Раздел [сообщения об отказе](#refusal-messages) перечисляет каждое. Если журнал не имеет такой строки, пройдите через другие записи в этой группе.

58 58 

59Некоторые настройки останавливают мод, оставляя остальную часть его плагина работающей. Раздел [Включение и отключение модов](/docs/ru/plugins/mods/overview#turn-mods-on-or-off) называет их.

60 

59<h3 id="a-claude-p-run-prints-hooks-module-not-loaded">61<h3 id="a-claude-p-run-prints-hooks-module-not-loaded">

60 Запуск `claude -p` печатает `hooks module not loaded`62 Запуск `claude -p` печатает `hooks module not loaded`

61</h3>63</h3>

Details

37 37 

38[Правила разрешений](/docs/ru/permissions) Claude Code и [sandbox](/docs/ru/sandboxing) охватывают вызовы инструментов, которые делает Claude, а не код, который плагин запускает самостоятельно:38[Правила разрешений](/docs/ru/permissions) Claude Code и [sandbox](/docs/ru/sandboxing) охватывают вызовы инструментов, которые делает Claude, а не код, который плагин запускает самостоятельно:

39 39 

40* **Hooks и серверные процессы**: command hooks выполняют команды shell с вашими полными привилегиями пользователя. Claude Code запускает hooks и MCP серверы вне sandbox.40* **Хуки и серверные процессы**: command-хуки выполняют shell-команды с вашими полными привилегиями пользователя. Claude Code запускает хуки, MCP-серверы и процессы, которые запускает [mod](/docs/ru/plugins/mods/overview#what-a-mod-can-reach), вне песочницы.

41* **Вызовы инструментов Claude**: вызов одного из инструментов MCP плагина и команда Bash, которая запускает исполняемый файл из `bin/` плагина, являются вызовами инструментов, поэтому к ним применяются ваши правила разрешений. Чтобы узнать, что mod может делать с вызовом инструмента, см. [Решите, доверять ли mod](/docs/ru/plugins/mods/overview#decide-whether-to-trust-a-mod).41* **Вызовы инструментов Claude**: вызов одного из инструментов MCP плагина и команда Bash, которая запускает исполняемый файл из `bin/` плагина, являются вызовами инструментов, поэтому к ним применяются ваши правила разрешений. Чтобы узнать, что mod может делать с вызовом инструмента, см. [Решите, доверять ли mod](/docs/ru/plugins/mods/overview#decide-whether-to-trust-a-mod).

42 42 

43Установка плагина также включает его, если только его манифест или запись маркетплейса не устанавливают [`defaultEnabled: false`](/docs/ru/plugins/install#choose-an-install-scope) и вы сами его не включили.43Установка плагина также включает его, если только его манифест или запись маркетплейса не устанавливают [`defaultEnabled: false`](/docs/ru/plugins/install#choose-an-install-scope) и вы сами его не включили.

Details

460* **Вы публикуете плагин**: пересчитайте дайджест точного файла, который служит URL, и обновите `sha256` в записи маркетплейса. Используйте `shasum -a 256 my-plugin.zip` или `Get-FileHash -Algorithm SHA256 my-plugin.zip` в PowerShell460* **Вы публикуете плагин**: пересчитайте дайджест точного файла, который служит URL, и обновите `sha256` в записи маркетплейса. Используйте `shasum -a 256 my-plugin.zip` или `Get-FileHash -Algorithm SHA256 my-plugin.zip` в PowerShell

461* **Вы устанавливаете плагин**: запустите `/plugin marketplace update <name>` в сеансе, чтобы обновить каталог на случай, если запись была исправлена, затем повторите установку. Если дайджесты всё ещё не совпадают после обновления, попросите владельца маркетплейса, какой файл они закрепили перед установкой461* **Вы устанавливаете плагин**: запустите `/plugin marketplace update <name>` в сеансе, чтобы обновить каталог на случай, если запись была исправлена, затем повторите установку. Если дайджесты всё ещё не совпадают после обновления, попросите владельца маркетплейса, какой файл они закрепили перед установкой

462 462 

463<h3 id="an-npm-plugin-source-must-name-a-registry-package">

464 `An npm plugin source must name a registry package`

465</h3>

466 

467Плагин, запись маркетплейса которого использует [источник `npm`](/docs/ru/plugins/marketplace-reference#npm-plugin-source), не удалось установить, обновить или загрузить, и сообщение содержит это предложение. Claude Code проверил значение `package` в записи до получения чего-либо и отклонил его. Сообщение называет значение и причину:

468 

469```text theme={null}

470"github:acme/formatter" was not installed: it is not an http or https link. An npm plugin source must name a registry package (name or name@version) or link to a tarball file. For a plugin in a git repository, use a "github", "url" or "git-subdir" source.

471```

472 

473Владелец маркетплейса должен изменить запись:

474 

475* **Если это вы**: измените `package` на значение, которое принимает [справочник по источнику плагинов npm](/docs/ru/plugins/marketplace-reference#npm-plugin-source), или переключите запись на источник `github`, `url` или `git-subdir`

476* **Если это не вы**: сообщите сообщение владельцу маркетплейса

477 

463<h3 id="marketplace-is-registered-from-an-untrusted-source">478<h3 id="marketplace-is-registered-from-an-untrusted-source">

464 `Marketplace "<name>" is registered from an untrusted source`479 `Marketplace "<name>" is registered from an untrusted source`

465</h3>480</h3>

Details

220 220 

221Эти команды работают примерно четыре часа после остановки сервера. После этого запустите `claude remote-control` для запуска нового сеанса. Если вы архивировали сеанс в то же время, `--continue` и `--session-id` разархивируют его на Claude Code v2.1.228 или позже.221Эти команды работают примерно четыре часа после остановки сервера. После этого запустите `claude remote-control` для запуска нового сеанса. Если вы архивировали сеанс в то же время, `--continue` и `--session-id` разархивируют его на Claude Code v2.1.228 или позже.

222 222 

223Чтобы вернуть сеанс, который вы запустили с помощью `claude --remote-control` или `/remote-control`, возобновите разговор с помощью `claude --continue` или `claude --resume`. Если Remote Control не переподключится, см. [Не удалось переподключиться к вашему сеансу Remote Control](#couldnt-reconnect-to-your-remote-control-session).223Чтобы вернуть сессию, которую вы запустили с помощью `claude --remote-control` или `/remote-control`, возобновите диалог с помощью `claude --continue` или `claude --resume`. О режиме разрешений, в котором запускается возобновленный диалог, см. [режим разрешений при возобновлении](/docs/ru/sessions#permission-mode-on-resume). Если Remote Control не переподключится, см. [Не удалось переподключиться к вашей сессии Remote Control](#couldnt-reconnect-to-your-remote-control-session).

224 224 

225Если вы возобновляете разговор во втором терминале, пока первый все еще имеет Remote Control включенным, Claude Code выводит уведомление `Remote Control not started here` во втором терминале и оставляет Remote Control отключенным там вместо того, чтобы забирать сеанс у первого. Запустите `/remote-control` во втором терминале, чтобы переместить Remote Control на него.225Если вы возобновляете разговор во втором терминале, пока первый все еще имеет Remote Control включенным, Claude Code выводит уведомление `Remote Control not started here` во втором терминале и оставляет Remote Control отключенным там вместо того, чтобы забирать сеанс у первого. Запустите `/remote-control` во втором терминале, чтобы переместить Remote Control на него.

226 226 

Details

107 107 

108* Вашему каталогу проекта.108* Вашему каталогу проекта.

109* Путям конфигурации Claude Code `~/.claude` и `~/.claude.json`.109* Путям конфигурации Claude Code `~/.claude` и `~/.claude.json`.

110* `/tmp`, где Claude Code записывает файлы среды выполнения.110* Каталогу, в который Claude Code записывает файлы среды выполнения. Если вы не задали [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars), этот каталог:

111 * **Linux и WSL2**: `/tmp`

112 * **macOS**: `/private/tmp`. `/tmp` — это символическая ссылка на этот каталог, а Seatbelt проверяет разрешённый путь.

111 113 

112Разрешите доменам сети, которые требует ваш сеанс:114Разрешите доменам сети, которые требует ваш сеанс:

113 115 

sandboxing.md +5 −4

Details

776* **Фильтрация сети**: sandbox ограничивает домены, к которым процессы могут подключаться. По умолчанию встроенный прокси не завершает и не проверяет TLS исходящего трафика, поэтому содержимое зашифрованных соединений не проверяется. Экспериментальный параметр [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate) завершает TLS на прокси для [подстановки учётных данных `mask`](#mask-credentials), но не добавляет фильтрацию содержимого. Вы несёте ответственность за обеспечение того, чтобы в вашей политике разрешались только доверенные домены.776* **Фильтрация сети**: sandbox ограничивает домены, к которым процессы могут подключаться. По умолчанию встроенный прокси не завершает и не проверяет TLS исходящего трафика, поэтому содержимое зашифрованных соединений не проверяется. Экспериментальный параметр [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate) завершает TLS на прокси для [подстановки учётных данных `mask`](#mask-credentials), но не добавляет фильтрацию содержимого. Вы несёте ответственность за обеспечение того, чтобы в вашей политике разрешались только доверенные домены.

777 777 

778<Warning>778<Warning>

779 Разрешение широких доменов, таких как `github.com`, может создать пути для экспортирования данных. Потому что прокси принимает решение о разрешении на основе предоставленного клиентом имени хоста без проверки TLS, код, работающий внутри sandbox, потенциально может использовать [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) или аналогичные методы для достижения хостов вне списка разрешений. Если ваша модель угроз требует более сильных гарантий, настройте [пользовательский прокси](#custom-proxy-configuration), который завершает TLS и проверяет трафик, и установите его сертификат CA внутри sandbox. Более сильная изоляция сети, осведомлённая о TLS, является активной областью разработки.779 Разрешение широких доменов, таких как `github.com`, может создать пути для экспортирования данных. Потому что прокси принимает решение о разрешении на основе предоставленного клиентом имени хоста без проверки TLS, код, работающий внутри sandbox, потенциально может использовать [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) или аналогичные методы для достижения хостов вне списка разрешённых доменов. Если ваша модель угроз требует более сильных гарантий, настройте [пользовательский прокси](#custom-proxy-configuration), который завершает TLS и проверяет трафик, и установите его сертификат CA внутри sandbox. Более сильная изоляция сети, осведомлённая о TLS, является активной областью разработки.

780</Warning>780</Warning>

781 781 

782* **Повышение привилегий через Unix sockets**: конфигурация `allowUnixSockets` может случайно предоставить доступ к системным сервисам, которые могут привести к обходам sandbox. Например, разрешение доступа к `/var/run/docker.sock` фактически предоставляет доступ к хост-системе через сокет Docker. Тщательно рассмотрите любые Unix sockets, которые вы разрешаете через sandbox.782* **Повышение привилегий через Unix sockets**: конфигурация `allowUnixSockets` может случайно предоставить доступ к системным сервисам, которые могут привести к обходам sandbox. Например, разрешение доступа к `/var/run/docker.sock` фактически предоставляет доступ к хост-системе через сокет Docker. Тщательно рассмотрите любые Unix sockets, которые вы разрешаете через sandbox.


793* **Совместимость инструментов**: некоторые инструменты, требующие определённых шаблонов доступа к системе, могут потребовать корректировки конфигурации или могут потребовать запуска вне sandbox.793* **Совместимость инструментов**: некоторые инструменты, требующие определённых шаблонов доступа к системе, могут потребовать корректировки конфигурации или могут потребовать запуска вне sandbox.

794 794 

795<h3 id="scope">795<h3 id="scope">

796 Область796 Область действия

797</h3>797</h3>

798 798 

799Sandbox изолирует подпроцессы Bash. Другие инструменты работают в разных границах:799Sandbox изолирует подпроцессы Bash. Другие инструменты работают в разных границах:


801* **Встроенные инструменты файлов**: Read, Edit и Write используют систему разрешений напрямую, а не работают через sandbox. См. [permissions](/docs/ru/permissions).801* **Встроенные инструменты файлов**: Read, Edit и Write используют систему разрешений напрямую, а не работают через sandbox. См. [permissions](/docs/ru/permissions).

802* **Использование компьютера**: когда Claude открывает приложения и управляет вашим экраном, он работает на вашем фактическом рабочем столе, а не в изолированной среде. Запросы разрешений для каждого приложения контролируют каждое приложение. См. [computer use in the CLI](/docs/ru/computer-use) или [computer use in Desktop](/docs/ru/desktop#let-claude-use-your-computer).802* **Использование компьютера**: когда Claude открывает приложения и управляет вашим экраном, он работает на вашем фактическом рабочем столе, а не в изолированной среде. Запросы разрешений для каждого приложения контролируют каждое приложение. См. [computer use in the CLI](/docs/ru/computer-use) или [computer use in Desktop](/docs/ru/desktop#let-claude-use-your-computer).

803* **Переменные окружения**: изолированные команды Bash наследуют окружение родительского процесса по умолчанию, включая любые учётные данные, установленные там. Используйте [`sandbox.credentials`](#protect-credentials) для удаления или маскирования определённых переменных для изолированных команд или установите [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars) для удаления учётных данных из всех подпроцессов.803* **Переменные окружения**: изолированные команды Bash наследуют окружение родительского процесса по умолчанию, включая любые учётные данные, установленные там. Используйте [`sandbox.credentials`](#protect-credentials) для удаления или маскирования определённых переменных для изолированных команд или установите [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars) для удаления учётных данных из всех подпроцессов.

804* **Subagents**: [subagents](/docs/ru/sub-agents) работают в том же процессе, что и родительский сеанс, и используют ту же конфигурацию sandbox. Команды Bash внутри subagent изолированы, когда sandboxing включен в родительском сеансе.804* **Субагенты**: [субагенты](/docs/ru/sub-agents) работают в том же процессе, что и родительская сессия, и используют ту же конфигурацию sandbox. Команды Bash внутри субагента изолированы, когда изоляция в песочнице включена в родительской сессии.

805* **Моды**: [мод](/docs/ru/plugins/mods/overview) — это плагин, который запускает собственный код внутри Claude Code, и процесс, запущенный модом, работает вне песочницы. См. [Что доступно моду](/docs/ru/plugins/mods/overview#what-a-mod-can-reach).

805 806 

806<Warning>807<Warning>

807 Эффективный sandboxing требует как изоляции файловой системы, так и сетевой изоляции. Без сетевой изоляции скомпрометированный агент может экспортировать конфиденциальные файлы, такие как ключи SSH. Без изоляции файловой системы, будь то из-за разрешительной политики или из-за [отключения уровня файловой системы](#disable-filesystem-isolation), скомпрометированный агент может установить бэкдор в системные ресурсы для получения сетевого доступа. Когда вы расширяете значения по умолчанию, проверьте, что путь `allowWrite`, широкая запись `allowedDomains` или исключение `excludedCommands` не отменяет ограничение на другой стороне.808 Эффективная изоляция в песочнице требует как изоляции файловой системы, так и сетевой изоляции. Без сетевой изоляции скомпрометированный агент может экспортировать конфиденциальные файлы, такие как ключи SSH. Без изоляции файловой системы, будь то из-за разрешительной политики или из-за [отключения уровня файловой системы](#disable-filesystem-isolation), скомпрометированный агент может установить бэкдор в системные ресурсы для получения сетевого доступа. Когда вы расширяете значения по умолчанию, проверьте, что путь `allowWrite`, широкая запись `allowedDomains` или исключение `excludedCommands` не отменяет ограничение на другой стороне.

808</Warning>809</Warning>

809 810 

810<h2 id="see-also">811<h2 id="see-also">

Details

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.

4 4 

5# Настройка сеансов в самостоятельно размещаемых окружениях5# Настройка сессий в самостоятельно размещаемых окружениях

6 6 

7> Настройте сеансы самостоятельно размещаемого окружения с помощью скриптов-оболочек для учетных данных для каждого сеанса, хуков жизненного цикла и порождения средств выполнения по требованию.7> Настройте сессии самостоятельно размещаемого окружения с помощью скриптов-оболочек для учётных данных для каждой сессии, хуков жизненного цикла и порождения средств выполнения по требованию.

8 8 

9<Note>9<Note>

10 Самостоятельно размещаемые окружения находятся в публичной бета-версии на планах Team и Enterprise; [владелец](/docs/ru/cloud-environments#organization-shared-environments) включает их, активируя **Allow self-hosted environments** на [странице администратора **Cloud environments**](https://claude.ai/admin-settings/cloud-environments). На этой странице предполагается наличие работающего средства выполнения; см. [краткое руководство](/docs/ru/self-hosted-environments-quickstart) для настройки и [Deploy to production](/docs/ru/self-hosted-environments-deploy) для рецептов флота.10 Самостоятельно размещаемые окружения находятся в публичной бета-версии на планах Team и Enterprise; [владелец](/docs/ru/cloud-environments#organization-shared-environments) включает их, активируя **Allow self-hosted environments** на [странице администратора **Cloud environments**](https://claude.ai/admin-settings/cloud-environments). На этой странице предполагается наличие работающего средства выполнения; см. [краткое руководство](/docs/ru/self-hosted-environments-quickstart) для настройки и [Deploy to production](/docs/ru/self-hosted-environments-deploy) для рецептов флота.


61 61 

62Не закрывайте и не переиспользуйте дескриптор файла 3 в оболочке. Перенаправление stdout и stderr дочернего процесса в порядке.62Не закрывайте и не переиспользуйте дескриптор файла 3 в оболочке. Перенаправление stdout и stderr дочернего процесса в порядке.

63 63 

64<h3 id="pass-the-system-prompt-flags-through">

65 Передавайте флаги системного промпта дальше

66</h3>

67 

68Системный промпт и дополнительный системный промпт, которые плоскость управления Anthropic отправляет для сессии, поступают в вашу обёртку в виде путей к файлам, а не встроенного текста. Средство выполнения записывает каждый промпт в файл в каталоге конфигурации сессии `CLAUDE_CONFIG_DIR` и передаёт его путь в аргументах, которые получает ваша обёртка, как [`--system-prompt-file <path>` или `--append-system-prompt-file <path>`](/docs/ru/cli-reference#system-prompt-flags).

69 

70Средства выполнения на Claude Code v2.1.281 или новее передают промпты в виде файлов. До v2.1.281 средство выполнения передавало их как `--system-prompt <text>` и `--append-system-prompt <text>`.

71 

72В вашем скрипте-обёртке или [хуке `command`](#command) обрабатывайте эти флаги следующим образом:

73 

74* **Передавайте их дальше**: завершайте обёртку командой `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@"`, которая передаёт файловые флаги вместе со всеми остальными аргументами. Не удаляйте и не переписывайте их. Если сессия теряет файловый флаг промпта, она работает без инструкций, которые для неё отправила плоскость управления.

75* **На средстве выполнения версии v2.1.281 или новее добавленный вами файловый флаг заменяет серверный, а не дополняет его**: каждый файловый флаг промпта принимает одно значение, и Claude Code использует последнее вхождение, поэтому если вы добавите `--append-system-prompt-file <path>` после `"$@"`, содержимое вашего файла заменит дополнительные инструкции сервера. Чтобы добавить инструкции поверх серверных, поместите их в `CLAUDE.md` образа средства выполнения, который средство выполнения [добавляет в пользовательскую конфигурацию каждой сессии](#how-each-session’s-config-is-assembled).

76 

64<h3 id="provision-credentials-scoped-to-the-session-creator">77<h3 id="provision-credentials-scoped-to-the-session-creator">

65 Подготовка учетных данных, ограниченных создателем сеанса78 Подготовка учетных данных, ограниченных создателем сеанса

66</h3>79</h3>


447* **Кто их создает**: плоскость управления заполняет скрипты из фиксированных констант в своем собственном развертывании, никогда не из входных данных для каждого сеанса или третьей стороны.460* **Кто их создает**: плоскость управления заполняет скрипты из фиксированных констант в своем собственном развертывании, никогда не из входных данных для каждого сеанса или третьей стороны.

448* **Что по-прежнему их управляет**: хуки, доставленные через `--settings`, входят в обычную объединенную конфигурацию хука, а не в управляемый уровень, поэтому ваши управляемые настройки по-прежнему применяются. `disableAllHooks` отключает их, и они не входят в категории, которые [`allowManagedHooksOnly`](/docs/ru/settings-reference#allowmanagedhooksonly) сохраняет загруженными.461* **Что по-прежнему их управляет**: хуки, доставленные через `--settings`, входят в обычную объединенную конфигурацию хука, а не в управляемый уровень, поэтому ваши управляемые настройки по-прежнему применяются. `disableAllHooks` отключает их, и они не входят в категории, которые [`allowManagedHooksOnly`](/docs/ru/settings-reference#allowmanagedhooksonly) сохраняет загруженными.

449 462 

463Вне сессий [Claude Tag](https://claude.com/docs/claude-tag/overview) сессия в самостоятельно размещаемом окружении по умолчанию работает с отключённой [автоматической памятью](/docs/ru/memory#auto-memory). Для инструкций, которые должны сохраняться между сессиями, используйте `CLAUDE.md` в вашем образе средства выполнения или в репозитории.

464 

465Снимок `~/.claude/` хоста, который делает средство выполнения, не включает каталог `projects/`. Место хранения автоматической памяти по умолчанию находится внутри этого каталога. Если вы поместите туда файлы памяти, средство выполнения не перенесёт их в сессии, и они не включат автоматическую память.

466 

450<h3 id="repository-committed-permission-rules">467<h3 id="repository-committed-permission-rules">

451 Правила разрешений, зафиксированные в репозитории468 Правила разрешений, зафиксированные в репозитории

452</h3>469</h3>

settings-reference.md +125 −113

Details

1958* Подстановка команды, подоболочка или блок управления потоком, такой как `if` или `for`1958* Подстановка команды, подоболочка или блок управления потоком, такой как `if` или `for`

1959* Перенаправление, такое как `docker build . > build.log`, кроме того, которое только дублирует дескриптор файла, как `2>&1`1959* Перенаправление, такое как `docker build . > build.log`, кроме того, которое только дублирует дескриптор файла, как `2>&1`

1960* Имя команды, которое поступает из переменной1960* Имя команды, которое поступает из переменной

1961* `git clone`, `git init`, `git worktree add`, `git worktree move` или `git bundle create` с аргументом пути, который является абсолютным, начинается с `~` или содержит сегмент `..`

1961 1962 

1962Например, `cd build && docker compose up` остается изолированным под записью `docker *`, и добавление записи `cd` это не меняет.1963Например, `cd build && docker compose up` остаётся изолированным при записи `docker *`, и добавление записи `cd` этого не меняет. При записи `git *` команда `git clone <url> vendor/lib` выполняется вне песочницы, но `git clone <url> ~/tools` остаётся изолированной. Клонирование записывает целое дерево файлов, возможно исполняемых, туда, куда указывает путь назначения.

1963 1964 

1964Исключенные команды по-прежнему проходят обычный поток разрешений. Исключение — это удобство, а не граница безопасности: предпочитайте [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite), когда инструменту нужно писать только в определенное место. Claude Code объединяет записи во всех областях параметров, которые загружает сеанс, и нет управляемой блокировки для этого списка, поэтому держите управляемый список узким.1965Исключенные команды по-прежнему проходят обычный поток разрешений. Исключение — это удобство, а не граница безопасности: предпочитайте [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite), когда инструменту нужно писать только в определенное место. Claude Code объединяет записи во всех областях параметров, которые загружает сеанс, и нет управляемой блокировки для этого списка, поэтому держите управляемый список узким.

1965 1966 


4258<span id="hook-and-skill-settings" />4259<span id="hook-and-skill-settings" />

4259 4260 

4260<h2 id="hooks-and-automation">4261<h2 id="hooks-and-automation">

4261 Hooks и автоматизация4262 Хуки и автоматизация

4262</h2>4263</h2>

4263 4264 

4264Регистрируйте hooks, ограничивайте, какие hooks запускаются, и управляйте рабочими процессами. Для событий hooks и полезных нагрузок см. [справочник hooks](/docs/ru/hooks).4265Регистрируйте хуки, ограничивайте, какие хуки запускаются, и управляйте рабочими процессами. События хуков и их данные описаны в [справочнике хуков](/docs/ru/hooks).

4265 4266 

4266<h3 id="allowedhttphookurls">4267<h3 id="allowedhttphookurls">

4267 `allowedHttpHookUrls`4268 `allowedHttpHookUrls`

4268</h3>4269</h3>

4269 4270 

4270Ограничьте, какие URL-адреса могут быть целью [HTTP hooks](/docs/ru/hooks#http-hook-fields). Когда вы определяете этот ключ, Claude Code запускает HTTP hook только если его URL соответствует одному из шаблонов и блокирует остальные без их запуска; пустой массив блокирует каждый HTTP hook.4271Ограничьте, какие URL-адреса могут быть целью [HTTP-хуков](/docs/ru/hooks#http-hook-fields). Когда вы определяете этот ключ, Claude Code запускает HTTP-хук, только если его URL соответствует одному из шаблонов, а остальные блокирует без запуска; пустой массив блокирует каждый HTTP-хук.

4271 4272 

4272* **Область действия**: [`Any file`](#scopes). Массивы объединяются в файлах параметров.4273* **Область действия**: [`Any file`](#scopes). Массивы объединяются между файлами настроек.

4273* **Тип**: массив шаблонов URL-адресов с `*` в качестве подстановочного символа4274* **Тип**: массив шаблонов URL-адресов с `*` в качестве подстановочного символа

4274* **По умолчанию**: не установлено, поэтому разрешены любые URL-адреса4275* **По умолчанию**: не установлено, поэтому разрешены любые URL-адреса

4275 4276 


4281}4282}

4282```4283```

4283 4284 

4284Сопоставление имён хостов не зависит от регистра и рассматривает `hooks.example.com.` с конечной точкой, которая обозначает полное доменное имя, так же, как `hooks.example.com`, что соответствует тому, как это делает DNS. Список разрешений применяется к hooks из каждого источника, включая управляемые параметры.4285Сопоставление имён хостов не зависит от регистра и рассматривает `hooks.example.com.` с конечной точкой, которая обозначает полное доменное имя, так же, как `hooks.example.com`, что соответствует тому, как это делает DNS. Список разрешённых URL-адресов применяется к хукам из каждого источника, включая управляемые настройки.

4285 4286 

4286<h3 id="allowmanagedhooksonly">4287<h3 id="allowmanagedhooksonly">

4287 `allowManagedHooksOnly`4288 `allowManagedHooksOnly`

4288</h3>4289</h3>

4289 4290 

4290Ограничьте выполнение hooks только hooks, которые развёртывает ваша организация.4291Ограничьте выполнение хуков только хуками, которые развёртывает ваша организация.

4291 4292 

4292* **Область действия**: [`Managed`](#scopes)4293* **Область действия**: [`Managed`](#scopes)

4293* **Тип**: Boolean4294* **Тип**: Boolean

4294 * `true`: запускаются только управляемые hooks, плюс hooks Agent SDK и hooks из плагинов, которые ваши управляемые параметры принудительно включают. См. [Что запускается под `allowManagedHooksOnly`](#what-runs-under-allowmanagedhooksonly)4295 * `true`: запускаются только управляемые хуки, а также хуки Agent SDK и хуки из плагинов, которые ваши управляемые настройки принудительно включают. См. [Что запускается при `allowManagedHooksOnly`](#what-runs-under-allowmanagedhooksonly)

4295 * `false`: запускаются hooks из каждой области параметров и плагинов4296 * `false`: запускаются хуки из всех областей действия настроек и всех плагинов

4296* **По умолчанию**: не установлено, поэтому запускаются hooks из каждой области параметров и плагинов4297* **По умолчанию**: не установлено, поэтому запускаются хуки из всех областей действия настроек и всех плагинов

4297 4298 

4298```json managed-settings.json theme={null}4299```json managed-settings.json theme={null}

4299{4300{


4302```4303```

4303 4304 

4304<h4 id="what-runs-under-allowmanagedhooksonly">4305<h4 id="what-runs-under-allowmanagedhooksonly">

4305 Что запускается под `allowManagedHooksOnly`4306 Что запускается при `allowManagedHooksOnly`

4306</h4>4307</h4>

4307 4308 

4308Когда вы устанавливаете это значение в `true`, Claude Code изменяет, какие hooks и похожие на hooks команды загружаются:4309Когда вы устанавливаете это значение в `true`, Claude Code изменяет, какие хуки и похожие на хуки команды загружаются:

4309 4310 

4310* **Запускаются управляемые и SDK hooks**: hooks из управляемых параметров и hooks, которые [Agent SDK](/docs/ru/agent-sdk/overview) регистрирует в процессе4311* **Запускаются управляемые хуки и хуки SDK**: хуки из управляемых настроек и хуки, которые [Agent SDK](/docs/ru/agent-sdk/overview) регистрирует в процессе

4311* **Запускаются hooks принудительно включённых плагинов**: hooks из плагинов, которые ваши управляемые параметры принудительно включают через [`enabledPlugins`](#enabledplugins). Claude Code сопоставляет полный ID `plugin@marketplace`, поэтому плагин с тем же именем из другого marketplace остаётся заблокированным. Это позволяет вам распространять проверенные hooks через организационный marketplace, блокируя всё остальное. [Mod](/docs/ru/plugins/mods/overview) в таком плагине загружается только когда он [считается вашей организацией](/docs/ru/plugins/mods/admin#install-your-organizations-mods)4312* **Запускаются хуки принудительно включённых плагинов**: хуки из плагинов, которые ваши управляемые настройки принудительно включают через [`enabledPlugins`](#enabledplugins). Claude Code сопоставляет полный ID `plugin@marketplace`, поэтому плагин с тем же именем из другого маркетплейса остаётся заблокированным. Это позволяет вам распространять проверенные хуки через маркетплейс организации, блокируя всё остальное. [Mod](/docs/ru/plugins/mods/overview) в таком плагине загружается, только если он [считается модом вашей организации](/docs/ru/plugins/mods/admin#install-your-organizations-mods)

4312* **Всё остальное блокируется**: пользовательские, проектные и локальные hooks, hooks и mods из других установленных плагинов, и hooks, объявленные в frontmatter агента. [Mods, встроенные в Claude Code](/docs/ru/plugins/mods/overview#mods-built-into-claude-code), продолжают работать. Чтобы блокировать только mods пользователей, установите вместо этого [`allowManagedModsOnly`](/docs/ru/plugins/mods/admin#set-options-on-the-built-in-guard).4313* **Всё остальное блокируется**: пользовательские, проектные и локальные хуки, хуки и mods из других установленных плагинов, а также хуки, объявленные во frontmatter агента. [Mods, встроенные в Claude Code](/docs/ru/plugins/mods/overview#mods-built-into-claude-code), продолжают работать. Чтобы блокировать только mods пользователей, установите вместо этого [`allowManagedModsOnly`](/docs/ru/plugins/mods/admin#set-options-on-the-built-in-guard).

4313* **Плагины с источником команды отключены**: Claude Code также отключает плагины с [источником `command`](/docs/ru/plugins/marketplace-reference#command-plugin-source), включая плагины, принудительно включённые в управляемых `enabledPlugins`, если вы не установите [`disableCommandPluginSources`](#disablecommandpluginsources) явно в `false`4314* **Плагины с источником-командой отключаются**: Claude Code также отключает плагины с [источником `command`](/docs/ru/plugins/marketplace-reference#command-plugin-source), включая плагины, принудительно включённые в управляемых `enabledPlugins`, если вы явно не установите [`disableCommandPluginSources`](#disablecommandpluginsources) в `false`

4314* **Команды marketplace `headersHelper` блокируются**: Claude Code также блокирует команды marketplace [`headersHelper`](/docs/ru/plugins/host-marketplace#authenticate-archive-downloads), если [`disableCommandPluginSources`](#disablecommandpluginsources) явно не установлен в `false`, за исключением marketplace, который сами управляемые параметры объявляют. Требуется Claude Code v2.1.238 или позже4315* **Команды `headersHelper` маркетплейсов блокируются**: Claude Code также блокирует [команды `headersHelper`](/docs/ru/plugins/host-marketplace#authenticate-archive-downloads) маркетплейсов, если [`disableCommandPluginSources`](#disablecommandpluginsources) явно не установлен в `false`, за исключением маркетплейса, который объявлен в самих управляемых настройках. Требуется Claude Code v2.1.238 или новее

4315* **Строка состояния и предложение файла сужаются до управляемых параметров**: Claude Code читает [`statusLine`](/docs/ru/statusline), [`fileSuggestion`](#filesuggestion) и [`subagentStatusLine`](/docs/ru/statusline#subagent-status-lines) только из управляемых параметров, следуя [шлюзам строки состояния и предложения файла](#status-line-and-file-suggestion-gates)4316* **Строка состояния и предложение файлов ограничиваются управляемыми настройками**: Claude Code читает [`statusLine`](/docs/ru/statusline), [`fileSuggestion`](#filesuggestion) и [`subagentStatusLine`](/docs/ru/statusline#subagent-status-lines) только из управляемых настроек, следуя [правилам для строки состояния и предложения файлов](#status-line-and-file-suggestion-gates)

4316 4317 

4317Команда [`/goal`](/docs/ru/goal) не может запуститься, пока этот ключ установлен, потому что она зависит от hooks.4318Команда [`/goal`](/docs/ru/goal) не может запуститься, пока этот ключ установлен, потому что она зависит от хуков.

4318 4319 

4319<h3 id="disableallhooks">4320<h3 id="disableallhooks">

4320 `disableAllHooks`4321 `disableAllHooks`

4321</h3>4322</h3>

4322 4323 

4323Отключите [hooks](/docs/ru/hooks#disable-or-remove-hooks), любую пользовательскую [строку состояния](/docs/ru/statusline) и любую пользовательскую команду [предложения файла](#filesuggestion). Используйте это, чтобы временно отключить все эти элементы без удаления их из ваших параметров.4324Отключите [хуки](/docs/ru/hooks#disable-or-remove-hooks), любую пользовательскую [строку состояния](/docs/ru/statusline) и любую пользовательскую команду [предложения файлов](#filesuggestion). Используйте это, чтобы временно отключить всё это, не удаляя из ваших настроек.

4324 4325 

4325* **Область действия**: [`Any file`](#scopes). Только управляемые параметры могут отключать управляемые hooks.4326* **Область действия**: [`Any file`](#scopes). Только управляемые настройки могут отключать управляемые хуки.

4326* **Тип**: Boolean4327* **Тип**: Boolean

4327 * `true`: Claude Code отключает hooks, любую пользовательскую строку состояния и любую пользовательскую команду предложения файла4328 * `true`: Claude Code отключает хуки, любую пользовательскую строку состояния и любую пользовательскую команду предложения файлов

4328 * `false`: запускаются hooks, строка состояния и команда предложения файла4329 * `false`: хуки, строка состояния и команда предложения файлов запускаются

4329* **По умолчанию**: не установлено, поэтому запускаются hooks4330* **По умолчанию**: не установлено, поэтому хуки запускаются

4330 4331 

4331```json settings.json theme={null}4332```json settings.json theme={null}

4332{4333{


4334}4335}

4335```4336```

4336 4337 

4337Охват зависит от того, какой файл содержит ключ:4338Охват зависит от того, в каком файле находится ключ:

4338 4339 

4339* **В управляемых параметрах**: Claude Code отключает каждый настроенный hook, включая управляемые, и продолжает запускать hooks, которые [Agent SDK](/docs/ru/agent-sdk/overview) регистрирует в процессе4340* **В управляемых настройках**: Claude Code отключает каждый настроенный хук, включая управляемые, и продолжает запускать хуки, которые [Agent SDK](/docs/ru/agent-sdk/overview) регистрирует в процессе

4340* **В любом другом файле параметров**: Claude Code отключает пользовательские, проектные, локальные и плагины hooks; управляемые hooks, hooks Agent SDK и hooks из плагинов, принудительно включённых в управляемых [`enabledPlugins`](#enabledplugins), продолжают запускаться4341* **В любом другом файле настроек**: Claude Code отключает пользовательские, проектные, локальные хуки и хуки плагинов; управляемые хуки, хуки Agent SDK и хуки из плагинов, принудительно включённых в управляемых [`enabledPlugins`](#enabledplugins), продолжают запускаться

4341 4342 

4342Сохранение запуска hooks Agent SDK, когда управляемые параметры устанавливают этот ключ, требует Claude Code v2.1.242 или позже.4343Ключ также останавливает [mods](/docs/ru/plugins/mods/overview) — плагины, код которых регистрирует хуки:

4343 4344 

4344Команда [`/goal`](/docs/ru/goal) не может запуститься, пока hooks отключены, и меню `/hooks` показывает уведомление вместо ваших hooks.4345* **В управляемых настройках**: останавливаются mods во всех установленных плагинах, включая mods вашей организации

4346* **В любом другом файле настроек**: останавливаются установленные вами mods, а [mods вашей организации](/docs/ru/plugins/mods/admin#install-your-organizations-mods) продолжают работать

4347 

4348Mods, встроенные в Claude Code, продолжают работать в обоих случаях. У каждого из них есть [собственный переключатель](/docs/ru/plugins/mods/overview#mods-built-into-claude-code).

4349 

4350Чтобы хуки Agent SDK продолжали запускаться, когда этот ключ задан в управляемых настройках, требуется Claude Code v2.1.242 или новее.

4351 

4352Команда [`/goal`](/docs/ru/goal) не может запуститься, пока хуки отключены, а меню `/hooks` показывает уведомление вместо ваших хуков.

4345 4353 

4346<h4 id="status-line-and-file-suggestion-gates">4354<h4 id="status-line-and-file-suggestion-gates">

4347 Шлюзы строки состояния и предложения файла4355 Правила для строки состояния и предложения файлов

4348</h4>4356</h4>

4349 4357 

4350Claude Code принимает два решения для `statusLine`, `fileSuggestion` и `subagentStatusLine` в этом порядке:4358Claude Code принимает два решения для `statusLine`, `fileSuggestion` и `subagentStatusLine` в следующем порядке:

4351 4359 

4352* **Полностью отключено**: когда управляемые параметры устанавливают `disableAllHooks`, или когда папка не является доверенной в соответствии с тем же [правилом доверия рабочей области, что и hooks в файлах параметров](/docs/ru/permissions#what-runs-before-you-trust-a-folder)4360* **Полностью отключено**: когда управляемые настройки устанавливают `disableAllHooks` или когда папка не является доверенной согласно тому же [правилу доверия рабочему пространству, что и для хуков в файлах настроек](/docs/ru/permissions#what-runs-before-you-trust-a-folder)

4353* **Сужено до управляемых параметров**: когда установлен [`allowManagedHooksOnly`](#allowmanagedhooksonly), когда `disableAllHooks` имеет значение `true` вне управляемых параметров после применения [приоритета параметров](/docs/ru/hooks#disable-or-remove-hooks), или когда вы запускаете Claude Code с `--safe-mode`4361* **Ограничено управляемыми настройками**: когда установлен [`allowManagedHooksOnly`](#allowmanagedhooksonly), когда `disableAllHooks` имеет значение `true` вне управляемых настроек после применения [приоритета настроек](/docs/ru/hooks#disable-or-remove-hooks) или когда вы запускаете Claude Code с `--safe-mode`

4354 4362 

4355При сужении Claude Code запускает управляемое значение, если оно развёрнуто. В противном случае он пропускает ваше значение без предупреждения: строка состояния отключена, и автодополнение `@` возвращается к встроенному предложению файла.4363При ограничении Claude Code использует управляемое значение, если оно развёрнуто. В противном случае он без предупреждения пропускает ваше значение: строка состояния отключается, а автодополнение `@` возвращается к встроенному предложению файлов.

4356 4364 

4357<h3 id="disableworkflows">4365<h3 id="disableworkflows">

4358 `disableWorkflows`4366 `disableWorkflows`

4359</h3>4367</h3>

4360 4368 

4361Отключите [динамические рабочие процессы](/docs/ru/workflows#turn-workflows-off) и встроенные команды рабочих процессов для всех, кого охватывают ваши параметры, например организацию через управляемые параметры. Чтобы включить или отключить рабочие процессы только для себя, используйте вместо этого [`enableWorkflows`](#enableworkflows), который переключатель **Dynamic workflows** в `/config` записывает в ваши пользовательские параметры.4369Отключите [динамические рабочие процессы](/docs/ru/workflows#turn-workflows-off) и встроенные команды рабочих процессов для всех, на кого распространяются ваши настройки, например для организации через управляемые настройки. Чтобы включить или отключить рабочие процессы только для себя, используйте вместо этого [`enableWorkflows`](#enableworkflows), который переключатель **Dynamic workflows** в `/config` записывает в ваши пользовательские настройки.

4362 4370 

4363* **Область действия**: [`Any file`](#scopes)4371* **Область действия**: [`Any file`](#scopes)

4364* **Тип**: Boolean4372* **Тип**: Boolean

4365 * `true`: Claude Code отключает динамические рабочие процессы и встроенные команды рабочих процессов для всех, кого охватывают ваши параметры4373 * `true`: Claude Code отключает динамические рабочие процессы и встроенные команды рабочих процессов для всех, на кого распространяются ваши настройки

4366 * `false`: то же самое, что и не установлено; включены ли рабочие процессы, затем следует [`enableWorkflows`](#enableworkflows) и значение по умолчанию вашего плана4374 * `false`: то же, что и отсутствие значения; включены ли рабочие процессы, тогда определяется [`enableWorkflows`](#enableworkflows) и значением по умолчанию вашего плана

4367* **По умолчанию**: `false`4375* **По умолчанию**: `false`

4368* **Переопределения для каждой сессии**: [`CLAUDE_CODE_DISABLE_WORKFLOWS`](/docs/ru/env-vars) отключает рабочие процессы на одну сессию; какой бы из двух их ни отключил, другой не может их включить обратно4376* **Переопределения для отдельной сессии**: [`CLAUDE_CODE_DISABLE_WORKFLOWS`](/docs/ru/env-vars) отключает рабочие процессы на одну сессию; какой бы из двух механизмов их ни отключил, другой не может включить их обратно

4369 4377 

4370```json settings.json theme={null}4378```json settings.json theme={null}

4371{4379{


4377 `enableWorkflows`4385 `enableWorkflows`

4378</h3>4386</h3>

4379 4387 

4380Включите или отключите [динамические рабочие процессы](/docs/ru/workflows) для себя, когда значение по умолчанию вашего плана не соответствует вашим требованиям. Отображается в `/config` как **Dynamic workflows**, который записывает этот ключ в ваши пользовательские параметры и удаляет его снова, когда вы переключаетесь обратно на значение по умолчанию вашего плана. Чтобы отключить рабочие процессы для всех из управляемых параметров, используйте вместо этого [`disableWorkflows`](#disableworkflows).4388Включите или отключите [динамические рабочие процессы](/docs/ru/workflows) для себя, когда значение по умолчанию вашего плана вам не подходит. Отображается в `/config` как **Dynamic workflows**; этот переключатель записывает ключ в ваши пользовательские настройки и снова удаляет его, когда вы возвращаетесь к значению по умолчанию вашего плана. Чтобы отключить рабочие процессы для всех через управляемые настройки, используйте вместо этого [`disableWorkflows`](#disableworkflows).

4381 4389 

4382* **Область действия**: [`Any file`](#scopes)4390* **Область действия**: [`Any file`](#scopes)

4383* **Тип**: Boolean4391* **Тип**: Boolean

4384 * `true`: Claude Code включает динамические рабочие процессы для вас4392 * `true`: Claude Code включает для вас динамические рабочие процессы

4385 * `false`: Claude Code отключает динамические рабочие процессы для вас4393 * `false`: Claude Code отключает для вас динамические рабочие процессы

4386* **По умолчанию**: не установлено, поэтому рабочие процессы включены, если вы не находитесь на плане Pro, где они отключены4394* **По умолчанию**: не установлено, поэтому рабочие процессы включены, если только вы не на плане Pro, где они отключены

4387* **Переопределения для каждой сессии**: [`CLAUDE_CODE_DISABLE_WORKFLOWS`](/docs/ru/env-vars) отключает рабочие процессы на одну сессию, и `true` здесь не может включить их обратно, пока это установлено4395* **Переопределения для отдельной сессии**: [`CLAUDE_CODE_DISABLE_WORKFLOWS`](/docs/ru/env-vars) отключает рабочие процессы на одну сессию, и значение `true` здесь не может включить их обратно, пока эта переменная установлена

4388 4396 

4389```json settings.json theme={null}4397```json settings.json theme={null}

4390{4398{


4392}4400}

4393```4401```

4394 4402 

4395[`disableWorkflows`](#disableworkflows) и политика рабочих процессов вашей организации также имеют приоритет: `enableWorkflows: true` не может включить рабочие процессы обратно, пока какой-либо источник их отключает. Claude Code скрывает строку `/config`, пока источник, отличный от ваших пользовательских параметров, устанавливает `enableWorkflows`, или устанавливает `disableWorkflows` в `true`.4403[`disableWorkflows`](#disableworkflows) и политика рабочих процессов вашей организации также имеют приоритет: `enableWorkflows: true` не может включить рабочие процессы обратно, пока какой-либо источник их отключает. Claude Code скрывает строку в `/config`, пока источник, отличный от ваших пользовательских настроек, устанавливает `enableWorkflows` или устанавливает `disableWorkflows` в `true`.

4396 4404 

4397<h3 id="hooks">4405<h3 id="hooks">

4398 `hooks`4406 `hooks`

4399</h3>4407</h3>

4400 4408 

4401Запускайте свои собственные команды, подсказки, агентов, HTTP-запросы или MCP tools как [hooks](/docs/ru/hooks) в точках жизненного цикла Claude Code, например перед вызовом tool или при запуске сессии; [справочник hooks](/docs/ru/hooks#hook-events) перечисляет каждое событие, его полезную нагрузку и коды выхода. Каждое событие соответствует списку групп сопоставления, и каждая группа перечисляет обработчики для запуска, когда применяется сопоставление.4409Запускайте собственные команды, промпты, агентов, HTTP-запросы или инструменты MCP в качестве [хуков](/docs/ru/hooks) в определённых точках жизненного цикла Claude Code, например перед вызовом инструмента или при запуске сессии; в [справочнике хуков](/docs/ru/hooks#hook-events) перечислены все события, их данные и коды выхода. Каждое событие сопоставляется со списком групп matcher, и каждая группа перечисляет обработчики, которые запускаются, когда matcher срабатывает.

4402 4410 

4403* **Область действия**: [`Any file`](#scopes). Hooks объединяются в файлах, а не заменяют друг друга, и hooks из управляемых параметров не могут быть удалены из других файлов.4411* **Область действия**: [`Any file`](#scopes). Хуки из разных файлов объединяются, а не заменяют друг друга, и хуки из управляемых настроек нельзя удалить из других файлов.

4404* **Тип**: объект, ключи которого — [события hook](/docs/ru/hooks#hook-events); каждое значение — это массив групп `{ "matcher", "hooks" }`, чьи записи `hooks` имеют `type` из `"command"`, `"prompt"`, `"agent"`, `"http"` или `"mcp_tool"`4412* **Тип**: объект, ключами которого являются [события хуков](/docs/ru/hooks#hook-events); каждое значение — массив групп `{ "matcher", "hooks" }`, записи `hooks` которых имеют `type` со значением `"command"`, `"prompt"`, `"agent"`, `"http"` или `"mcp_tool"`

4405* **По умолчанию**: не установлено, поэтому hooks не запускаются4413* **По умолчанию**: не установлено, поэтому хуки не запускаются

4406 4414 

4407Этот пример запускает скрипт перед каждым вызовом tool Bash:4415Этот пример запускает скрипт перед каждым вызовом инструмента Bash:

4408 4416 

4409```json settings.json theme={null}4417```json settings.json theme={null}

4410{4418{


4421}4429}

4422```4430```

4423 4431 

4424Для каждого события, шаблона сопоставления и поля обработчика см. [справочник hooks](/docs/ru/hooks#configuration). Чтобы отключить hooks, см. [`disableAllHooks`](#disableallhooks); чтобы ограничить hooks только теми, которые развёртывает ваша организация, см. [`allowManagedHooksOnly`](#allowmanagedhooksonly).4432Описание всех событий, шаблонов matcher и полей обработчиков см. в [справочнике хуков](/docs/ru/hooks#configuration). Чтобы отключить хуки, см. [`disableAllHooks`](#disableallhooks); чтобы ограничить хуки только теми, которые развёртывает ваша организация, см. [`allowManagedHooksOnly`](#allowmanagedhooksonly).

4425 4433 

4426<h3 id="httphookallowedenvvars">4434<h3 id="httphookallowedenvvars">

4427 `httpHookAllowedEnvVars`4435 `httpHookAllowedEnvVars`

4428</h3>4436</h3>

4429 4437 

4430[HTTP hook](/docs/ru/hooks#http-hook-fields) может поместить значение переменной окружения в заголовок запроса, например заголовок `Authorization: Bearer $HOOK_TOKEN`, но только для переменных, которые hook перечисляет в своём собственном `allowedEnvVars`. Этот ключ устанавливает внешний предел для этого списка для каждого HTTP hook: hook может использовать переменную только если и его собственный `allowedEnvVars`, и этот ключ её называют. Используйте это, чтобы помешать hook читать секрет, который он не должен, даже когда определение hook просит его.4438[HTTP-хук](/docs/ru/hooks#http-hook-fields) может подставить значение переменной окружения в заголовок запроса, например в заголовок `Authorization: Bearer $HOOK_TOKEN`, но только для переменных, которые хук перечисляет в собственном `allowedEnvVars`. Этот ключ задаёт внешнее ограничение этого списка для каждого HTTP-хука: хук может использовать переменную, только если её называют и его собственный `allowedEnvVars`, и этот ключ. Используйте его, чтобы не дать хуку прочитать секрет, к которому у него не должно быть доступа, даже если определение хука его запрашивает.

4431 4439 

4432* **Область действия**: [`Any file`](#scopes). Массивы объединяются в файлах параметров.4440* **Область действия**: [`Any file`](#scopes). Массивы объединяются между файлами настроек.

4433* **Тип**: массив имён переменных окружения4441* **Тип**: массив имён переменных окружения

4434* **По умолчанию**: не установлено, поэтому применяется список `allowedEnvVars` каждого hook4442* **По умолчанию**: не установлено, поэтому применяется собственный список `allowedEnvVars` каждого хука

4435 4443 

4436Этот пример ограничивает интерполяцию заголовков до `MY_TOKEN` и `HOOK_SECRET`:4444Этот пример ограничивает подстановку в заголовки переменными `MY_TOKEN` и `HOOK_SECRET`:

4437 4445 

4438```json settings.json theme={null}4446```json settings.json theme={null}

4439{4447{


4441}4449}

4442```4450```

4443 4451 

4444Список разрешений применяется к hooks из каждого источника, включая управляемые параметры.4452Список разрешённых переменных применяется к хукам из каждого источника, включая управляемые настройки.

4445 4453 

4446<h3 id="workflowkeywordtriggerenabled">4454<h3 id="workflowkeywordtriggerenabled">

4447 `workflowKeywordTriggerEnabled`4455 `workflowKeywordTriggerEnabled`

4448</h3>4456</h3>

4449 4457 

4450Выберите, запускает ли ввод ключевого слова `ultracode` в подсказке [динамический рабочий процесс](/docs/ru/workflows#ask-for-a-workflow-in-your-prompt). Установите его в `false`, чтобы вводить слово без запуска.4458Выберите, запускает ли ввод ключевого слова `ultracode` в промпте [динамический рабочий процесс](/docs/ru/workflows#ask-for-a-workflow-in-your-prompt). Установите `false`, чтобы вводить это слово, не запуская рабочий процесс.

4451 4459 

4452* **Область действия**: [`Any file`](#scopes). Отображается в `/config` как **Ultracode keyword trigger**.4460* **Область действия**: [`Any file`](#scopes). Отображается в `/config` как **Ultracode keyword trigger**.

4453* **Тип**: Boolean4461* **Тип**: Boolean

4454 * `true`: ввод `ultracode` в подсказку запускает динамический рабочий процесс4462 * `true`: ввод `ultracode` в промпте запускает динамический рабочий процесс

4455 * `false`: вы можете вводить слово без запуска4463 * `false`: вы можете вводить это слово, не запуская рабочий процесс

4456* **По умолчанию**: `true`4464* **По умолчанию**: `true`

4457 4465 

4458```json settings.json theme={null}4466```json settings.json theme={null}


4461}4469}

4462```4470```

4463 4471 

4464Параметр усилия `ultracode`, `/workflows` и сохранённые команды рабочих процессов не затронуты.4472Настройка усилия `ultracode`, `/workflows` и сохранённые команды рабочих процессов не затрагиваются.

4465 4473 

4466<h3 id="workflowsizeguideline">4474<h3 id="workflowsizeguideline">

4467 `workflowSizeGuideline`4475 `workflowSizeGuideline`

4468</h3>4476</h3>

4469 4477 

4470Установите [количество агентов, на которое Claude нацелен](/docs/ru/workflows#set-a-size-guideline) в динамических рабочих процессах, которые он пишет. Claude Code отправляет значение Claude как совет, а не как принудительный предел: `"small"` просит менее 5 агентов, `"medium"` менее 10, и `"large"` менее 50. Выберите `"small"`, когда вы хотите ограничить, что тратит рабочий процесс. Требуется Claude Code v2.1.219 или позже.4478Задайте [количество агентов, к которому стремится Claude](/docs/ru/workflows#set-a-size-guideline) в создаваемых им динамических рабочих процессах. Claude Code передаёт значение Claude как рекомендацию, а не как жёсткий предел: `"small"` запрашивает менее 5 агентов, `"medium"` — менее 10, а `"large"` — менее 50. Выберите `"small"`, если хотите ограничить расходы рабочего процесса. Требуется Claude Code v2.1.219 или новее.

4471 4479 

4472* **Область действия**: [`Any file`](#scopes). Значение там имеет приоритет над выбором **Dynamic workflow size** в `/config`, который Claude Code хранит в `~/.claude.json`, и Claude Code скрывает эту строку, пока файл параметров устанавливает ключ.4480* **Область действия**: [`Any file`](#scopes). Значение из файла настроек имеет приоритет над выбором **Dynamic workflow size** в `/config`, который Claude Code хранит в `~/.claude.json`, и Claude Code скрывает эту строку, пока ключ задан в файле настроек.

4473* **Тип**: строка, одна из:4481* **Тип**: строка, одно из значений:

4474 * `"unrestricted"`: нет рекомендации, поэтому Claude размер рабочего процесса в соответствии с задачей4482 * `"unrestricted"`: рекомендации нет, поэтому Claude подбирает размер рабочего процесса под задачу

4475 * `"small"`: Claude нацелен на менее 5 агентов4483 * `"small"`: Claude стремится использовать менее 5 агентов

4476 * `"medium"`: Claude нацелен на менее 10 агентов4484 * `"medium"`: Claude стремится использовать менее 10 агентов

4477 * `"large"`: Claude нацелен на менее 50 агентов4485 * `"large"`: Claude стремится использовать менее 50 агентов

4478* **По умолчанию**: `"medium"`, или `"small"` когда вы вошли в систему на плане Pro с Claude Code v2.1.271 или позже4486* **По умолчанию**: `"medium"` или `"small"`, если вы вошли с планом Pro и используете Claude Code v2.1.271 или новее

4479 4487 

4480```json settings.json theme={null}4488```json settings.json theme={null}

4481{4489{


4483}4491}

4484```4492```

4485 4493 

4486Требуется Claude Code v2.1.219 или позже; на v2.1.202 через v2.1.218 установите рекомендацию в `/config` вместо этого.4494Требуется Claude Code v2.1.219 или новее; в версиях с v2.1.202 по v2.1.218 вместо этого задавайте рекомендацию в `/config`.

4487 4495 

4488<span id="plugin-configuration" />4496<span id="plugin-configuration" />

4489 4497 


5924 Аутентификация и поставщики5932 Аутентификация и поставщики

5925</h2>5933</h2>

5926 5934 

5927Предоставляйте учетные данные через вспомогательные скрипты и, для организаций, принудительно установите метод входа или организацию. См. [Аутентификация](/docs/ru/authentication).5935Предоставляйте учётные данные через вспомогательные скрипты и, для организаций, принудительно установите метод входа или организацию. См. [Аутентификация](/docs/ru/authentication).

5928 5936 

5929<h3 id="allowedproviders">5937<h3 id="allowedproviders">

5930 `allowedProviders`5938 `allowedProviders`

5931</h3>5939</h3>

5932 5940 

5933Перечислите сервисы, через которые машина может обращаться к Claude, такие как Anthropic API, Amazon Bedrock или LLM gateway. Сеанс на поставщике, который не указан в списке, отклоняется при запуске, при входе и когда он в следующий раз обращается к API, поэтому переключение на неуказанного поставщика во время сеанса также отклоняется. [Сообщение об отказе](/docs/ru/errors#managed-settings-dont-allow-this-api-provider) указывает, что выбрало поставщика и какие шаги предпринять для продолжения. Требуется Claude Code v2.1.285 или позже.5941Перечислите сервисы, через которые машина может обращаться к Claude, такие как Anthropic API, Amazon Bedrock или LLM-шлюз. Сессия на поставщике, который не указан в списке, отклоняется при запуске, при входе и когда она в следующий раз обращается к API, поэтому переключение на неуказанного поставщика во время сессии также отклоняется. [Сообщение об отказе](/docs/ru/errors#managed-settings-dont-allow-this-api-provider) указывает, что выбрало поставщика и какие шаги предпринять для продолжения. Требуется Claude Code v2.1.285 или позже.

5934 5942 

5935* **Scope**: [`Managed`](#scopes). Список, который устанавливают собственные источники администратора машины, политики MDM и файлы управляемых параметров, продолжает применяться, когда управляемые сервером параметры также предоставляют один: сеанс может затем использовать только поставщиков из обоих списков, поэтому управляемый сервером список может сузить то, что разрешает машина, но никогда не расширить это. Какой источник машины `allowedProviders` считается, следует [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources). Список, доставленный только через управляемые сервером параметры, достигает только сеансов, которые [получают управляемые сервером параметры](/docs/ru/server-managed-settings#platform-availability).5943* **Scope**: [`Managed`](#scopes). Список, который устанавливают собственные источники администратора машины, политики MDM и файлы управляемых настроек, продолжает применяться, когда управляемые сервером настройки также предоставляют свой: сессия может тогда использовать только поставщиков из обоих списков, поэтому управляемый сервером список может сузить то, что разрешает машина, но никогда не расширить это. Какой из источников машины с `allowedProviders` учитывается, определяется тем, [как Claude Code объединяет управляемые источники](/docs/ru/managed-settings#how-claude-code-combines-managed-sources). Список, доставленный только через управляемые сервером настройки, достигает только тех сессий, которые [получают управляемые сервером настройки](/docs/ru/server-managed-settings#platform-availability).

5936* **Type**: array of strings, each one of:5944* **Type**: array of strings, each one of:

5937 * `"anthropic"`: Anthropic API на собственном хосте Anthropic, через вход claude.ai или Console или API ключ. Объедините это с [`forceLoginMethod`](#forceloginmethod) или [`forceLoginOrgUUID`](#forceloginorguuid) чтобы также ограничить вход5945 * `"anthropic"`: Anthropic API на собственном хосте Anthropic, через вход claude.ai или Console или API-ключ. Объедините это с [`forceLoginMethod`](#forceloginmethod) или [`forceLoginOrgUUID`](#forceloginorguuid), чтобы также ограничить вход

5938 * `"bedrock"`: [Amazon Bedrock](/docs/ru/amazon-bedrock)5946 * `"bedrock"`: [Amazon Bedrock](/docs/ru/amazon-bedrock)

5939 * `"vertex"`: [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), ранее Vertex AI5947 * `"vertex"`: [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), ранее Vertex AI

5940 * `"foundry"`: [Microsoft Foundry](/docs/ru/microsoft-foundry)5948 * `"foundry"`: [Microsoft Foundry](/docs/ru/microsoft-foundry)

5941 * `"anthropicAws"`: [Claude Platform on AWS](/docs/ru/claude-platform-on-aws)5949 * `"anthropicAws"`: [Claude Platform on AWS](/docs/ru/claude-platform-on-aws)

5942 * `"mantle"`: конечная точка Amazon Bedrock [Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint). Сеанс, который [запускает Mantle вместе с Invoke API](/docs/ru/amazon-bedrock#run-mantle-alongside-the-invoke-api), использует обоих поставщиков, поэтому перечислите `"bedrock"` и `"mantle"` вместе для него5950 * `"mantle"`: [эндпоинт Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint) Amazon Bedrock. Сессия, которая [запускает Mantle вместе с Invoke API](/docs/ru/amazon-bedrock#run-mantle-alongside-the-invoke-api), использует обоих поставщиков, поэтому перечислите для неё `"bedrock"` и `"mantle"` вместе

5943 * `"customEndpoint"`: Anthropic API или API облачного поставщика, отправленные на другой хост, такой как [LLM gateway](/docs/ru/llm-gateway), названный `ANTHROPIC_BASE_URL`, переменная `ANTHROPIC_*_BASE_URL` поставщика или значение `ANTHROPIC_FOUNDRY_RESOURCE`, которое не является простым именем ресурса. Claude Code допускает это только для точного значения, которое управляемый блок [`env`](#env) закрепляет5951 * `"customEndpoint"`: Anthropic API или API облачного поставщика, отправляемые на другой хост, например [LLM-шлюз](/docs/ru/llm-gateway), указанный в `ANTHROPIC_BASE_URL`, переменная `ANTHROPIC_*_BASE_URL` поставщика или значение `ANTHROPIC_FOUNDRY_RESOURCE`, которое не является простым именем ресурса. Claude Code допускает это только для точного значения, которое закрепляет управляемый блок [`env`](#env)

5944 * `"gateway"`: вход [Cloud gateway](/docs/ru/claude-apps-gateway)5952 * `"gateway"`: вход через [Cloud gateway](/docs/ru/claude-apps-gateway)

5945* **Default**: unset, so any provider can be used5953* **Default**: unset, so any provider can be used

5946 5954 

5947```json managed-settings.json theme={null}5955```json managed-settings.json theme={null}


5950}5958}

5951```5959```

5952 5960 

5953Запись каждого облачного поставщика означает собственный сервис этого поставщика, включая его региональные, FIPS и приватные конечные точки.5961Запись каждого облачного поставщика означает собственный сервис этого поставщика, включая его региональные, FIPS и приватные эндпоинты.

5954 5962 

5955Запись, которую Claude Code не распознает как имя поставщика, удаляется и сообщается, а остальная часть списка остается в силе. С пустым списком или списком, каждая запись которого не распознана, Claude Code отклоняет каждого поставщика и не запускается на машине.5963Запись, которую Claude Code не распознаёт как имя поставщика, отбрасывается с уведомлением, а остальная часть списка остаётся в силе. С пустым списком или списком, каждая запись которого не распознана, Claude Code отклоняет всех поставщиков и не запускается на машине.

5956 5964 

5957<h4 id="endpoints-that-need-a-pin-in-managed-env">5965<h4 id="endpoints-that-need-a-pin-in-managed-env">

5958 Конечные точки, которым нужен pin в управляемом `env`5966 Эндпоинты, которым нужен pin в управляемом `env`

5959</h4>5967</h4>

5960 5968 

5961Pin — это значение переменной конечной точки, установленное в управляемом блоке [`env`](#env). Когда сеанс отправляет трафик поставщика куда-то, кроме собственного сервиса этого поставщика, Claude Code допускает это только если значение сеанса совпадает с pin. Эти конечные точки нуждаются в одном:5969Pin — это значение переменной эндпоинта, установленное в управляемом блоке [`env`](#env). Когда сессия отправляет трафик поставщика куда-то, кроме собственного сервиса этого поставщика, Claude Code допускает это, только если значение сессии совпадает с pin. Pin нужен следующим эндпоинтам:

5962 5970 

5963* **`"customEndpoint"` сеансы**: переменная, которая называет хост, такая как `ANTHROPIC_BASE_URL`5971* **Сессии `"customEndpoint"`**: переменная, которая указывает хост, например `ANTHROPIC_BASE_URL`

5964* **Amazon Bedrock**: переменные AWS SDK `AWS_ENDPOINT_URL`, `AWS_ENDPOINT_URL_BEDROCK` и `AWS_ENDPOINT_URL_BEDROCK_RUNTIME` когда они указывают вне собственного сервиса Bedrock. Сеанс остается под `"bedrock"` вместо `"customEndpoint"`5972* **Amazon Bedrock**: переменные AWS SDK `AWS_ENDPOINT_URL`, `AWS_ENDPOINT_URL_BEDROCK` и `AWS_ENDPOINT_URL_BEDROCK_RUNTIME`, когда они указывают за пределы собственного сервиса Bedrock. Сессия остаётся под `"bedrock"`, а не `"customEndpoint"`

5965* **URL входа шлюза**: сеанс остается под `"gateway"`, и [`forceLoginGatewayUrl`](#forcelogingatewayurl) также считается pin5973* **URL входа через шлюз**: сессия остаётся под `"gateway"`, и [`forceLoginGatewayUrl`](#forcelogingatewayurl) также считается pin

5966 5974 

5967Какие блоки `env` считаются pin, зависит от того, где установлен список:5975Какие блоки `env` считаются pin, зависит от того, где установлен список:

5968 5976 

5969* **Источник администратора на машине устанавливает список**: только блоки `env` собственных источников администратора машины считаются5977* **Источник администратора на машине устанавливает список**: учитываются только блоки `env` собственных источников администратора машины

5970* **Только управляемые сервером параметры устанавливают список**: значение `env` в этих управляемых сервером параметрах также считается5978* **Список устанавливают только управляемые сервером настройки**: значение `env` в этих управляемых сервером настройках также учитывается

5971 5979 

5972Список не судит переменные учетных данных и арендатора облачного поставщика или сетевой путь, такие как `HTTPS_PROXY` и параметры сертификата. Установите их для флота в управляемом блоке `env`.5980Список не оценивает переменные учётных данных и арендатора облачного поставщика или сетевой путь, такие как `HTTPS_PROXY` и настройки сертификатов. Установите их для всего парка машин в управляемом блоке `env`.

5973 5981 

5974<h3 id="apikeyhelper">5982<h3 id="apikeyhelper">

5975 `apiKeyHelper`5983 `apiKeyHelper`

5976</h3>5984</h3>

5977 5985 

5978Запустите собственную команду для создания учетных данных, которые Claude Code отправляет с запросами модели. Claude Code запускает команду через системную оболочку, `/bin/sh` на macOS и Linux и `cmd` на Windows, и отправляет её вывод как в заголовках `X-Api-Key`, так и в `Authorization: Bearer`. Используйте это для динамических или ротирующихся учетных данных, таких как краткосрочные токены, полученные из хранилища.5986Запустите собственную команду для создания учётных данных, которые Claude Code отправляет с запросами к модели. Claude Code запускает команду через системную оболочку, `/bin/sh` на macOS и Linux и `cmd` на Windows, и отправляет её вывод как в заголовке `X-Api-Key`, так и в `Authorization: Bearer`. Используйте это для динамических или ротируемых учётных данных, таких как краткосрочные токены, полученные из хранилища.

5979 5987 

5980* **Scope**: [`Any file`](#scopes)5988* **Scope**: [`Any file`](#scopes)

5981* **Type**: string, a shell command line5989* **Type**: string, a shell command line


5990Claude Code кэширует значение и повторно запускает команду в следующих случаях:5998Claude Code кэширует значение и повторно запускает команду в следующих случаях:

5991 5999 

5992* После истечения времени жизни кэша, пять минут по умолчанию или интервал, который вы установили с помощью [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/docs/ru/env-vars).6000* После истечения времени жизни кэша, пять минут по умолчанию или интервал, который вы установили с помощью [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/docs/ru/env-vars).

5993* Когда запрос к API Anthropic, напрямую или через [LLM gateway](/docs/ru/llm-gateway), завершается с ошибкой `401` или `403`.6001* Когда запрос к API Anthropic, напрямую или через [LLM-шлюз](/docs/ru/llm-gateway), завершается с ошибкой `401` или `403`.

5994* Перед отправкой запроса к API Anthropic, напрямую или через LLM gateway, когда кэшированный вывод — это JWT, который истек после того, как помощник его создал. Требуется Claude Code v2.1.246 или позже.6002* Перед отправкой запроса к API Anthropic, напрямую или через LLM-шлюз, когда кэшированный вывод — это JWT, который истёк после того, как помощник его создал. Требуется Claude Code v2.1.246 или позже.

5995 6003 

5996Последние два случая применяются только когда вывод помощника — это учетные данные, которые Claude Code отправляет, и `ANTHROPIC_AUTH_TOKEN` не установлен.6004Последние два случая применяются, только когда вывод помощника — это учётные данные, которые отправляет Claude Code, и `ANTHROPIC_AUTH_TOKEN` не установлен.

5997 6005 

5998В интерактивных сеансах, когда команда поступает из параметров проекта или локальных параметров, Claude Code не запускает её до тех пор, пока вы не примете приглашение доверия рабочей области. См. [Управление учетными данными](/docs/ru/authentication#credential-management).6006В интерактивных сессиях, когда команда поступает из настроек проекта или локальных настроек, Claude Code не запускает её до тех пор, пока вы не примете запрос доверия к рабочему пространству. См. [Управление учётными данными](/docs/ru/authentication#credential-management).

5999 6007 

6000<h3 id="awsauthrefresh">6008<h3 id="awsauthrefresh">

6001 `awsAuthRefresh`6009 `awsAuthRefresh`

6002</h3>6010</h3>

6003 6011 

6004Запустите собственную команду, такую как `aws sso login`, для обновления учетных данных в вашем каталоге `.aws` когда те, которые Claude Code имеет для [Amazon Bedrock](/docs/ru/amazon-bedrock), перестают работать. Claude Code сначала проверяет текущие учетные данные против STS и запускает команду только когда эта проверка не удается, затем читает обновленный каталог `.aws`.6012Запустите собственную команду, такую как `aws sso login`, для обновления учётных данных в вашем каталоге `.aws`, когда те, которые есть у Claude Code для [Amazon Bedrock](/docs/ru/amazon-bedrock), перестают работать. Claude Code сначала проверяет текущие учётные данные через STS и запускает команду, только когда эта проверка не проходит, затем читает обновлённый каталог `.aws`.

6013 

6014Когда проверка одновременно не проходит в нескольких процессах Claude Code, использующих одну и ту же команду и учётные данные, например в отдельных терминалах или окнах IDE, один процесс запускает команду, а остальные ждут результата этого запуска, не запуская команду сами. Процесс, который прождал 60 секунд с ожидающим запросом, запускает команду сам. Чтобы отключить это, установите [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](/docs/ru/env-vars) в `1`.

6005 6015 

6006* **Scope**: [`Any file`](#scopes)6016* **Scope**: [`Any file`](#scopes)

6007* **Type**: string, a shell command line6017* **Type**: string, a shell command line


6013}6023}

6014```6024```

6015 6025 

6016Используйте этот ключ, когда ваш поток обновления записывает в `.aws`; используйте [`awsCredentialExport`](#awscredentialexport) когда он выводит учетные данные вместо этого. См. [расширенную конфигурацию учетных данных](/docs/ru/amazon-bedrock#advanced-credential-configuration).6026Используйте этот ключ, когда ваш процесс обновления записывает в `.aws`; используйте [`awsCredentialExport`](#awscredentialexport), когда он вместо этого выводит учётные данные. См. [расширенную конфигурацию учётных данных](/docs/ru/amazon-bedrock#advanced-credential-configuration).

6017 6027 

6018<h3 id="awscredentialexport">6028<h3 id="awscredentialexport">

6019 `awsCredentialExport`6029 `awsCredentialExport`

6020</h3>6030</h3>

6021 6031 

6022Запустите собственную команду, которая выводит учетные данные AWS в формате JSON, чтобы Claude Code мог вызывать [Amazon Bedrock](/docs/ru/amazon-bedrock) с учетными данными, которые не находятся в вашем каталоге `.aws`. Claude Code принимает форму вывода `aws sts` и плоскую форму `aws configure export-credentials`, и ограничивает учетные данные своим собственным клиентом Bedrock, поэтому команды оболочки, которые запускает Claude Code, по-прежнему видят ваши окружающие учетные данные.6032Запустите собственную команду, которая выводит учётные данные AWS в формате JSON, чтобы Claude Code мог вызывать [Amazon Bedrock](/docs/ru/amazon-bedrock) с учётными данными, которые не находятся в вашем каталоге `.aws`. Claude Code принимает форму вывода `aws sts` и плоскую форму `aws configure export-credentials` и ограничивает учётные данные своим собственным клиентом Bedrock, поэтому команды оболочки, которые запускает Claude, по-прежнему видят ваши окружающие учётные данные.

6023 6033 

6024* **Scope**: [`Any file`](#scopes)6034* **Scope**: [`Any file`](#scopes)

6025* **Type**: string, a shell command line6035* **Type**: string, a shell command line


6031}6041}

6032```6042```

6033 6043 

6034В отличие от [`awsAuthRefresh`](#awsauthrefresh), Claude Code всегда запускает эту команду, когда она установлена, без предварительной проверки окружающих учетных данных. См. [расширенную конфигурацию учетных данных](/docs/ru/amazon-bedrock#advanced-credential-configuration).6044В отличие от [`awsAuthRefresh`](#awsauthrefresh), Claude Code всегда запускает эту команду, когда она установлена, без предварительной проверки окружающих учётных данных. См. [расширенную конфигурацию учётных данных](/docs/ru/amazon-bedrock#advanced-credential-configuration).

6035 6045 

6036<h3 id="forceloginmethod">6046<h3 id="forceloginmethod">

6037 `forceLoginMethod`6047 `forceLoginMethod`

6038</h3>6048</h3>

6039 6049 

6040Ограничьте, какой тип учетной записи люди могут использовать для входа. Установите `"claudeai"` чтобы разрешить только учетные записи claude.ai, `"console"` чтобы разрешить только учетные записи Claude Console, или `"gateway"` чтобы отправить людей на [облачный шлюз](/docs/ru/claude-apps-gateway) вместо входа первой стороны. Администраторы устанавливают это в управляемых параметрах и связывают это с [`forceLoginOrgUUID`](#forceloginorguuid) чтобы держать входы claude.ai разработчиков внутри одной организации. Если вы установите это на `"claudeai"` или `"console"` в любом файле параметров, Claude Code также перестает предлагать [вход в Console без ключа](/docs/ru/authentication#sign-in-without-an-api-key) в сеансах, к которым применяется этот файл.6050Ограничьте, с каким типом учётной записи люди могут входить. Установите `"claudeai"`, чтобы разрешить только учётные записи claude.ai, `"console"`, чтобы разрешить только учётные записи Claude Console, или `"gateway"`, чтобы направлять людей на [облачный шлюз](/docs/ru/claude-apps-gateway) вместо входа первой стороны. Администраторы устанавливают это в управляемых настройках и сочетают с [`forceLoginOrgUUID`](#forceloginorguuid), чтобы входы разработчиков в claude.ai оставались внутри одной организации. Если вы установите значение `"claudeai"` или `"console"` в любом файле настроек, Claude Code также перестаёт предлагать [вход в Console без ключа](/docs/ru/authentication#sign-in-without-an-api-key) в сессиях, к которым применяется этот файл.

6041 6051 

6042* **Scope**: [`Any file`](#scopes). Claude Code соблюдает `"gateway"` только из управляемого источника на машине: `managed-settings.json`, plist macOS или реестр Windows HKLM, или помощник политики. Он рассматривает `"gateway"` как неустановленный в пользовательских, проектных, локальных, HKCU и управляемых сервером параметрах, то же правило, что и [`forceLoginGatewayUrl`](#forcelogingatewayurl).6052* **Scope**: [`Any file`](#scopes). Claude Code учитывает `"gateway"` только из управляемого источника на машине: `managed-settings.json`, plist macOS или реестра Windows HKLM, или помощника политики. Он рассматривает `"gateway"` как неустановленное значение в пользовательских, проектных, локальных, HKCU и управляемых сервером настройках — то же правило, что и для [`forceLoginGatewayUrl`](#forcelogingatewayurl).

6043* **Type**: string, one of:6053* **Type**: string, one of:

6044 * `"claudeai"`: only claude.ai accounts can log in6054 * `"claudeai"`: only claude.ai accounts can log in

6045 * `"console"`: only Claude Console accounts can log in6055 * `"console"`: only Claude Console accounts can log in


6052}6062}

6053```6063```

6054 6064 

6055Каждый путь входа первой стороны применяет ограничение, включая [расширение VS Code](/docs/ru/vs-code), Agent SDK, `claude setup-token` и `/install-github-app`, за исключением интерактивного экрана входа терминала, доступного через `/login` или первоначальную настройку, который предварительно выбирает метод без его принудительного применения. До v2.1.212 только входы терминала применяли это. См. [Ограничить вход в вашу организацию](/docs/ru/authentication#restrict-login-to-your-organization) для того, как каждый путь входа, учетные данные окружения и поставщики третьих сторон обрабатываются.6065Каждый путь входа первой стороны применяет ограничение, включая [расширение VS Code](/docs/ru/vs-code), Agent SDK, `claude setup-token` и `/install-github-app`, за исключением интерактивного экрана входа в терминале, доступного через `/login` или первоначальную настройку, который предварительно выбирает метод без его принудительного применения. До v2.1.212 ограничение применялось только при входе через терминал. См. [Ограничить вход вашей организацией](/docs/ru/authentication#restrict-login-to-your-organization), чтобы узнать, как обрабатываются каждый путь входа, учётные данные окружения и сторонние поставщики.

6056 6066 

6057Когда управляемый источник на машине устанавливает `"gateway"`, Claude Code не использует оставшийся вход, API ключ или учетные данные `apiKeyHelper`. См. [Политика администратора требует вход через облачный шлюз](/docs/ru/errors#administrator-policy-requires-a-cloud-gateway-sign-in) для сообщения, которое каждый из них выдает. Если вы выбираете облачного поставщика через `CLAUDE_CODE_USE_BEDROCK` или аналогичную переменную окружения, сеанс не требует входа через шлюз. До v2.1.261 Claude Code использовал оставшийся вход на этих машинах.6067Когда управляемый источник на машине устанавливает `"gateway"`, Claude Code не использует оставшийся вход, API-ключ или учётные данные `apiKeyHelper`. См. [Политика администратора требует вход через облачный шлюз](/docs/ru/errors#administrator-policy-requires-a-cloud-gateway-sign-in), чтобы узнать, какое сообщение выдаёт каждый из них. Если вы выбираете облачного поставщика через `CLAUDE_CODE_USE_BEDROCK` или аналогичную переменную окружения, сессии не требуется вход через шлюз. До v2.1.261 Claude Code использовал оставшийся вход на таких машинах.

6058 6068 

6059<h3 id="forcelogingatewayurl">6069<h3 id="forcelogingatewayurl">

6060 `forceLoginGatewayUrl`6070 `forceLoginGatewayUrl`

6061</h3>6071</h3>

6062 6072 

6063Установите URL шлюза, к которому подключается экран `/login` облачного шлюза, чтобы люди достигли вашего [облачного шлюза](/docs/ru/claude-apps-gateway) без ввода его адреса. На экране нет поля URL: с установленным этим ключом он показывает URL вашего шлюза и подключается, когда человек нажимает Enter; без него он говорит им связаться с администратором IT.6073Установите URL шлюза, к которому подключается экран облачного шлюза `/login`, чтобы люди попадали на ваш [облачный шлюз](/docs/ru/claude-apps-gateway) без ввода его адреса. На экране нет поля URL: если этот ключ установлен, экран показывает URL вашего шлюза и подключается, когда человек нажимает Enter; без него экран предлагает обратиться к IT-администратору.

6064 6074 

6065Либо этот ключ, либо `forceLoginMethod: "gateway"` делает машину только шлюзом, за исключением сеансов, которые выбирают облачного поставщика с помощью `CLAUDE_CODE_USE_*`. `/login` затем открывается на экране облачного шлюза без средства выбора метода входа. См. [Политика администратора требует вход через облачный шлюз](/docs/ru/errors#administrator-policy-requires-a-cloud-gateway-sign-in) для того, что происходит с оставшимся входом первой стороны или API ключом. Установите оба ключа, чтобы экран подключился вместо показа ошибки.6075Либо этот ключ, либо `forceLoginMethod: "gateway"` делает машину доступной только через шлюз, за исключением сессий, которые выбирают облачного поставщика с помощью `CLAUDE_CODE_USE_*`. Тогда `/login` открывается на экране облачного шлюза без выбора метода входа. См. [Политика администратора требует вход через облачный шлюз](/docs/ru/errors#administrator-policy-requires-a-cloud-gateway-sign-in), чтобы узнать, что происходит с оставшимся входом первой стороны или API-ключом. Установите оба ключа, чтобы экран подключался, а не показывал ошибку.

6066 6076 

6067* **Scope**: [`Managed`](#scopes). Read only from a source on the machine: `managed-settings.json`, the macOS plist or Windows HKLM registry, or a policy helper. Claude Code ignores it in HKCU and server-managed settings.6077* **Scope**: [`Managed`](#scopes). Read only from a source on the machine: `managed-settings.json`, the macOS plist or Windows HKLM registry, or a policy helper. Claude Code ignores it in HKCU and server-managed settings.

6068* **Type**: string, a full URL including the scheme6078* **Type**: string, a full URL including the scheme


6074}6084}

6075```6085```

6076 6086 

6077Если значение не является действительным URL, экран входа сообщает об этом, и остальная часть файла управляемых параметров по-прежнему применяется. См. [Установить URL шлюза](/docs/ru/claude-apps-gateway#set-the-gateway-url).6087Если значение не является действительным URL, экран входа сообщает об этом, а остальная часть файла управляемых настроек по-прежнему применяется. См. [Установить URL шлюза](/docs/ru/claude-apps-gateway#set-the-gateway-url).

6078 6088 

6079<h3 id="forceloginorguuid">6089<h3 id="forceloginorguuid">

6080 `forceLoginOrgUUID`6090 `forceLoginOrgUUID`

6081</h3>6091</h3>

6082 6092 

6083Из управляемого источника требуйте, чтобы входы учетной записи claude.ai принадлежали одной организации Anthropic, указанной как один UUID, или любой из нескольких организаций, указанных как массив. Из любого файла параметров Claude Code также использует один UUID для предварительного выбора этой организации во время входа claude.ai или Claude Console, и не предварительно выбирает ничего для массива. Если вы установите ключ в любом файле параметров, Claude Code также перестает предлагать [вход в Console без ключа](/docs/ru/authentication#sign-in-without-an-api-key) в сеансах, к которым применяется этот файл, и вместо этого создает API ключ.6093Из управляемого источника требуйте, чтобы входы с учётной записью claude.ai принадлежали одной организации Anthropic, указанной как один UUID, или любой из нескольких организаций, указанных как массив. Из любого файла настроек Claude Code также использует один UUID для предварительного выбора этой организации во время входа в claude.ai или Claude Console и ничего не выбирает предварительно для массива. Если вы установите ключ в любом файле настроек, Claude Code также перестаёт предлагать [вход в Console без ключа](/docs/ru/authentication#sign-in-without-an-api-key) в сессиях, к которым применяется этот файл, и вместо этого создаёт API-ключ.

6084 6094 

6085* **Scope**: [`Any file`](#scopes). Only a managed source enforces the restriction; a single UUID in any other settings file pre-selects the organization during login without restricting it.6095* **Scope**: [`Any file`](#scopes). Only a managed source enforces the restriction; a single UUID in any other settings file pre-selects the organization during login without restricting it.

6086* **Type**: string, one UUID, or array of strings, several UUIDs6096* **Type**: string, one UUID, or array of strings, several UUIDs

6087* **Default**: unset, so any organization can log in6097* **Default**: unset, so any organization can log in

6088 6098 

6089Этот пример принимает входы из любой из двух организаций без предварительного выбора одной:6099Этот пример принимает входы из любой из двух организаций без предварительного выбора одной из них:

6090 6100 

6091```json managed-settings.json theme={null}6101```json managed-settings.json theme={null}

6092{6102{


6094}6104}

6095```6105```

6096 6106 

6097Если управляемый источник устанавливает пустой массив или значение, которое Claude Code не может разобрать, Claude Code блокирует каждый вход с сообщением о неправильной конфигурации.6107Если управляемый источник устанавливает пустой массив или значение, которое Claude Code не может разобрать, Claude Code блокирует любой вход с сообщением о неправильной конфигурации.

6098 6108 

6099См. [Ограничить вход в вашу организацию](/docs/ru/authentication#restrict-login-to-your-organization) для того, как Claude Code обрабатывает входы Claude Console, другие пути входа и учетные данные окружения.6109См. [Ограничить вход вашей организацией](/docs/ru/authentication#restrict-login-to-your-organization), чтобы узнать, как Claude Code обрабатывает входы в Claude Console, другие пути входа и учётные данные окружения.

6100 6110 

6101<h3 id="gatewayinternalnetworks">6111<h3 id="gatewayinternalnetworks">

6102 `gatewayInternalNetworks`6112 `gatewayInternalNetworks`

6103</h3>6113</h3>

6104 6114 

6105Объявите публичные блоки IPv4, из которых ваша организация нумерует свою внутреннюю сеть, чтобы `/login` принимал [облачный шлюз](/docs/ru/claude-apps-gateway) там. Требуется Claude Code v2.1.268 или позже.6115Объявите публичные блоки IPv4, из которых ваша организация нумерует свою внутреннюю сеть, чтобы `/login` принимал [облачный шлюз](/docs/ru/claude-apps-gateway) в них. Требуется Claude Code v2.1.268 или позже.

6106 6116 

6107Без этого ключа `/login` подключается к любому шлюзу на приватном адресе и ничему больше. С ним `/login` также принимает шлюз внутри указанного блока, только через прямое соединение. Собственный адрес машины на этом соединении также должен быть внутри того же блока.6117Без этого ключа `/login` подключается к любому шлюзу на приватном адресе и больше ни к чему. С ним `/login` также принимает шлюз внутри указанного блока, только через прямое соединение. Собственный адрес машины в этом соединении также должен находиться внутри того же блока.

6108 6118 

6109* **Scope**: [`Managed`](#scopes). Read only from a source on the machine: `managed-settings.json`, the macOS plist or Windows HKLM registry, or a policy helper. Claude Code ignores it in HKCU and server-managed settings.6119* **Scope**: [`Managed`](#scopes). Read only from a source on the machine: `managed-settings.json`, the macOS plist or Windows HKLM registry, or a policy helper. Claude Code ignores it in HKCU and server-managed settings.

6110* **Type**: array of strings, at most four IPv4 CIDR blocks, each `/8` to `/32`, not overlapping one another, and none overlapping private space.6120* **Type**: array of strings, at most four IPv4 CIDR blocks, each `/8` to `/32`, not overlapping one another, and none overlapping private space.


6116}6126}

6117```6127```

6118 6128 

6119Замените диапазон документации в примере на ваш собственный блок. Claude Code отказывает диапазонам документации, диапазонам, которые используют локально клиенты VPN и NAT64, и зарезервированному пространству, из которого не нумеруется ни одна сеть, такому как многоадресная рассылка.6129Замените диапазон для документации в примере на ваш собственный блок. Claude Code отклоняет диапазоны для документации, диапазоны, которые локально используют клиенты VPN и NAT64, и зарезервированное пространство, из которого не нумеруется ни одна сеть, например многоадресное.

6120 6130 

6121Если запись недействительна или значение не является списком строк, `/login` называет проблему и отказывает каждому новому входу через облачный шлюз на машине до тех пор, пока вы не исправите значение. Существующие входы продолжают работать. См. [Разрешить шлюз на адресном пространстве общего пользования, которым вы владеете](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) для полных правил и того, что видят разработчики.6131Если запись недействительна или значение не является списком строк, `/login` называет проблему и отклоняет любой новый вход через шлюз на машине до тех пор, пока вы не исправите значение. Существующие входы продолжают работать. См. [Разрешить шлюз в принадлежащем вам публичном адресном пространстве](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), чтобы узнать полные правила и то, что видят разработчики.

6122 6132 

6123<h3 id="gcpauthrefresh">6133<h3 id="gcpauthrefresh">

6124 `gcpAuthRefresh`6134 `gcpAuthRefresh`

6125</h3>6135</h3>

6126 6136 

6127Запустите собственную команду для обновления Google Cloud Application Default Credentials когда Claude Code обнаруживает, что они истекли или не могут быть загружены, чтобы запросы [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) продолжали работать без повторной аутентификации вручную.6137Запустите собственную команду для обновления Google Cloud Application Default Credentials, когда Claude Code обнаруживает, что они истекли или не могут быть загружены, чтобы запросы к [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) продолжали работать без повторной аутентификации вручную.

6138 

6139Когда несколько процессов Claude Code, использующих одну и ту же команду и учётные данные, например в отдельных терминалах или окнах IDE, одновременно обнаруживают, что учётные данные истекли, один процесс запускает команду, а остальные ждут результата этого запуска, не запуская команду сами. Процесс, который прождал 60 секунд с ожидающим запросом, запускает команду сам. Чтобы отключить это, установите [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](/docs/ru/env-vars) в `1`.

6128 6140 

6129* **Scope**: [`Any file`](#scopes)6141* **Scope**: [`Any file`](#scopes)

6130* **Type**: string, a shell command line6142* **Type**: string, a shell command line


6136}6148}

6137```6149```

6138 6150 

6139См. [расширенную конфигурацию учетных данных](/docs/ru/google-vertex-ai#advanced-credential-configuration).6151См. [расширенную конфигурацию учётных данных](/docs/ru/google-vertex-ai#advanced-credential-configuration).

6140 6152 

6141<h3 id="otelheadershelper">6153<h3 id="otelheadershelper">

6142 `otelHeadersHelper`6154 `otelHeadersHelper`

6143</h3>6155</h3>

6144 6156 

6145Запустите собственную команду для создания заголовков, которые Claude Code отправляет с экспортами OpenTelemetry, для бэкендов, чьи токены ротируются. Claude Code запускает её при запуске и периодически после этого, и ожидает объект JSON значений строковых заголовков на stdout.6157Запустите собственную команду для создания заголовков, которые Claude Code отправляет с экспортами OpenTelemetry, для бэкендов с ротируемыми токенами. Claude Code запускает её при старте и затем периодически и ожидает в stdout объект JSON со строковыми значениями заголовков.

6146 6158 

6147* **Scope**: [`Any file`](#scopes)6159* **Scope**: [`Any file`](#scopes)

6148* **Type**: string, an executable path or a shell command line6160* **Type**: string, an executable path or a shell command line


6154}6166}

6155```6167```

6156 6168 

6157Установите интервал обновления с помощью [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/docs/ru/env-vars). См. [Динамические заголовки](/docs/ru/monitoring-usage#dynamic-headers) для требований скрипта и что происходит, когда помощник не работает.6169Установите интервал обновления с помощью [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/docs/ru/env-vars). См. [Динамические заголовки](/docs/ru/monitoring-usage#dynamic-headers), чтобы узнать требования к скрипту и что происходит, когда помощник завершается с ошибкой.

6158 6170 

6159<h2 id="updates-and-versioning">6171<h2 id="updates-and-versioning">

6160 Обновления и версионирование6172 Обновления и версионирование

Details

22| `curl: (23)` или `curl: (56) Failure writing output to destination` | [Проверьте подключение или используйте альтернативный установщик](#curl-56-failure-writing-output-to-destination) |22| `curl: (23)` или `curl: (56) Failure writing output to destination` | [Проверьте подключение или используйте альтернативный установщик](#curl-56-failure-writing-output-to-destination) |

23| `Killed` во время установки на Linux, или `Installation was killed before it could finish (exit code 137)` | [Освободите память или добавьте пространство подкачки](#install-killed-on-low-memory-linux-servers) |23| `Killed` во время установки на Linux, или `Installation was killed before it could finish (exit code 137)` | [Освободите память или добавьте пространство подкачки](#install-killed-on-low-memory-linux-servers) |

24| `Raw mode is not supported` во время установки | [Повторно запустите установщик](#raw-mode-is-not-supported-during-install) |24| `Raw mode is not supported` во время установки | [Повторно запустите установщик](#raw-mode-is-not-supported-during-install) |

25| `EACCES: permission denied` во время установки | [Исправьте права доступа к каталогу установки](#permission-errors-during-installation) |

25| `TLS connect error` или `SSL/TLS secure channel` | [Обновите сертификаты CA](#tls-or-ssl-connection-errors) |26| `TLS connect error` или `SSL/TLS secure channel` | [Обновите сертификаты CA](#tls-or-ssl-connection-errors) |

26| `Failed to fetch version` или невозможно достичь сервера загрузки | [Проверьте параметры сети и прокси](#check-network-connectivity) |27| `Failed to fetch version` или невозможно достичь сервера загрузки | [Проверьте параметры сети и прокси](#check-network-connectivity) |

27| `irm is not recognized` или `The token '&&' is not a valid statement separator` | [Используйте правильную команду для вашей оболочки](#wrong-install-command-on-windows) |28| `irm is not recognized` или `The token '&&' is not a valid statement separator` | [Используйте правильную команду для вашей оболочки](#wrong-install-command-on-windows) |


295 Проверьте разрешения директорий296 Проверьте разрешения директорий

296</h3>297</h3>

297 298 

298Установщику нужен доступ на запись в `~/.local/bin/` и `~/.claude/` на macOS и Linux. На Windows место установки находится под `%USERPROFILE%`, которое по умолчанию доступно для записи вашим пользователем, поэтому этот раздел редко применяется там.299Если установка завершается ошибкой из-за прав доступа, в сообщении указывается путь, который не удалось создать или в который не удалось выполнить запись. На Windows установка записывает файлы в `%USERPROFILE%`, которое по умолчанию доступно для записи вашим пользователем, поэтому этот раздел редко применяется там.

300 

301На macOS и Linux установка записывает файлы в следующие места:

302 

303* `~/.claude/downloads/`: куда команда установки помещает загруженный бинарный файл

304* `~/.local/bin/`: запускатель `claude`

305* `~/.local/share/claude/`: каждая загружаемая версия

306* `~/.local/state/claude/`: файлы блокировки

307* `~/.cache/claude/`: промежуточные загрузки

308* [`~/.claude.json`](/docs/ru/claude-directory): ваш глобальный файл конфигурации, в котором установщик записывает способ установки

309 

310Если вы задали `XDG_DATA_HOME`, `XDG_STATE_HOME` или `XDG_CACHE_HOME`, установка использует их вместо `~/.local/share`, `~/.local/state` и `~/.cache`. Если вы задали [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars), глобальный файл конфигурации находится в этом каталоге, а не в вашем домашнем каталоге.

299 311 

300Проверьте, доступны ли директории для записи:312Проверьте, доступны ли директории для записи:

301 313 


1014 1026 

1015**Решения:**1027**Решения:**

1016 1028 

1017* Нажмите Enter, чтобы повторить и завершить вход быстро после открытия браузера1029* Нажмите Enter, чтобы повторить попытку и завершить вход быстро после открытия браузера

1018* Введите `c`, чтобы скопировать полный URL, если браузер не открывается автоматически1030* Введите `c`, чтобы скопировать полный URL, если браузер не открывается автоматически

1019* Если используете удалённую/SSH сессию, браузер может открыться на неправильной машине. Скопируйте URL, отображаемый в терминале, и откройте его в вашем локальном браузере вместо этого.1031* Если используете удалённую/SSH сессию, браузер может открыться на неправильной машине. Скопируйте URL, отображаемый в терминале, и откройте его в вашем локальном браузере вместо этого.

1020 1032 


1043 This organization has been disabled with an active subscription1055 This organization has been disabled with an active subscription

1044</h3>1056</h3>

1045 1057 

1046Если вы видите `API Error: 400 ... "This organization has been disabled"` несмотря на активную подписку Claude, переменная окружения `ANTHROPIC_API_KEY` переопределяет вашу подписку. Это обычно происходит, когда старый API ключ от предыдущего работодателя или проекта всё ещё установлен в вашем профиле оболочки.1058Если вы видите `API Error: 400 ... "This organization has been disabled"` несмотря на активную подписку Claude, переменная окружения `ANTHROPIC_API_KEY` переопределяет вашу подписку. Это обычно происходит, когда старый API-ключ от предыдущего работодателя или проекта всё ещё установлен в вашем профиле оболочки.

1047 1059 

1048Когда `ANTHROPIC_API_KEY` присутствует и вы его одобрили, Claude Code использует этот ключ вместо учётных данных OAuth вашей подписки. В неинтерактивном режиме с флагом `-p` ключ всегда используется, когда присутствует. См. [authentication precedence](/docs/ru/authentication#authentication-precedence) для полного порядка разрешения.1060Когда `ANTHROPIC_API_KEY` присутствует и вы его одобрили, Claude Code использует этот ключ вместо учётных данных OAuth вашей подписки. В неинтерактивном режиме с флагом `-p` ключ всегда используется, когда присутствует. См. [authentication precedence](/docs/ru/authentication#authentication-precedence) для полного порядка разрешения.

1049 1061 


1088claude auth login1100claude auth login

1089```1101```

1090 1102 

1091Этот fallback также применяется на нативном Windows или любом терминале, где вставка в интерактивное приглашение не удаётся.1103Этот резервный вариант также применяется на нативном Windows или любом терминале, где вставка в интерактивное приглашение не удаётся.

1092 1104 

1093<h3 id="not-logged-in-or-token-expired">1105<h3 id="not-logged-in-or-token-expired">

1094 Not logged in or token expired1106 Not logged in or token expired


1098 1110 

1099Запустите `/login`, чтобы повторно аутентифицироваться. Если это происходит часто, проверьте, что ваши системные часы точны, так как валидация токена зависит от правильных временных меток.1111Запустите `/login`, чтобы повторно аутентифицироваться. Если это происходит часто, проверьте, что ваши системные часы точны, так как валидация токена зависит от правильных временных меток.

1100 1112 

1101Параллельные сессии на одной машине используют сохранённый вход и координируют его обновление, так что только один процесс обновляет токен одновременно. До версии 2.1.211 пробуждение машины из режима сна могло привести к тому, что две сессии обновляли один и тот же токен, что отзывало сохранённый вход и предлагало каждой открытой сессии войти снова одновременно.1113Параллельные сессии на одной машине используют общий сохранённый вход и координируют его обновление, так что только один процесс обновляет токен одновременно. О том, что делают другие сессии после того, как вы снова войдёте в одной из них, см. [Not logged in](/docs/ru/errors#not-logged-in).

1114 

1115До версии 2.1.211 пробуждение машины из режима сна могло привести к тому, что две сессии обновляли один и тот же токен, что отзывало сохранённый вход и предлагало каждой открытой сессии войти снова одновременно.

1102 1116 

1103На macOS Claude Code сохраняет учётные данные в Keychain входа. Когда Keychain отклоняет запись, например когда он заблокирован в SSH сессии или его пароль не синхронизирован с паролем вашей учётной записи, Claude Code сохраняет ваш вход в открытый текстовый файл `~/.claude/.credentials.json` вместо этого. Вход в Console, который создаёт API ключ, не удаётся до тех пор, пока Keychain снова не станет доступным для записи.1117На macOS Claude Code сохраняет учётные данные в Keychain входа. Когда Keychain отклоняет запись, например когда он заблокирован в SSH сессии или его пароль не синхронизирован с паролем вашей учётной записи, Claude Code сохраняет ваш вход в открытый текстовый файл `~/.claude/.credentials.json` вместо этого. Вход в Console, который создаёт API-ключ, не удаётся до тех пор, пока Keychain снова не станет доступным для записи.

1104 1118 

1105Чтобы сделать Keychain доступным для записи снова и переместить ваш вход обратно в зашифрованный Keychain:1119Чтобы сделать Keychain доступным для записи снова и переместить ваш вход обратно в зашифрованный Keychain:

1106 1120 


1122 </Step>1136 </Step>

1123 1137 

1124 <Step title="Выйдите и войдите снова">1138 <Step title="Выйдите и войдите снова">

1125 Когда Keychain снова доступен для записи, Claude Code перемещает учётные данные обратно при следующей записи учётных данных. Чтобы сделать это сейчас, запустите `/logout` и затем `/login`. Выход удаляет все сохранённые учётные данные, включая содержимое открытого текстового файла, сохранённые входы MCP сервера и значения секретов плагина, поэтому ожидайте повторной авторизации MCP серверов и повторного ввода секретов плагина после этого. Вход снова сохраняет ваш вход в Keychain.1139 Когда Keychain снова доступен для записи, Claude Code перемещает учётные данные обратно при следующей записи учётных данных. Чтобы сделать это сейчас, запустите `/logout` и затем `/login`. Выход удаляет все сохранённые учётные данные, включая содержимое открытого текстового файла, сохранённые входы MCP-серверов и значения секретов плагинов, поэтому ожидайте повторной авторизации MCP-серверов и повторного ввода секретов плагинов после этого. Вход снова сохраняет ваш вход в Keychain.

1126 </Step>1140 </Step>

1127</Steps>1141</Steps>

1128 1142 


1150az login1164az login

1151```1165```

1152 1166 

1153Если учётные данные работают в вашем терминале, но не в расширении VS Code или JetBrains, процесс IDE вероятно не унаследовал вашу среду оболочки. Установите переменные окружения провайдера в собственных параметрах IDE или запустите IDE из терминала, где они уже экспортированы.1167Если учётные данные работают в вашем терминале, но не в расширении VS Code или JetBrains, процесс IDE вероятно не унаследовал вашу среду оболочки. Установите переменные окружения провайдера в собственных настройках IDE или запустите IDE из терминала, где они уже экспортированы.

1154 1168 

1155См. [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) или [Microsoft Foundry](/docs/ru/microsoft-foundry) для полной настройки провайдера.1169См. [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) или [Microsoft Foundry](/docs/ru/microsoft-foundry) для полной настройки провайдера.

1156 1170 

Details

803. Переместите работу с большим файлом на [subagent](/docs/ru/sub-agents), чтобы она работала в отдельном окне контекста803. Переместите работу с большим файлом на [subagent](/docs/ru/sub-agents), чтобы она работала в отдельном окне контекста

814. Запустите `/clear`, если более ранний разговор больше не нужен814. Запустите `/clear`, если более ранний разговор больше не нужен

82 82 

83Если ошибка возвращается после `/clear`, запустите [`/context`](/docs/ru/debug-your-config) и сравните строку `Messages` со строками над ней:

84 

85* **`Messages` — самая большая строка**: файл или вывод инструмента в новом диалоге снова заполняет окно, поэтому ещё раз выполните шаги с 1 по 3

86* **Остальные строки вместе больше**: то, что загружается при запуске сессии, оставляет слишком мало места для работы, поэтому [сократите то, что загружается при запуске](/docs/ru/errors#prompt-is-too-long)

87 

83<h3 id="command-hangs-or-freezes">88<h3 id="command-hangs-or-freezes">

84 Команда зависает или не отвечает89 Команда зависает или не отвечает

85</h3>90</h3>

worktrees.md +2 −0

Details

131 131 

132Worktrees subagents используют ту же [базовую ветку](#choose-the-base-branch), что и `--worktree`, поэтому они ветвятся от ветки по умолчанию вашего репозитория, если только `worktree.baseRef` не установлен на `"head"`.132Worktrees subagents используют ту же [базовую ветку](#choose-the-base-branch), что и `--worktree`, поэтому они ветвятся от ветки по умолчанию вашего репозитория, если только `worktree.baseRef` не установлен на `"head"`.

133 133 

134Субагент в собственном worktree получает файлы инструкций, с которыми он [запускается](/docs/ru/sub-agents#what-loads-at-startup), из вашего основного диалога, а не из своего worktree. Когда этот worktree находится в расположении по умолчанию в `.claude/worktrees/`, субагент также не загружает файл `CLAUDE.md` или каталог `.claude/rules/` в корне worktree при чтении файлов там, даже если они отличаются в ветке worktree.

135 

134<h3 id="clean-up-subagent-and-background-session-worktrees">136<h3 id="clean-up-subagent-and-background-session-worktrees">

135 Очистка worktrees subagent и фоновых сеансов137 Очистка worktrees subagent и фоновых сеансов

136</h3>138</h3>