SpyBara
Go Premium

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

68 files changed +4,209 −2,634. View all changes and history on the product overview
2026
Fri 2 07: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>

admin-setup.md +22 −1

Details

123 123 

124Ни один из этих элементов управления не достигает сеансов на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). На этих поставщиках используйте вместо этого управляемые параметры: `availableModels` для ограничений, `model` для значения по умолчанию и [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel) для ограничения усилий.124Ни один из этих элементов управления не достигает сеансов на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или [Claude Platform on AWS](/docs/ru/claude-platform-on-aws). На этих поставщиках используйте вместо этого управляемые параметры: `availableModels` для ограничений, `model` для значения по умолчанию и [`maxEffortLevel`](/docs/ru/settings-reference#maxeffortlevel) для ограничения усилий.

125 125 

126[Cloud sessions](/docs/ru/claude-code-on-the-web) имеют собственную поверхность администратора: на странице облачных сред в параметрах администратора владельцы создают [среды, общие для организации](/docs/ru/cloud-environments#organization-shared-environments), которые устанавливают [уровень сетевого доступа](/docs/ru/cloud-environments#network-access), переменные окружения и скрипт настройки для облачных сеансов членов. Владельцы выбирают среду организации по умолчанию отдельно на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).126[Облачные сессии](/docs/ru/claude-code-on-the-web) имеют собственные интерфейсы администрирования на claude.ai:

127 

128* **Страница облачных сред**: владельцы создают [среды, общие для организации](/docs/ru/cloud-environments#organization-shared-environments), которые задают [уровень сетевого доступа](/docs/ru/cloud-environments#network-access), переменные окружения и скрипт настройки для облачных сессий участников.

129* **Среда по умолчанию**: владельцы выбирают среду организации по умолчанию отдельно на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code).

130* **Страница GitHub**: см. [Подключённые учётные записи GitHub](#connected-github-accounts), чтобы узнать об учётных записях GitHub, связанных с вашей организацией.

127 131 

128Правила разрешений и песочница охватывают разные уровни. Запрет WebFetch блокирует инструмент fetch Claude, но если Bash разрешён, `curl` и `wget` всё ещё могут достичь любого URL-адреса. Песочница закрывает этот пробел с помощью allowlist доменов сети, применяемого на уровне ОС.132Правила разрешений и песочница охватывают разные уровни. Запрет WebFetch блокирует инструмент fetch Claude, но если Bash разрешён, `curl` и `wget` всё ещё могут достичь любого URL-адреса. Песочница закрывает этот пробел с помощью allowlist доменов сети, применяемого на уровне ОС.

129 133 

130Для модели угроз, которую защищают эти элементы управления, см. [Безопасность](/docs/ru/security).134Для модели угроз, которую защищают эти элементы управления, см. [Безопасность](/docs/ru/security).

131 135 

136<h3 id="connected-github-accounts">

137 Подключённые учётные записи GitHub

138</h3>

139 

140В планах Team и Enterprise на странице [**Admin settings > GitHub**](https://claude.ai/admin-settings/github) перечислены организации GitHub и личные учётные записи, связанные с вашей организацией Claude через [Claude GitHub App](https://github.com/apps/claude). Claude Code, [Claude Tag](https://claude.com/docs/claude-tag/admins/configure-github) и Claude Security используют общий список. Чтобы открыть его, требуется роль администратора в вашей организации Claude.

141 

142Связать учётную запись может администратор или участник:

143 

144* **Подключение администратором**: администратор нажимает **Connect** на этой странице и устанавливает Claude GitHub App в организацию GitHub. Для связывания организации этим способом нужен человек, который одновременно является владельцем организации GitHub и администратором вашей организации Claude.

145* **Подключение участником**: когда участник подключает свою учётную запись GitHub к Claude, например при [настройке облачных сессий](/docs/ru/web-quickstart#connect-github), Claude связывает учётные записи GitHub, которыми владеет этот участник и в которых уже установлено Claude GitHub App. Это может включать его личную учётную запись и организации GitHub, которыми он владеет.

146 

147Строка с пометкой **Not linked** появляется из-за вашего собственного входа в GitHub. Это учётная запись, которую вы видите на GitHub и в которой установлено Claude GitHub App.

148 

149Чтобы отвязать учётную запись от вашей организации Claude, откройте меню её строки и выберите **Unlink from this workspace**. При отвязывании Claude GitHub App остаётся установленным на GitHub, и учётная запись снова будет связана, когда один из её владельцев в следующий раз подключит GitHub к Claude. Чтобы она не была связана снова, удалите Claude GitHub App из этой учётной записи на GitHub.

150 

151В планах Enterprise типы действий [Compliance API](https://platform.claude.com/docs/en/api/compliance/activities/list) для связывания и отвязывания — `github_app_installation_linked` и `github_app_installation_unlinked`.

152 

132<h2 id="set-up-usage-visibility">153<h2 id="set-up-usage-visibility">

133 Настройте видимость использования154 Настройте видимость использования

134</h2>155</h2>

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

260Ваш callback возвращает объект с двумя категориями полей:260Ваш callback возвращает объект с двумя категориями полей:

261 261 

262* **Поля верхнего уровня** принимаются для каждого события: `systemMessage` показывает сообщение пользователю, и `continue` (`continue_` в Python) определяет, продолжает ли агент работать после этого hook. Некоторые события отбрасывают их или доставляют их в другое место. Раздел каждого [события](/docs/ru/hooks#hook-events) на странице hooks говорит, где они попадают.262* **Поля верхнего уровня** принимаются для каждого события: `systemMessage` показывает сообщение пользователю, и `continue` (`continue_` в Python) определяет, продолжает ли агент работать после этого hook. Некоторые события отбрасывают их или доставляют их в другое место. Раздел каждого [события](/docs/ru/hooks#hook-events) на странице hooks говорит, где они попадают.

263* **`hookSpecificOutput`** контролирует текущую операцию. Поля, которые вы устанавливаете внутри, зависят от типа события hook:263* **`hookSpecificOutput`** контролирует текущую операцию. Поля, которые вы устанавливаете внутри, зависят от типа события хука:

264 * Для hooks `PreToolUse` здесь вы устанавливаете `permissionDecision` (`"allow"`, `"deny"`, `"ask"` или `"defer"`), `permissionDecisionReason` и `updatedInput`. Если вы вернете `"defer"`, запрос завершается, чтобы вы могли [возобновить его позже](/docs/ru/hooks#defer-a-tool-call-for-later).264 * Для хуков `PreToolUse` здесь вы устанавливаете `permissionDecision` (`"allow"`, `"deny"`, `"ask"` или `"defer"`), `permissionDecisionReason` и `updatedInput`. Если вы вернете `"defer"`, ход завершается сообщением с результатом, у которого `stop_reason` равен `"tool_deferred"`, чтобы вы могли [возобновить вызов позже](/docs/ru/hooks#defer-a-tool-call-for-later).

265 * Для hooks `PostToolUse` вы можете установить `additionalContext` для добавления информации к результату инструмента. Чтобы заменить выходные данные инструмента перед тем, как Claude их увидит, установите `updatedToolOutput`, который работает для любого инструмента в обоих SDK. Более старое поле `updatedMCPToolOutput` заменяет только выходные данные MCP инструмента и является устаревшим.265 * Для хуков `PostToolUse` вы можете установить `additionalContext` для добавления информации к результату инструмента. Чтобы заменить выходные данные инструмента перед тем, как Claude их увидит, установите `updatedToolOutput`, который работает для любого инструмента в обоих SDK. Более старое поле `updatedMCPToolOutput` заменяет только выходные данные MCP инструмента и является устаревшим.

266 * В TypeScript SDK callback `PostToolUse` может также возвращать `classifierContext`, краткую заметку о результате вызова инструмента для [автоматического режима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) классификатора разрешений. Поскольку ваш callback работает в собственном процессе вашего приложения, классификатор может взвешивать заявление пользователя, которое вы передаете в заметке, как намерение пользователя. Поле требует TypeScript Agent SDK версии 0.3.236 или позже. [Аннотирование результата для классификатора автоматического режима](/docs/ru/hooks#annotate-a-result-for-the-auto-mode-classifier) охватывает ограничение по длине, правило только синхронного выполнения и что не следует помещать в заметку.266 * В TypeScript SDK callback `PostToolUse` может также возвращать `classifierContext`, краткую заметку о результате вызова инструмента для классификатора разрешений [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode). Поскольку ваш callback работает в собственном процессе вашего приложения, классификатор может учитывать заявление пользователя, которое вы передаете в заметке, как намерение пользователя. Поле требует TypeScript Agent SDK версии 0.3.236 или позже. В разделе [Аннотирование результата для классификатора авторежима](/docs/ru/hooks#annotate-a-result-for-the-auto-mode-classifier) описаны ограничение по длине, правило только синхронного выполнения и то, что не следует помещать в заметку.

267 267 

268Возвращайте `{}` для разрешения операции без изменений. SDK callback hooks используют тот же формат вывода JSON, что и [hooks команд shell Claude Code](/docs/ru/hooks#json-output), который документирует каждое поле и опцию, специфичную для события. Для определений типов SDK см. справочники [TypeScript](/docs/ru/agent-sdk/typescript#synchookjsonoutput) и [Python](/docs/ru/agent-sdk/python#synchookjsonoutput) SDK.268Возвращайте `{}` для разрешения операции без изменений. SDK callback hooks используют тот же формат вывода JSON, что и [hooks команд shell Claude Code](/docs/ru/hooks#json-output), который документирует каждое поле и опцию, специфичную для события. Для определений типов SDK см. справочники [TypeScript](/docs/ru/agent-sdk/typescript#synchookjsonoutput) и [Python](/docs/ru/agent-sdk/python#synchookjsonoutput) SDK.

269 269 

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

92 Sandbox runtime92 Sandbox runtime

93</h3>93</h3>

94 94 

95Для легкой изоляции без контейнеров [sandbox-runtime](https://github.com/anthropic-experimental/sandbox-runtime) обеспечивает ограничения файловой системы и сети на уровне ОС.95Для лёгкой изоляции без контейнеров [sandbox-runtime](https://github.com/anthropics/sandbox-runtime) обеспечивает ограничения файловой системы и сети на уровне ОС.

96 96 

97Основное преимущество — простота: не требуется конфигурация Docker, образы контейнеров или настройка сети. Прокси и ограничения файловой системы встроены.97Основное преимущество — простота: не требуется конфигурация Docker, образы контейнеров или настройка сети. Прокси и ограничения файловой системы встроены.

98 98 


164 164 

165С `--network none` контейнер вообще не имеет сетевых интерфейсов. Единственный способ для агента достичь внешнего мира — через смонтированный Unix-сокет, который подключается к прокси, работающему на хосте. Этот прокси может обеспечивать списки разрешений доменов, внедрять учетные данные и регистрировать весь трафик.165С `--network none` контейнер вообще не имеет сетевых интерфейсов. Единственный способ для агента достичь внешнего мира — через смонтированный Unix-сокет, который подключается к прокси, работающему на хосте. Этот прокси может обеспечивать списки разрешений доменов, внедрять учетные данные и регистрировать весь трафик.

166 166 

167Это та же архитектура, используемая [sandbox-runtime](https://github.com/anthropic-experimental/sandbox-runtime). Даже если агент скомпрометирован через prompt injection, он не может утечь данные на произвольные серверы. Он может взаимодействовать только через прокси, который контролирует, какие домены доступны. Для получения дополнительной информации см. [блог Claude Code sandboxing](https://www.anthropic.com/engineering/claude-code-sandboxing).167Это та же архитектура, используемая [sandbox-runtime](https://github.com/anthropics/sandbox-runtime). Даже если агент скомпрометирован через промпт-инъекцию, он не может утечь данные на произвольные серверы. Он может взаимодействовать только через прокси, который контролирует, какие домены доступны. Для получения дополнительной информации см. [статью в блоге об изоляции Claude Code в песочнице](https://www.anthropic.com/engineering/claude-code-sandboxing).

168 168 

169**Дополнительные варианты усиления:**169**Дополнительные варианты усиления:**

170 170 


385* [Документация по безопасности Claude Code](/docs/ru/security)385* [Документация по безопасности Claude Code](/docs/ru/security)

386* [Размещение Agent SDK](/docs/ru/agent-sdk/hosting)386* [Размещение Agent SDK](/docs/ru/agent-sdk/hosting)

387* [Обработка разрешений](/docs/ru/agent-sdk/permissions)387* [Обработка разрешений](/docs/ru/agent-sdk/permissions)

388* [Sandbox runtime](https://github.com/anthropic-experimental/sandbox-runtime)388* [Sandbox runtime](https://github.com/anthropics/sandbox-runtime)

389* [The Lethal Trifecta for AI Agents](https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/)389* [The Lethal Trifecta for AI Agents](https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/)

390* [OWASP Top 10 for LLM Applications](https://owasp.org/www-project-top-10-for-large-language-model-applications/)390* [OWASP Top 10 for LLM Applications](https://owasp.org/www-project-top-10-for-large-language-model-applications/)

391* [Docker Security Best Practices](https://docs.docker.com/engine/security/)391* [Docker Security Best Practices](https://docs.docker.com/engine/security/)

Details

378</h2>378</h2>

379 379 

380<Note>380<Note>

381 Для project и personal skills Claude Code применяет поле frontmatter [`allowed-tools`](/docs/ru/skills#pre-approve-tools-for-a-skill) в сеансах SDK. Вы также можете предварительно одобрить инструменты для этих skills через опцию `allowedTools` (`allowed_tools` в Python) в конфигурации вашего запроса. Skills [синхронизированные из claude.ai](/docs/ru/skills#how-claude-code-handles-the-frontmatter-of-a-synced-skill) следуют своим собственным правилам frontmatter.381 В сессиях SDK вы можете предварительно одобрить инструменты для project или personal skill с помощью поля frontmatter [`allowed-tools`](/docs/ru/skills#pre-approve-tools-for-a-skill) этого skill или с помощью опции `allowedTools` (`allowed_tools` в Python) в конфигурации вашего запроса. Если ваша организация задает [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly) в управляемых настройках, Claude Code игнорирует оба способа. Skills [синхронизированные из claude.ai](/docs/ru/skills#how-claude-code-handles-the-frontmatter-of-a-synced-skill) следуют своим собственным правилам frontmatter.

382</Note>382</Note>

383 383 

384Skills запускаются с инструментами сеанса. Пример ниже предварительно одобряет `Read`, `Grep` и `Glob` с `allowedTools` (`allowed_tools` в Python), поэтому Claude может проверять файлы при запуске [skill security-check](#create-and-dispatch-your-first-skill) без остановки для одобрения:384Skills запускаются с инструментами сессии. Пример ниже предварительно одобряет `Read`, `Grep` и `Glob` с `allowedTools` (`allowed_tools` в Python), поэтому Claude может проверять файлы при запуске [skill security-check](#create-and-dispatch-your-first-skill) без остановки для подтверждения:

385 385 

386<CodeGroup>386<CodeGroup>

387 ```python Python theme={null}387 ```python Python theme={null}

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

1552`SDKAssistantMessageError` — это одно из следующих значений: `'authentication_failed'`, `'oauth_org_not_allowed'`, `'account_on_hold'`, `'billing_error'`, `'rate_limit'`, `'overloaded'`, `'invalid_request'`, `'model_not_found'`, `'server_error'`, `'max_output_tokens'`, `'cloud_credential_error'` или `'unknown'`. Четыре из этих значений означают больше, чем говорят их названия:1552`SDKAssistantMessageError` — это одно из следующих значений: `'authentication_failed'`, `'oauth_org_not_allowed'`, `'account_on_hold'`, `'billing_error'`, `'rate_limit'`, `'overloaded'`, `'invalid_request'`, `'model_not_found'`, `'server_error'`, `'max_output_tokens'`, `'cloud_credential_error'` или `'unknown'`. Четыре из этих значений означают больше, чем говорят их названия:

1553 1553 

1554* `'model_not_found'`: выбранная модель не существует или недоступна для вашей учётной записи или развёртывания1554* `'model_not_found'`: выбранная модель не существует или недоступна для вашей учётной записи или развёртывания

1555* `'overloaded'`: API вернул 529, потому что сервер работает на полную мощность, в отличие от `'rate_limit'`, который является 429 в отношении вашей квоты1555* `'overloaded'`: API вернул 529, потому что сервер работает на полную мощность, в отличие от `'rate_limit'`, который является ответом 429 при исчерпании вашей квоты

1556* `'account_on_hold'`: [ваша учётная запись заморожена](/docs/ru/errors#your-account-is-on-hold)1556* `'account_on_hold'`: [ваша учётная запись заморожена](/docs/ru/errors#your-account-is-on-hold)

1557* `'cloud_credential_error'`: Claude Code не смог получить пригодные учётные данные AWS или Google Cloud на машине, на которой он работает, поэтому запрос не достиг поставщика облачных услуг. Обычная причина — истёкший или никогда не завершённый вход в облако на этой машине, хотя временно недоступный сервис учётных данных сообщает то же значение. См. [Could not load AWS or Google Cloud credentials](/docs/ru/errors#could-not-load-aws-or-google-cloud-credentials). Требует TypeScript Agent SDK v0.3.267 или позже, который включает Claude Code v2.1.2671557* `'cloud_credential_error'`: Claude Code не смог получить пригодные учётные данные AWS или Google Cloud на машине, на которой он работает, поэтому запрос не достиг поставщика облачных услуг. Обычная причина — истёкший или никогда не завершённый вход в облако на этой машине, хотя временно недоступный сервис учётных данных сообщает то же значение. См. [Could not load AWS or Google Cloud credentials](/docs/ru/errors#could-not-load-aws-or-google-cloud-credentials). Требует TypeScript Agent SDK v0.3.267 или позже, который включает Claude Code v2.1.267

1558 1558 

1559`aborted` имеет значение `true`, когда прерывание или отмена усекли сообщение ассистента до завершения потока: сообщение не имеет `stop_reason` и содержимое может заканчиваться посередине слова. Это поле отсутствует на нормально завершённых сообщениях. Требует Agent SDK v0.3.214 или позже.1559`aborted` имеет значение `true`, когда прерывание или отмена усекли сообщение ассистента до завершения потока: сообщение не имеет `stop_reason`, и содержимое может заканчиваться посередине слова. Это поле отсутствует в нормально завершённых сообщениях. Требует Agent SDK v0.3.214 или позже.

1560 1560 

1561Claude Code устанавливает `user_message_uuid` и `user_message_uuids` на первое сообщение ассистента в этом ходу при условиях, описанных в [`user_message_uuid`](#user_message_uuid). Когда Claude Code повторно запускает ход, который прерывание прервало, сообщения ассистента повторного запуска, которые содержат эти поля, также содержат [`resume_reason`](#resume_reason).1561Claude Code устанавливает `user_message_uuid` и `user_message_uuids` в первом сообщении ассистента в ходе при условиях, описанных в [`user_message_uuid`](#user_message_uuid). Когда Claude Code повторно запускает ход, прерванный перезапуском, сообщения ассистента повторного запуска, которые содержат эти поля, также содержат [`resume_reason`](#resume_reason).

1562 1562 

1563`timestamp` — это время ISO 8601, когда содержимое сообщения закончило генерироваться на процессе, который его создал. Значение поступает с часов этой машины, поэтому используйте его только для отображения и не упорядочивайте сообщения по нему. Один ход API может создать несколько сообщений ассистента, которые имеют одинаковый `message.id`, каждое со своим `timestamp`. Когда это поле отсутствует, используйте время получения сообщения.1563`timestamp` — это время в формате ISO 8601, когда содержимое сообщения закончило генерироваться в процессе, который его создал. Значение берётся с часов этой машины, поэтому используйте его только для отображения и не упорядочивайте сообщения по нему. Один ход API может создать несколько сообщений ассистента с одинаковым `message.id`, каждое со своим `timestamp`. Когда это поле отсутствует, используйте время получения сообщения.

1564 1564 

1565`context_usage` — это структурированная копия отчёта `/context`, типизированная как [`SDKContextUsage`](#sdkcontextusage), и требует Agent SDK v0.3.232 или позже. Когда вы отправляете `/context` как подсказку, Claude Code доставляет отчёт как сообщение ассистента, чьё `message.content` содержит таблицу markdown, и прикрепляет `context_usage` к этому же сообщению. Claude Code не устанавливает это поле ни на каком другом сообщении ассистента, и более ранние версии доставляют таблицу `/context` без него, поэтому читайте разбивку из поля, когда оно присутствует, и используйте текст markdown, когда его нет.1565`context_usage` — это структурированная копия отчёта `/context`, типизированная как [`SDKContextUsage`](#sdkcontextusage); требует Agent SDK v0.3.232 или позже. Когда вы отправляете `/context` как промпт, Claude Code доставляет отчёт как сообщение ассистента, чьё `message.content` содержит таблицу markdown, и прикрепляет `context_usage` к этому же сообщению. Claude Code не устанавливает это поле ни в каком другом сообщении ассистента, а более ранние версии доставляют таблицу `/context` без него, поэтому читайте разбивку из поля, когда оно присутствует, и используйте текст markdown, когда его нет.

1566 1566 

1567<h3 id="sdkusermessage">1567<h3 id="sdkusermessage">

1568 `SDKUserMessage`1568 `SDKUserMessage`


1587};1587};

1588```1588```

1589 1589 

1590Установите `pasted_content` для отправки содержимого, которое пользователь вставил в ваш пользовательский интерфейс подсказки, а не напечатал, одна запись на вставку, каждая — строка или массив блоков содержимого. Claude Code добавляет текст каждой записи после напечатанного текста по порядку и может обернуть каждую вставку в теги `<pasted_content>`. Блоки, отличные от текста, игнорируются, поэтому отправляйте изображения и документы в `message.content`. Требует Agent SDK v0.3.277 или позже.1590Установите `pasted_content` для отправки содержимого, которое пользователь вставил в ваш интерфейс ввода промпта, а не напечатал, — одна запись на вставку, каждая является строкой или массивом блоков содержимого. Claude Code добавляет текст каждой записи после напечатанного текста по порядку и может обернуть каждую вставку в теги `<pasted_content>`. Блоки, отличные от текста, игнорируются, поэтому отправляйте изображения и документы в `message.content`. Требует Agent SDK v0.3.277 или позже.

1591 1591 

1592Установите `shouldQuery` или `client_composed`, чтобы изменить способ обработки сообщения Claude Code:1592Установите `shouldQuery` или `client_composed`, чтобы изменить способ обработки отправляемого вами сообщения в Claude Code:

1593 1593 

1594* `shouldQuery`: установите его в `false`, чтобы добавить сообщение в стенограмму без запуска хода ассистента. Сообщение удерживается и объединяется со следующим пользовательским сообщением, которое запускает ход. Используйте это для внедрения контекста, такого как вывод команды, которую вы запустили вне полосы, без затрат вызова модели на это.1594* `shouldQuery`: установите его в `false`, чтобы добавить сообщение в транскрипт без запуска хода ассистента. Сообщение удерживается и объединяется со следующим пользовательским сообщением, которое запускает ход. Используйте это для внедрения контекста, например вывода команды, которую вы запустили вне основного канала, не тратя на это вызов модели.

1595* `client_composed`: установите его в `true`, чтобы Claude Code доставил текст сообщения как написано. Claude Code затем не расширяет упоминания `@path` или [`@server:resource`](/docs/ru/mcp#use-mcp-resources) и не запускает текст, начинающийся с `/`, как команду. Пока опция [`verbatimPrompts`](#options) включена, SDK устанавливает это поле на каждое сообщение. Требует TypeScript Agent SDK v0.3.280 или позже и Claude Code v2.1.248 или позже.1595* `client_composed`: установите его в `true`, чтобы Claude Code доставил текст сообщения как написано. Claude Code тогда не раскрывает упоминания `@path` или [`@server:resource`](/docs/ru/mcp#use-mcp-resources) и не запускает текст, начинающийся с `/`, как команду. Пока опция [`verbatimPrompts`](#options) включена, SDK устанавливает это поле в каждом сообщении. Требует TypeScript Agent SDK v0.3.280 или позже и Claude Code v2.1.248 или позже.

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 

1603Установите `inline_pastes`, чтобы сказать Claude Code, какие части `message.content` пользователь вставил, а не напечатал, одна строка на вставку. Текст подсказки остаётся там, где его поместил пользователь. Claude Code может обернуть каждую указанную вставку в теги `<pasted_content>`, где она стоит, чтобы Claude мог отличить вставленный материал от собственных слов пользователя. Только вставки в последнем текстовом блоке подсказки обёрнуты. Требует TypeScript Agent SDK v0.3.280 или позже.1603Установите `inline_pastes`, чтобы сообщить Claude Code, какие части `message.content` пользователь вставил, а не напечатал, — одна строка на вставку. Текст промпта остаётся там, где его поместил пользователь. Claude Code может обернуть каждую указанную вставку в теги `<pasted_content>` там, где она стоит, чтобы Claude мог отличить вставленный материал от собственных слов пользователя. Оборачиваются только вставки в последнем текстовом блоке промпта. Требует TypeScript Agent SDK v0.3.280 или позже.

1604 1604 

1605<h3 id="sdkusermessagereplay">1605<h3 id="sdkusermessagereplay">

1606 `SDKUserMessageReplay`1606 `SDKUserMessageReplay`


1623};1623};

1624```1624```

1625 1625 

1626Пользовательский ход, внедрённый извне сеанса, один, чей [`origin`](#sdkmessageorigin) имеет вид `peer` или `channel`, поступает в поток как воспроизведение, был ли он доставлен во время активного хода или запустил новый ход, пока сеанс был неактивен. До v2.1.207 внедрённый ход, доставленный, пока сеанс был неактивен, не создавал сообщение в потоке и появлялся только при повторном чтении стенограммы.1626Пользовательский ход, внедрённый извне сессии, то есть такой, чей [`origin`](#sdkmessageorigin) имеет вид `peer` или `channel`, поступает в поток как воспроизведение независимо от того, был ли он доставлен во время активного хода или запустил новый ход, пока сессия была неактивна. До v2.1.207 внедрённый ход, доставленный, пока сессия была неактивна, не создавал сообщения в потоке и появлялся только при повторном чтении транскрипта.

1627 1627 

1628<h3 id="sdkresultmessage">1628<h3 id="sdkresultmessage">

1629 `SDKResultMessage`1629 `SDKResultMessage`


1703 1703 

1704Несколько полей в результате содержат диагностические детали, выходящие за рамки `subtype`:1704Несколько полей в результате содержат диагностические детали, выходящие за рамки `subtype`:

1705 1705 

1706* `api_error_status`: код состояния HTTP ошибки API, которая завершила разговор. Отсутствует или `null`, когда ход завершился без ошибки API.1706* `api_error_status`: код состояния HTTP ошибки API, которая завершила диалог. Отсутствует или равен `null`, когда ход завершился без ошибки API.

1707* `ttft_ms`: время до первого токена в миллисекундах, измеренное при поступлении первого полного сообщения ассистента. Присутствует только на ветви успеха.1707* `ttft_ms`: время до первого токена в миллисекундах, измеренное при поступлении первого полного сообщения ассистента. Присутствует только в ветви успеха.

1708* `ttft_stream_ms`: время в миллисекундах до первого события потока `message_start`, когда открывается поток ответов. Ниже, чем `ttft_ms`; разница между ними — это время, потраченное на потоковую передачу первого сообщения. Присутствует только на ветви успеха.1708* `ttft_stream_ms`: время в миллисекундах до первого события потока `message_start`, когда открывается поток ответа. Меньше, чем `ttft_ms`; разница между ними — это время, потраченное на потоковую передачу первого сообщения. Присутствует только в ветви успеха.

1709* `user_message_uuid`: `uuid` сообщения, которое вы отправили и на которое этот ход ответил. См. [`user_message_uuid`](#user_message_uuid) для того, какие результаты его содержат.1709* `user_message_uuid`: `uuid` отправленного вами сообщения, на которое ответил этот ход. См. [`user_message_uuid`](#user_message_uuid), чтобы узнать, какие результаты его содержат.

1710* `user_message_uuids`: `uuid`s каждого сообщения, которое вы отправили и на которое Claude Code ответил в этом ходу. См. [`user_message_uuids`](#user_message_uuids).1710* `user_message_uuids`: `uuid` каждого отправленного вами сообщения, на которое Claude Code ответил в этом ходе. См. [`user_message_uuids`](#user_message_uuids).

1711* `resume_reason`: почему Claude Code повторно запустил этот ход после перезагрузки, которая его прервала. Присутствует на обеих ветвях и только на таком повторном запуске. См. [`resume_reason`](#resume_reason).1711* `resume_reason`: почему Claude Code повторно запустил этот ход после того, как его прервал перезапуск. Присутствует в обеих ветвях и только при таком повторном запуске. См. [`resume_reason`](#resume_reason).

1712* `local_command`: имя команды, которую ход отправил, на результате успеха хода, который команда завершила без входа в цикл агента, такой как `/compact`. Имя складывается в строчные буквы и подчёркивания, поэтому `/reload-plugins` сообщает `reload_plugins`. Команда, которую предоставляет сервер MCP, и встроенная `/mcp` сообщают `mcp`. Команда, которую вы определили сами, сообщает `custom`. Аргументы никогда не включаются. Отсутствует на каждом ходе, который вошёл в цикл агента, и на отправках, которые не запустили команду. Требует Agent SDK v0.3.268 или позже.1712* `local_command`: имя команды, которую выполнил ход, в результате успеха хода, завершённого командой без входа в цикл агента, например `/compact`. Имя приводится к строчным буквам и подчёркиваниям, поэтому `/reload-plugins` сообщает `reload_plugins`. Команда, которую предоставляет MCP-сервер, и встроенная `/mcp` сообщают `mcp`. Команда, которую вы определили сами, сообщает `custom`. Аргументы никогда не включаются. Отсутствует в каждом ходе, который вошёл в цикл агента, и при отправках, не запустивших команду. Требует Agent SDK v0.3.268 или позже.

1713* `request_sent_wall_ms`: миллисекунды эпохи, в которые Claude Code отправил запрос API, для объединения с серверными временными метками. Присутствует только вместе с [`user_message_uuid`](#user_message_uuid), на результате успеха с `is_error` false, чей ход отправил запрос API.1713* `request_sent_wall_ms`: миллисекунды эпохи, в которые Claude Code отправил запрос API, для сопоставления с серверными временными метками. Присутствует только вместе с [`user_message_uuid`](#user_message_uuid), в результате успеха с `is_error` равным false, чей ход отправил запрос API.

1714* `first_content_frame_ms`: время в миллисекундах до первого события потока `content_block_start` или `content_block_delta`, считая блоки мышления как содержимое. Присутствует только на ветви успеха, когда `is_error` имеет значение false. Требует Agent SDK v0.3.260 или позже.1714* `first_content_frame_ms`: время в миллисекундах до первого события потока `content_block_start` или `content_block_delta`, считая блоки размышлений содержимым. Присутствует только в ветви успеха, когда `is_error` имеет значение false. Требует Agent SDK v0.3.260 или позже.

1715* `first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms`: сроки загрузки первого события потока хода. Claude Code записывает их только в сеансах, которые он потоком передаёт на claude.ai, такие как [облачные сеансы](/docs/ru/claude-code-on-the-web), и результаты, которые выдаёт `query()`, их не содержат. Требует Agent SDK v0.3.260 или позже.1715* `first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms`: тайминги загрузки первого события потока хода. Claude Code записывает их только в сессиях, которые он транслирует на claude.ai, например в [облачных сессиях](/docs/ru/claude-code-on-the-web), и результаты, которые выдаёт `query()`, их не содержат. Требует Agent SDK v0.3.260 или позже.

1716* `usage`: только основной цикл агента. Исключает вызовы подагента и вспомогательной модели и является за ход в сеансах с потоковым вводом. Предпочитайте `modelUsage` для учёта токенов/затрат.1716* `usage`: только основной цикл агента. Исключает вызовы субагентов и вспомогательных моделей и в сессиях с потоковым вводом считается за ход. Для учёта токенов и затрат предпочитайте `modelUsage`.

1717* `modelUsage`: итоги по моделям для каждого вызова модели, сделанного через конвейер запросов во время этого вызова `query()`, включая основной цикл, подагентов и внутренние вызовы, такие как компактирование и агентов Workflow. Вспомогательные вызовы вне этого конвейера, такие как классификатор разрешений и запросы подсчёта токенов, исключены. Вызов, который возобновляет сеанс, также учитывает [итоги по моделям, восстановленные из более ранних вызовов сеанса](/docs/ru/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). В сеансах с потоковым вводом итоги накапливаются по ходам, поэтому читайте последний результат, а не суммируйте по результатам. См. [Track costs in streaming input mode](/docs/ru/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) для сбросов и [Recover totals after a session crash](/docs/ru/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) для обнулённых результатов.1717* `modelUsage`: итоги по моделям для каждого вызова модели, сделанного через конвейер запросов во время этого вызова `query()`, включая основной цикл, субагентов и внутренние вызовы, такие как сжатие контекста и агенты Workflow. Вспомогательные вызовы вне этого конвейера, такие как классификатор разрешений и запросы подсчёта токенов, исключены. Вызов, который возобновляет сессию, также учитывает [итоги по моделям, восстановленные из более ранних вызовов сессии](/docs/ru/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). В сессиях с потоковым вводом итоги накапливаются по ходам, поэтому читайте последний результат, а не суммируйте по результатам. См. [Track costs in streaming input mode](/docs/ru/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) о сбросах и [Recover totals after a session crash](/docs/ru/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) об обнулённых результатах.

1718* `total_cost_usd`: кумулятивная предполагаемая стоимость в USD, охватывающая те же вызовы, что и `modelUsage`, и сбрасываемая в тех же точках. Вызов, который возобновляет сеанс, также учитывает [итоги, восстановленные из более ранних вызовов сеанса](/docs/ru/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Это оценка, а не выписка по счёту. См. [Track cost and usage](/docs/ru/agent-sdk/cost-tracking) для предостережений по точности.1718* `total_cost_usd`: кумулятивная оценочная стоимость в USD, охватывающая те же вызовы, что и `modelUsage`, и сбрасываемая в тех же точках. Вызов, который возобновляет сессию, также учитывает [итоги, восстановленные из более ранних вызовов сессии](/docs/ru/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Это оценка, а не выписка по счёту. См. [Track cost and usage](/docs/ru/agent-sdk/cost-tracking) о предостережениях по точности.

1719* `queued_turn_count`: количество сообщений, которые вы отправили с `origin: { kind: "human" }`, которые всё ещё ожидают, когда Claude Code создал результат. См. [`queued_turn_count`](#queued_turn_count) для того, что говорят вам `0` и отсутствующее поле.1719* `queued_turn_count`: количество отправленных вами сообщений с `origin: { kind: "human" }`, которые всё ещё ожидают, когда Claude Code создал результат. См. [`queued_turn_count`](#queued_turn_count), чтобы узнать, что означают `0` и отсутствующее поле.

1720* `result_index`: где этот результат падает в порядке доставки запуска, считая от 0 по каждому результату, который процесс записывает. Присутствует на обеих ветвях. Результат, чья запись не удаётся, всё ещё потребляет свой номер, поэтому разрыв в последовательности означает, что результат был потерян. Требует Agent SDK v0.3.268 или позже.1720* `result_index`: позиция этого результата в порядке доставки запуска, считая от 0 по всем результатам, которые записывает процесс. Присутствует в обеих ветвях. Результат, запись которого не удалась, всё равно занимает свой номер, поэтому разрыв в последовательности означает, что результат был потерян. Требует Agent SDK v0.3.268 или позже.

1721* `startup_failure_reason`: почему Claude Code отказался запускаться, на результате `error_during_execution`, который он записывает перед выходом при известной ошибке запуска. См. [`startup_failure_reason`](#startup_failure_reason) для значений и того, какие ошибки его содержат. Требует Agent SDK v0.3.274 или позже.1721* `startup_failure_reason`: почему Claude Code отказался запускаться, в результате `error_during_execution`, который он записывает перед выходом при известной ошибке запуска. См. [`startup_failure_reason`](#startup_failure_reason) о значениях и о том, какие ошибки его содержат. Требует Agent SDK v0.3.274 или позже.

1722* `terminal_reason`: почему цикл завершился. Одно из значений: `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"` или `"turn_setup_failed"`.1722* `terminal_reason`: почему цикл завершился. Одно из значений: `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"` или `"turn_setup_failed"`.

1723* `fast_mode_state`: одно из значений `"on"`, `"off"` или `"cooldown"`.1723* `fast_mode_state`: одно из значений `"on"`, `"off"` или `"cooldown"`.

1724* `fast_mode_disabled_reason`: почему [fast mode](/docs/ru/fast-mode) недоступен прямо сейчас. Отсутствует, когда ничто не блокирует fast mode, хотя запрос может всё ещё работать на стандартной скорости. Во время охлаждения после ограничения скорости fast mode Claude Code сообщает `fast_mode_state: "cooldown"` без кода причины и повторно включает fast mode, когда охлаждение истекает. Требует Claude Code v2.1.219 или позже.1724* `fast_mode_disabled_reason`: почему [быстрый режим](/docs/ru/fast-mode) сейчас недоступен. Отсутствует, когда ничто не блокирует быстрый режим, хотя запрос всё равно может выполняться на стандартной скорости. Во время периода охлаждения после ограничения частоты запросов быстрого режима Claude Code сообщает `fast_mode_state: "cooldown"` без кода причины и повторно включает быстрый режим, когда период охлаждения истекает. Требует Claude Code v2.1.219 или позже.

1725 1725 

1726Используйте код причины, чтобы объяснить, почему fast mode отключён в вашем собственном пользовательском интерфейсе, вместо повторного вывода доступности. Каждый код называет проверку, которая заблокировала fast mode:1726Используйте код причины, чтобы объяснить в вашем собственном интерфейсе, почему быстрый режим отключён, вместо того чтобы заново определять доступность. Каждый код называет проверку, которая заблокировала быстрый режим:

1727 1727 

1728| Код причины | Значение |1728| Код причины | Значение |

1729| - | - |1729| - | - |

1730| `free` | Учётная запись не имеет платной подписки или кредитов использования, которые требует fast mode |1730| `free` | Учётная запись не имеет платной подписки или кредитов использования, которые требует быстрый режим |

1731| `preference` | Организация отключила fast mode |1731| `preference` | Организация отключила быстрый режим |

1732| `extra_usage_disabled` | Кредиты использования отключены для учётной записи |1732| `extra_usage_disabled` | Кредиты использования отключены для учётной записи |

1733| `network_error` | [Проверка доступности](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) не смогла достичь `api.anthropic.com` |1733| `network_error` | [Проверка доступности](/docs/ru/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) не смогла связаться с `api.anthropic.com` |

1734| `unknown` | Claude Code не смог определить доступность |1734| `unknown` | Claude Code не смог определить доступность |

1735| `not_first_party` | Сеанс использует поставщика, отличного от Anthropic API |1735| `not_first_party` | Сессия использует поставщика, отличного от Anthropic API |

1736| `disabled_by_env` | [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/ru/env-vars) установлен |1736| `disabled_by_env` | Установлена переменная [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/ru/env-vars) |

1737| `model_not_allowed` | Модель Opus fast mode отсутствует в списке разрешений [`availableModels`](/docs/ru/model-config#restrict-model-selection) организации |1737| `model_not_allowed` | Модель Opus для быстрого режима отсутствует в списке разрешённых моделей [`availableModels`](/docs/ru/model-config#restrict-model-selection) организации |

1738| `sdk_opt_in_required` | Сеанс не согласился на fast mode: передайте `fastMode: true` в опции [`settings`](#options) или через [`applyFlagSettings()`](#applyflagsettings) |1738| `sdk_opt_in_required` | Сессия не включила быстрый режим: передайте `fastMode: true` в опции [`settings`](#options) или через [`applyFlagSettings()`](#applyflagsettings) |

1739| `pending` | Проверка доступности ещё не завершена |1739| `pending` | Проверка доступности ещё не завершена |

1740 1740 

1741Одна и та же пара полей появляется на [`SDKSystemMessage`](#sdksystemmessage) и на [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse), поэтому вы можете прочитать состояние fast mode перед первым ходом.1741Та же пара полей присутствует в [`SDKSystemMessage`](#sdksystemmessage) и в [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse), поэтому вы можете прочитать состояние быстрого режима перед первым ходом.

1742 1742 

1743Поле `origin` пересылает [`SDKMessageOrigin`](#sdkmessageorigin) пользовательского сообщения, которое запустило этот результат. Когда SDK внедряет синтетический ход продолжения, такой как для завершённой фоновой задачи, результирующее `SDKResultMessage` содержит `origin: { kind: "task-notification" }`. Подпрограммы, чей триггер сработал и проверенные сервером сообщения из ваших других сеансов поступают с этим видом, каждое с `subkind`, описанным в [Task-notification subkinds](#task-notification-subkinds). Проверьте `kind`, чтобы различить результаты, которые отвечают на вашу подсказку, от внедрённых продолжений перед маршрутизацией или подавлением их. Если ваше приложение [объявляет запланированные запуски](#declare-a-scheduled-run), их результаты также содержат `kind: "task-notification"`, поэтому не подавляйте только на основе `kind`.1743Поле `origin` передаёт [`SDKMessageOrigin`](#sdkmessageorigin) пользовательского сообщения, которое породило этот результат. Когда SDK внедряет синтетический ход продолжения, например для завершённой фоновой задачи, итоговое `SDKResultMessage` содержит `origin: { kind: "task-notification" }`. Routine, чей триггер сработал, и проверенные сервером сообщения из ваших других сессий также поступают с этим видом, каждое с `subkind`, описанным в разделе [Подвиды уведомлений задач](#task-notification-subkinds). Проверяйте `kind`, чтобы отличить результаты, отвечающие на ваш промпт, от внедрённых продолжений, прежде чем маршрутизировать или подавлять их. Если ваше приложение [объявляет запланированные запуски](#declare-a-scheduled-run), их результаты также содержат `kind: "task-notification"`, поэтому не подавляйте результаты только на основе `kind`.

1744 1744 

1745Когда несколько завершений фоновой задачи ставятся в очередь вместе, Claude Code может ответить на них в одном ходу, а не в одном ходу каждый. Каждое завершение всё ещё создаёт свой результат с этим происхождением. Все, кроме последнего из завершений, на которые Claude Code отвечает вместе, создают пустые результаты с `num_turns: 0` по порядку, и результат последнего содержит ход, который отвечает на них все.1745Когда несколько завершений фоновых задач ставятся в очередь вместе, Claude Code может ответить на них в одном ходе, а не в отдельном ходе для каждого. Каждое завершение всё равно создаёт свой результат с этим происхождением. Все завершения, на которые Claude Code отвечает вместе, кроме последнего, по порядку создают пустые результаты с `num_turns: 0`, а результат последнего содержит ход, который отвечает на них все.

1746 1746 

1747Это поле отсутствует для результатов, выданных перед любым пользовательским ходом, такие как ошибки запуска.1747Это поле отсутствует для результатов, выданных до любого пользовательского хода, например для ошибок запуска.

1748 1748 

1749Когда хук `PreToolUse` возвращает `permissionDecision: "defer"`, результат имеет `stop_reason: "tool_deferred"` и `deferred_tool_use` содержит `id`, `name` и `input` ожидающего инструмента. Читайте это поле, чтобы отобразить запрос в вашем собственном пользовательском интерфейсе, затем возобновите с тем же `session_id`, чтобы продолжить. См. [Defer a tool call for later](/docs/ru/hooks#defer-a-tool-call-for-later) для полного цикла.1749Когда хук `PreToolUse` возвращает `permissionDecision: "defer"`, результат имеет `stop_reason: "tool_deferred"`, а `deferred_tool_use` содержит `id`, `name` и `input` ожидающего инструмента. Читайте это поле, чтобы показать запрос в вашем собственном интерфейсе, затем возобновите работу с тем же `session_id`, чтобы продолжить. См. [Defer a tool call for later](/docs/ru/hooks#defer-a-tool-call-for-later) о полном цикле.

1750 1750 

1751<h4 id="user_message_uuid">1751<h4 id="user_message_uuid">

1752 `user_message_uuid`1752 `user_message_uuid`

1753</h4>1753</h4>

1754 1754 

1755`uuid` [`SDKUserMessage`](#sdkusermessage), на который ход отвечает, повторённый, чтобы вы могли сопоставить ответ Claude Code с сообщением, которое вы отправили. Claude Code повторяет `uuid` только если вы установили его на сообщение. Это поле необязательно на `SDKUserMessage`, и строковая подсказка, переданная в `query()`, не содержит ни одного.1755`uuid` [`SDKUserMessage`](#sdkusermessage), на которое отвечает ход, возвращаемый обратно, чтобы вы могли сопоставить ответ Claude Code с отправленным вами сообщением. Claude Code возвращает `uuid`, только если вы установили его в сообщении. Это поле необязательно в `SDKUserMessage`, а строковый промпт, переданный в `query()`, его не содержит.

1756 1756 

1757Какое из ваших сообщений отвечает ход, зависит от того, как ход начался:1757На какое из ваших сообщений отвечает ход, зависит от того, как ход начался:

1758 1758 

1759* **Обычное сообщение, которое вы отправили**, то есть без `isSynthetic: true`: ход отвечает на это сообщение на протяжении всего его выполнения. Когда вы отправляете несколько сообщений близко друг к другу, Claude Code может объединить их в один ход, и поле затем содержит только `uuid` последнего сообщения. Чтобы сопоставить ответ с любым из объединённых сообщений, используйте [`user_message_uuids`](#user_message_uuids).1759* **Обычное отправленное вами сообщение**, то есть без `isSynthetic: true`: ход отвечает на это сообщение на протяжении всего своего выполнения. Когда вы отправляете несколько сообщений почти одновременно, Claude Code может объединить их в один ход, и тогда поле содержит только `uuid` последнего сообщения. Чтобы сопоставить ответ с любым из объединённых сообщений, используйте [`user_message_uuids`](#user_message_uuids).

1760* **Сообщение, которое вы отправили с `isSynthetic: true`**: ход сначала отвечает на это сообщение. Если Claude Code подхватит обычное сообщение вашего между вызовами инструментов, ход будет отвечать на подхваченное сообщение с этого момента. Повторение `uuid` синтетического сообщения требует Agent SDK v0.3.265 или позже; более ранние версии ничего не повторяют на синтетических ходах.1760* **Сообщение, отправленное вами с `isSynthetic: true`**: ход сначала отвечает на это сообщение. Если Claude Code подхватит ваше обычное сообщение между вызовами инструментов, с этого момента ход отвечает на подхваченное сообщение. Возврат `uuid` синтетического сообщения требует Agent SDK v0.3.265 или позже; более ранние версии ничего не возвращают в синтетических ходах.

1761* **Подсказка Claude Code, которая повторно запускает прерванный ход под [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ru/env-vars)**: когда последняя подсказка прерванного хода — это обычное сообщение, которое вы отправили, был ли оно открыло ход или Claude Code подхватил его во время хода, повторный запуск отвечает на это сообщение сначала. [`resume_reason`](#resume_reason) говорит кадры повторного запуска от попытки прерывания. Когда последняя подсказка не является обычным сообщением вашего, повторный запуск не отвечает ни на какое сообщение вашего сначала. Если Claude Code подхватит обычное сообщение вашего между вызовами инструментов, ход будет отвечать на подхваченное сообщение с этого момента. Повторение подсказки прерванного хода требует Agent SDK v0.3.268 или позже.1761* **Промпт, который Claude Code генерирует для повторного запуска прерванного хода при [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ru/env-vars)**: когда последний промпт прерванного хода — это обычное отправленное вами сообщение, открыло ли оно ход или Claude Code подхватил его во время хода, повторный запуск сначала отвечает на это сообщение. [`resume_reason`](#resume_reason) позволяет отличить кадры повторного запуска от кадров прерванной попытки. Когда последний промпт не является вашим обычным сообщением, повторный запуск сначала не отвечает ни на одно ваше сообщение. Если Claude Code подхватит ваше обычное сообщение между вызовами инструментов, с этого момента ход отвечает на подхваченное сообщение. Возврат промпта прерванного хода требует Agent SDK v0.3.268 или позже.

1762* **Любая другая подсказка, которую Claude Code сгенерировал сам**: ход сначала не отвечает ни на какое ваше сообщение и его кадры не содержат повторения. Если Claude Code подхватит обычное сообщение вашего между вызовами инструментов, ход будет отвечать на это сообщение с этого момента. Повторение подхвата требует Agent SDK v0.3.265 или позже; более ранние версии ничего не повторяют на этих ходах.1762* **Любой другой промпт, который Claude Code сгенерировал сам**: ход сначала не отвечает ни на одно ваше сообщение, и его кадры не содержат возвращаемого значения. Если Claude Code подхватит ваше обычное сообщение между вызовами инструментов, с этого момента ход отвечает на это сообщение. Возврат при подхвате требует Agent SDK v0.3.265 или позже; более ранние версии ничего не возвращают в этих ходах.

1763 1763 

1764Claude Code повторяет `uuid` отвеченного сообщения на трёх видах кадра:1764Claude Code возвращает `uuid` сообщения, на которое дан ответ, в трёх видах кадров:

1765 1765 

1766* **Результат**: каждый результат хода, который ответил на сообщение, которое вы отправили. Каждый такой результат содержит его на Agent SDK v0.3.265 или позже. До v0.3.265 результат успеха хода, который запустило обычное сообщение, не содержал его, когда ход не отправил запрос API или завершился отложенным вызовом инструмента. До v0.3.246 результаты ошибок также не содержали его, и до v0.3.216 каждый результат не содержал его.1766* **Результат**: каждый результат хода, который ответил на отправленное вами сообщение. В Agent SDK v0.3.265 или позже его содержит каждый такой результат. До v0.3.265 результат успеха хода, запущенного обычным сообщением, не содержал его, когда ход не отправил запрос API или завершился отложенным вызовом инструмента. До v0.3.246 его не содержали и результаты ошибок, а до v0.3.216 — все результаты.

1767* **Первый ответ хода**: первое [сообщение ассистента](#sdkassistantmessage) или с `includePartialMessages` первое [событие потока](#sdkpartialassistantmessage), чей `event.type` не является `ping`, чтобы вы могли привязать ответ перед поступлением результата. Когда ход ничего не потоком передаёт, Claude Code устанавливает его на первое сообщение ассистента вместо этого. Повторение первого ответа требует Agent SDK v0.3.246 или позже. Когда сообщение, на которое ход отвечает, изменяется в середине хода, первый ответ после изменения также содержит это поле на Agent SDK v0.3.265 или позже; более ранние версии устанавливают его на один кадр ответа за ход.1767* **Первый ответ хода**: первое [сообщение ассистента](#sdkassistantmessage), а при `includePartialMessages` также первое [событие потока](#sdkpartialassistantmessage), чей `event.type` не является `ping`, чтобы вы могли привязать ответ до поступления результата. Возврат в первом ответе требует Agent SDK v0.3.246 или позже. До v0.3.269 при `includePartialMessages` Claude Code устанавливал его только в этом первом событии потока или в первом сообщении ассистента, если ход ничего не передавал потоком. Когда сообщение, на которое отвечает ход, меняется посреди хода, первый ответ после изменения также содержит это поле в Agent SDK v0.3.265 или позже; более ранние версии устанавливают его в одном кадре ответа за ход.

1768* **Каждый кадр [`thinking_tokens`](#sdkthinkingtokensmessage) хода**: чтобы вы могли отнести прогресс мышления к сообщению, которое вы отправили, без ожидания первого ответа хода. Требует Agent SDK v0.3.260 или позже.1768* **Каждый кадр [`thinking_tokens`](#sdkthinkingtokensmessage) хода**: чтобы вы могли отнести прогресс размышлений к отправленному вами сообщению, не дожидаясь первого ответа хода. Требует Agent SDK v0.3.260 или позже.

1769 1769 

1770Claude Code опускает это поле в этих случаях:1770Claude Code опускает это поле в следующих случаях:

1771 1771 

1772* Кадры ответов, отличные от этих первых ответов1772* Кадры ответа, кроме этих первых ответов

1773* Кадры подагента1773* Кадры субагентов

1774* Ходы, которые не отвечают ни на какое сообщение вашего, или отвечают на сообщение, которое вы отправили без `uuid`1774* Ходы, которые не отвечают ни на одно ваше сообщение или отвечают на сообщение, отправленное вами без `uuid`

1775* Результаты, которые не отвечают ни на какое ваше сообщение, такие как обнулённый результат после сбоя рабочего процесса1775* Результаты, которые не отвечают ни на одно ваше сообщение, например обнулённый результат после сбоя рабочего процесса

1776 1776 

1777<h4 id="user_message_uuids">1777<h4 id="user_message_uuids">

1778 `user_message_uuids`1778 `user_message_uuids`

1779</h4>1779</h4>

1780 1780 

1781`uuid`s каждого сообщения, которое вы отправили и на которое Claude Code ответил в этом ходу. Когда вы отправляете несколько сообщений близко друг к другу, Claude Code может объединить их в один ход, и `user_message_uuid` затем называет только последнее из них. Чтобы сопоставить ответ с любым из объединённых сообщений, ищите `uuid` этого сообщения в любом месте этого списка. Требует Agent SDK v0.3.259 или позже.1781`uuid` каждого отправленного вами сообщения, на которое Claude Code ответил в этом ходе. Когда вы отправляете несколько сообщений почти одновременно, Claude Code может объединить их в один ход, и тогда `user_message_uuid` называет только последнее из них. Чтобы сопоставить ответ с любым из объединённых сообщений, ищите `uuid` этого сообщения в любом месте этого списка. Требует Agent SDK v0.3.259 или позже.

1782 1782 

1783Claude Code устанавливает список вместе с `user_message_uuid` на каждом кадре ответа, который содержит это поле, и на результате. Для полного набора кадров, которые содержат `user_message_uuid`, и версии, которую требует каждый, см. [`user_message_uuid`](#user_message_uuid). Список всегда содержит `user_message_uuid` и содержит максимум 64 записи.1783Claude Code устанавливает список вместе с `user_message_uuid` в каждом кадре ответа, который содержит это поле, и в результате. Полный набор кадров хода, которые возвращают `uuid` сообщения, на которое дан ответ, и требуемую для каждого версию см. в [`user_message_uuid`](#user_message_uuid). Список всегда содержит `user_message_uuid` и включает не более 64 записей.

1784 1784 

1785Когда Claude Code подхватит обычное сообщение, которое вы отправили, пока ход выполнялся, он добавляет `uuid` этого сообщения в список результата.1785Когда Claude Code подхватывает обычное сообщение, отправленное вами во время выполнения хода, он добавляет `uuid` этого сообщения в список результата.

1786 1786 

1787Когда первый ответ или результат содержит `user_message_uuid` без списка, он поступил из более ранней версии Claude Code, поэтому используйте одно поле.1787Если первый ответ или результат содержит `user_message_uuid` без списка, он получен от более ранней версии Claude Code, поэтому используйте одиночное поле.

1788 1788 

1789<h4 id="resume_reason">1789<h4 id="resume_reason">

1790 `resume_reason`1790 `resume_reason`

1791</h4>1791</h4>

1792 1792 

1793Почему Claude Code повторно запустил этот ход после перезагрузки. Claude Code устанавливает это поле на ход, который он повторно запустил под [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ru/env-vars), чтобы вы могли отличить повторный запуск ответа и результата от попытки прерывания. Требует Agent SDK v0.3.268 или позже.1793Почему Claude Code повторно запустил этот ход после перезапуска. Claude Code устанавливает это поле в ходе, который он повторно запустил при [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ru/env-vars), чтобы вы могли отличить ответ и результат повторного запуска от ответа и результата прерванной попытки. Требует Agent SDK v0.3.268 или позже.

1794 1794 

1795Claude Code устанавливает это поле на два вида кадра:1795Claude Code устанавливает это поле в двух видах кадров:

1796 1796 

1797* **Результат повторного запуска**: на ветвях успеха и ошибки, независимо от того, содержит ли результат `user_message_uuid`.1797* **Результат повторного запуска**: как в ветви успеха, так и в ветви ошибки, независимо от того, содержит ли результат `user_message_uuid`.

1798* **Кадры ответа повторного запуска**: те, которые содержат [`user_message_uuid`](#user_message_uuid).1798* **Кадры ответа повторного запуска**: те, которые содержат [`user_message_uuid`](#user_message_uuid).

1799 1799 

1800Значение — это короткий токен в нижнем регистре, называющий, почему ход был повторно запущен, такой как `interrupted_turn`. Это поле отсутствует на каждом другом ходе.1800Значение — это короткий токен в нижнем регистре, называющий причину повторного запуска хода, например `interrupted_turn`. Во всех остальных ходах это поле отсутствует.

1801 1801 

1802<h4 id="queued_turn_count">1802<h4 id="queued_turn_count">

1803 `queued_turn_count`1803 `queued_turn_count`

1804</h4>1804</h4>

1805 1805 

1806Количество сообщений, которые вы отправили с [`origin: { kind: "human" }`](#sdkmessageorigin), которые всё ещё ожидают в очереди команд, когда Claude Code создал результат. Требует Agent SDK v0.3.242 или позже.1806Количество отправленных вами сообщений с [`origin: { kind: "human" }`](#sdkmessageorigin), которые всё ещё ожидают в очереди команд, когда Claude Code создал результат. Требует Agent SDK v0.3.242 или позже.

1807 1807 

1808Что говорят вам `0` и отсутствующее поле:1808Что означают `0` и отсутствующее поле:

1809 1809 

1810* **`0`**: Claude Code не считает сообщения, которые вы отправили без этого `origin`, и не считает уведомления задач, поэтому ход может всё ещё следовать.1810* **`0`**: Claude Code не считает сообщения, отправленные вами без этого `origin`, и не считает уведомления задач, поэтому следующий ход всё ещё может последовать.

1811* **Отсутствует**: финальный результат, который Claude Code выдаёт после сбоя или фатальной ошибки запуска, опускает это поле и [может содержать обнулённые итоги](/docs/ru/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).1811* **Отсутствует**: финальный результат, который Claude Code выдаёт после сбоя или фатальной ошибки запуска, опускает это поле и [может содержать обнулённые итоги](/docs/ru/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).

1812 1812 

1813<h4 id="startup_failure_reason">1813<h4 id="startup_failure_reason">

1814 `startup_failure_reason`1814 `startup_failure_reason`

1815</h4>1815</h4>

1816 1816 

1817Почему Claude Code отказался запускаться, чтобы ваше приложение могло предложить исправление вместо повтора. Claude Code устанавливает его на результате `error_during_execution`, который он записывает перед выходом при известной ошибке запуска. Этот результат содержит обнулённые итоги, и его массив `errors` содержит тот же текст, что и stderr. Это поле отсутствует на каждом другом результате. Требует Agent SDK v0.3.274 или позже.1817Почему Claude Code отказался запускаться, чтобы ваше приложение могло предложить исправление вместо повторной попытки. Claude Code устанавливает его в результате `error_during_execution`, который он записывает перед выходом при известной ошибке запуска. Этот результат содержит обнулённые итоги, а его массив `errors` содержит тот же текст, что и stderr. Во всех остальных результатах это поле отсутствует. Требует Agent SDK v0.3.274 или позже.

1818 1818 

1819Установите `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` в `1` в [`env`](#options), чтобы получить этот результат для каждого значения `SDKStartupFailureReason`. Без этой переменной Claude Code записывает результат только для этих ошибок, а остальные заканчиваются выводом stderr, ненулевым выходом и без сообщения результата:1819Установите `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` в `1` в [`env`](#options), чтобы получать этот результат для каждого значения `SDKStartupFailureReason`. Без этой переменной Claude Code записывает результат только для следующих ошибок, а остальные завершаются выводом в stderr, ненулевым кодом выхода и без сообщения результата:

1820 1820 

1821* Возобновление, которое Claude Code останавливает, потому что оно [не может вернуть сеанс в его worktree](/docs/ru/worktrees#the-session-resumes-outside-its-worktree), с `worktree_unverified` или `worktree_resume_refused`. Этот раздел говорит, какая ошибка содержит какое значение.1821* Возобновление, которое Claude Code останавливает, потому что [не может вернуть сессию в её worktree](/docs/ru/worktrees#the-session-resumes-outside-its-worktree), с `worktree_unverified` или `worktree_resume_refused`. В том разделе сказано, какая ошибка содержит какое значение.

1822* Отказанное [`continue`](#options) разговора, который фоновый сеанс удерживает, с `session_held_by_background`. Для отказанного [`resume`](#options) такого разговора Claude Code записывает результат только когда переменная установлена.1822* Отклонённое [`continue`](#options) диалога, который удерживает фоновая сессия, с `session_held_by_background`. Для отклонённого [`resume`](#options) такого диалога Claude Code записывает результат, только когда переменная установлена.

1823 1823 

1824```typescript theme={null}1824```typescript theme={null}

1825type SDKStartupFailureReason =1825type SDKStartupFailureReason =


1844 1844 

1845Каждое значение называет один отказ:1845Каждое значение называет один отказ:

1846 1846 

1847| Значение | Что остановило сеанс |1847| Значение | Что остановило сессию |

1848| :- | :- |1848| :- | :- |

1849| `org_pin_api_key_conflict` | Управляемые параметры [требуют вход в первую сторону или облачный шлюз](/docs/ru/authentication#restrict-login-to-your-organization), и вместо этого настроены ключ API Anthropic, токен аутентификации или `apiKeyHelper` |1849| `org_pin_api_key_conflict` | Управляемые настройки [требуют входа через Anthropic или облачный шлюз](/docs/ru/authentication#restrict-login-to-your-organization), а вместо этого настроены API-ключ Anthropic, токен аутентификации или `apiKeyHelper` |

1850| `provider_not_allowed` | Управляемые параметры [перечисляют поставщиков API, которых эта машина может использовать](/docs/ru/settings-reference#allowedproviders), и сеанс настроен для поставщика, который не указан в списке, или для конечной точки, которую параметры не закрепляют. Требует Claude Code v2.1.285 или позже |1850| `provider_not_allowed` | Управляемые настройки [перечисляют поставщиков API, которых может использовать эта машина](/docs/ru/settings-reference#allowedproviders), а сессия настроена на поставщика, отсутствующего в списке, или на эндпоинт, который настройки не закрепляют. Требует Claude Code v2.1.285 или позже |

1851| `org_verify_failed` | Организация входа не смогла быть проверена против булавки, например из-за сбоя сети или отозванного токена |1851| `org_verify_failed` | Не удалось проверить организацию входа на соответствие закреплению, например из-за сбоя сети или отозванного токена |

1852| `org_pin_mismatch` | Вход принадлежит организации, которую булавка не разрешает |1852| `org_pin_mismatch` | Вход принадлежит организации, которую закрепление не разрешает |

1853| `managed_settings_invalid` | Управляемые параметры политики не смогли быть прочитаны, булавка не называет организацию, или [управляемые ограничения модели](/docs/ru/errors#managed-settings-block-the-default-model) не оставляют разрешённую модель для опции Default |1853| `managed_settings_invalid` | Не удалось прочитать управляемые настройки политики, закрепление не называет организацию, или [управляемые ограничения моделей](/docs/ru/errors#managed-settings-block-the-default-model) не оставляют разрешённой модели для варианта Default |

1854| `remote_settings_required_unavailable` | Управляемые параметры, которые требует организация, не смогли быть загружены |1854| `remote_settings_required_unavailable` | Не удалось загрузить управляемые настройки, которые требует организация |

1855| `gateway_signin_required` | [Облачный шлюз](/docs/ru/claude-apps-gateway) завершил этот вход |1855| `gateway_signin_required` | [Облачный шлюз](/docs/ru/claude-apps-gateway) завершил этот вход |

1856| `gateway_access_denied` | Запрос управляемых параметров облачному шлюзу вернулся с 403, который [таблица устранения неполадок](/docs/ru/claude-apps-gateway-deploy#troubleshooting) шлюза охватывает |1856| `gateway_access_denied` | Запрос управляемых настроек к облачному шлюзу вернул 403; этот случай описан в [таблице устранения неполадок](/docs/ru/claude-apps-gateway-deploy#troubleshooting) шлюза |

1857| `proxy_invalid` | Параметр прокси не является полным URL |1857| `proxy_invalid` | Настройка прокси не является полным URL |

1858| `temp_dir_unusable` | Временный каталог для каждого пользователя небезопасен или не смог быть создан |1858| `temp_dir_unusable` | Временный каталог пользователя небезопасен или его не удалось создать |

1859| `cwd_unavailable` | Рабочий каталог был удалён, перемещён или не может быть прочитан |1859| `cwd_unavailable` | Рабочий каталог был удалён, перемещён или не может быть прочитан |

1860| `shell_tool_missing` | На Windows нет доступного инструмента оболочки: Git Bash отсутствует и PowerShell отсутствует или отключён с `CLAUDE_CODE_USE_POWERSHELL_TOOL` |1860| `shell_tool_missing` | В Windows нет доступного инструмента оболочки: Git Bash отсутствует, а PowerShell отсутствует или отключён через `CLAUDE_CODE_USE_POWERSHELL_TOOL` |

1861| `session_held_by_background` | Разговор для возобновления или продолжения работает как [фоновый сеанс](/docs/ru/agent-view) |1861| `session_held_by_background` | Диалог, который нужно возобновить или продолжить, выполняется как [фоновая сессия](/docs/ru/agent-view) |

1862| `worktree_resume_refused` | Worktree сеанса не прошёл проверки безопасности, или возобновление было запущено изнутри него. `errors` говорит, продолжится ли запуск того же возобновления без worktree |1862| `worktree_resume_refused` | Worktree сессии не прошёл проверки безопасности, или возобновление было запущено изнутри него. `errors` сообщает, продолжится ли повторный запуск того же возобновления без worktree |

1863| `worktree_unverified` | Worktree сеанса не смог быть проверен прямо сейчас, и повтор может быть успешным |1863| `worktree_unverified` | Worktree сессии сейчас не удалось проверить, и повторная попытка может оказаться успешной |

1864| `cli_version_too_old` | Эта версия Claude Code ниже минимума, который требует Anthropic |1864| `cli_version_too_old` | Эта версия Claude Code ниже минимальной, которую требует Anthropic |

1865| `bypass_root` | Режим разрешений обхода был запрошен при работе от имени root |1865| `bypass_root` | Режим разрешений bypass был запрошен при работе от имени root |

1866 1866 

1867<h3 id="sdksystemmessage">1867<h3 id="sdksystemmessage">

1868 `SDKSystemMessage`1868 `SDKSystemMessage`


1907};1907};

1908```1908```

1909 1909 

1910`fast_mode_state` сообщает состояние [fast mode](/docs/ru/fast-mode) сеанса. Когда что-то блокирует fast mode, `fast_mode_disabled_reason` называет проверку, которая его заблокировала; это поле требует Claude Code v2.1.219 или позже. Для кодов причин и их значений см. [`fast_mode_disabled_reason`](#sdkresultmessage) на сообщении результата.1910`fast_mode_state` сообщает состояние [быстрого режима](/docs/ru/fast-mode) сессии. Когда что-то блокирует быстрый режим, `fast_mode_disabled_reason` называет проверку, которая его заблокировала; это поле требует Claude Code v2.1.219 или позже. Коды причин и их значения см. в описании [`fast_mode_disabled_reason`](#sdkresultmessage) в сообщении результата.

1911 1911 

1912`terminal_slash_commands` называет записи в `slash_commands`, чей интерфейс привязан к локальному терминалу, такие как `exit`. Вы можете отправлять их как любую другую запись в `slash_commands`; это поле существует, чтобы удалённый или мобильный клиент мог скрыть их из своих меню команд. Это поле присутствует только когда оно не пусто, и требует Agent SDK v0.3.229 или позже.1912`terminal_slash_commands` называет записи в `slash_commands`, чей интерфейс привязан к локальному терминалу, например `exit`. Вы можете отправлять их как любую другую запись в `slash_commands`; это поле существует, чтобы удалённый или мобильный клиент мог скрыть их из своих меню команд. Это поле присутствует, только когда оно непустое, и требует Agent SDK v0.3.229 или позже.

1913 1913 

1914*1914* `source` в каждой записи `mcp_servers`: откуда взялось определение сервера, с теми же значениями, что и `source` в [`McpServerStatus`](#mcpserverstatus). Требует Agent SDK v0.3.274 или позже.

1915* `effort`: [уровень effort](/docs/ru/model-config#adjust-effort-level), который Claude Code отправляет в следующем запросе сессии, или `null`, когда он его не отправляет. Claude Code устанавливает это поле только в сообщении инициализации, которое он отправляет клиентам [Remote Control](/docs/ru/remote-control), и опускает его в сообщении инициализации, которое читает ваше приложение. Требует Agent SDK v0.3.234 или позже.

1915 1916 

1916`source` на каждой записи `mcp_servers`: откуда поступило определение сервера, с теми же значениями, что и `source` [`McpServerStatus`](#mcpserverstatus). Требует Agent SDK v0.3.274 или позже.1917Массив `capabilities` называет поведения протокола, которые реализует этот CLI, чтобы вы могли определять поддержку функций вместо сравнения строк `claude_code_version`. Это открытый набор: игнорируйте значения, которые вы не распознаёте, и проверяйте конкретную возможность, на поведение которой вы полагаетесь. Это поле требует Claude Code v2.1.205 или позже и отсутствует в более ранних CLI.

1917 

1918*

1919 

1920`effort`: [уровень усилий](/docs/ru/model-config#adjust-effort-level), который Claude Code отправляет на следующий запрос сеанса, или `null`, когда он не отправляет ни один. Claude Code устанавливает это поле только на сообщение инициализации, которое оно отправляет клиентам [Remote Control](/docs/ru/remote-control), и опускает его из сообщения инициализации, которое читает ваше приложение. Требует Agent SDK v0.3.234 или позже.

1921 

1922Массив `capabilities` называет поведения протокола, которые реализует этот CLI, чтобы вы могли обнаруживать функции вместо сравнения строк `claude_code_version`. Это открытый набор: игнорируйте значения, которые вы не узнаёте, и проверяйте конкретную возможность, поведение которой вы используете. Это поле требует Claude Code v2.1.205 или позже и отсутствует на более ранних CLI.

1923 1918 

1924| Возможность | Значение |1919| Возможность | Значение |

1925| - | - |1920| - | - |

1926| `interrupt_receipt_v1` | [`interrupt()`](#query-object) разрешается с помощью [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse), квитанции, в которой перечислены сообщения, которые были в ожидании при поступлении прерывания |1921| `interrupt_receipt_v1` | [`interrupt()`](#query-object) разрешается с квитанцией [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse), в которой перечислены сообщения, ожидавшие обработки на момент поступления прерывания |

1927| `interrupt_cancel_queued_v1` | Запрос управления `interrupt` соблюдает `cancel_queued: true`, отменяя сообщения, которые квитанция в противном случае перечислила бы в `still_queued`, и перечисляя их в `cancelled` вместо этого. См. [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse). Требует Claude Code v2.1.219 или позже |1922| `interrupt_cancel_queued_v1` | Управляющий запрос `interrupt` учитывает `cancel_queued: true`, отменяя сообщения, которые квитанция в противном случае перечислила бы в `still_queued`, и перечисляя их вместо этого в `cancelled`. См. [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse). Требует Claude Code v2.1.219 или позже |

1928 1923 

1929Массив `plugin_errors` перечисляет ошибки загрузки плагина. Запись описывает либо плагин, который не загрузился и отсутствует в `plugins`, либо плагин, который загрузился без одной из его частей, такой как его файл hooks. Ключ опускается, когда ничего не произошло. `SDKSystemMessage` объявляет `plugin_errors` в Agent SDK v0.3.283 или позже.1924Массив `plugin_errors` перечисляет ошибки загрузки плагинов. Запись описывает либо плагин, который не загрузился и отсутствует в `plugins`, либо плагин, который загрузился без одной из своих частей, например без файла хуков. Ключ опускается, когда ошибок нет. `SDKSystemMessage` объявляет `plugin_errors` в Agent SDK v0.3.283 или позже.

1930 1925 

1931Когда каталог или архив из вашей опции [`plugins`](#options) сам не загружается, поле `plugin` записи содержит позиционный тег, такой как `inline[0]`, вместо имени плагина. Это происходит, например, когда путь не существует или манифест недействителен. Сопоставьте такую запись с вашей опцией по её полю `path`.1926Когда сам каталог или архив из вашей [опции `plugins`](#options) не загружается, поле `plugin` записи содержит позиционный тег, например `inline[0]`, вместо имени плагина. Это происходит, например, когда путь не существует или манифест недействителен. Сопоставляйте такую запись с вашей опцией по её полю `path`.

1932 1927 

1933Таблица ниже перечисляет поля каждой записи `plugin_errors`.1928В таблице ниже перечислены поля каждой записи `plugin_errors`.

1934 1929 

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

1936| - | - | - |1931| - | - | - |

1937| `plugin` | `string` | ID неудачного плагина или позиционный тег, такой как `inline[0]`, когда сам каталог или архив плагина не загрузился |1932| `plugin` | `string` | ID плагина с ошибкой или позиционный тег, например `inline[0]`, когда не загрузился сам каталог или архив плагина |

1938| `type` | `string` | Категория ошибки из открытого набора, такая как `path-not-found` или `manifest-validation-error`. Рассматривайте значение, которое вы не узнаёте, как общий отказ |1933| `type` | `string` | Категория ошибки из открытого набора, например `path-not-found` или `manifest-validation-error`. Рассматривайте нераспознанное значение как общую ошибку |

1939| `message` | `string` | Текст отображения, описывающий отказ |1934| `message` | `string` | Отображаемый текст с описанием ошибки |

1940| `path` | `string` | Присутствует только когда сам каталог или архив плагина не загрузился. Его абсолютный путь, с относительным путём из вашей опции `plugins`, разрешённым против опции [`cwd`](#options) |1935| `path` | `string` | Присутствует, только когда не загрузился сам каталог или архив плагина. Его абсолютный путь; относительный путь из вашей опции `plugins` разрешается относительно опции [`cwd`](#options) |

1941 1936 

1942<h3 id="sdkpartialassistantmessage">1937<h3 id="sdkpartialassistantmessage">

1943 `SDKPartialAssistantMessage`1938 `SDKPartialAssistantMessage`

1944</h3>1939</h3>

1945 1940 

1946Потоковое частичное сообщение (только когда `includePartialMessages` имеет значение true). Поле `parent_tool_use_id` всегда `null`: события потока выдаются только для основного сеанса. Для атрибуции подагента используйте полные сообщения, которые содержат `parent_tool_use_id`, или включите [`forwardSubagentText`](#options), чтобы получать текст и мышление подагента как полные сообщения.1941Потоковое частичное сообщение (только когда `includePartialMessages` имеет значение true). Поле `parent_tool_use_id` всегда равно `null`: события потока выдаются только для основной сессии. Для атрибуции субагентов используйте полные сообщения, которые содержат `parent_tool_use_id`, или включите [`forwardSubagentText`](#options), чтобы получать текст и размышления субагентов как полные сообщения.

1947 1942 

1948```typescript theme={null}1943```typescript theme={null}

1949type SDKPartialAssistantMessage = {1944type SDKPartialAssistantMessage = {


1959};1954};

1960```1955```

1961 1956 

1962Claude Code устанавливает `user_message_uuid` и `user_message_uuids` на первое событие потока без ping хода и снова, когда сообщение, на которое ход отвечает, изменяется, при условиях в [`user_message_uuid`](#user_message_uuid). Когда Claude Code повторно запускает ход, который прерывание прервало, события потока повторного запуска, которые содержат эти поля, также содержат [`resume_reason`](#resume_reason).1957Claude Code устанавливает `user_message_uuid` и `user_message_uuids` в первом событии потока хода, отличном от ping, и снова, когда меняется сообщение, на которое отвечает ход, при условиях, описанных в [`user_message_uuid`](#user_message_uuid). Когда Claude Code повторно запускает ход, прерванный перезапуском, события потока повторного запуска, которые содержат эти поля, также содержат [`resume_reason`](#resume_reason).

1963 1958 

1964<h3 id="sdkcompactboundarymessage">1959<h3 id="sdkcompactboundarymessage">

1965 `SDKCompactBoundaryMessage`1960 `SDKCompactBoundaryMessage`

1966</h3>1961</h3>

1967 1962 

1968Сообщение, указывающее границу компактирования разговора.1963Сообщение, обозначающее границу сжатия контекста диалога.

1969 1964 

1970```typescript theme={null}1965```typescript theme={null}

1971type SDKCompactBoundaryMessage = {1966type SDKCompactBoundaryMessage = {


1984 `SDKInformationalMessage`1979 `SDKInformationalMessage`

1985</h3>1980</h3>

1986 1981 

1987Общий текстовый баннер, выданный циклом. Содержит предупреждения, уведомления и другие строки статуса без ошибок, которые Claude Code выдаёт, и обратную связь хука, такую как причина блокировки хука `UserPromptSubmit`.1982Общий текстовый баннер, выдаваемый циклом. Содержит предупреждения, уведомления и другие строки состояния, не являющиеся ошибками, которые выдаёт Claude Code, а также обратную связь хуков, например причину блокировки хуком `UserPromptSubmit`.

1988 1983 

1989На Claude Code v2.1.227 или позже [`systemMessage`](/docs/ru/hooks#json-output) хука может поступить как это сообщение, с каждой строкой с префиксом имени хука, такой как `PostToolUse:Bash says:`. Каждый [раздел события](/docs/ru/hooks#hook-events) на странице hooks говорит, как выводится вывод.1984В Claude Code v2.1.227 или позже [`systemMessage`](/docs/ru/hooks#json-output) хука может поступить как это сообщение, при этом каждая строка начинается с префикса с именем хука, например `PostToolUse:Bash says:`. В [разделе каждого события](/docs/ru/hooks#hook-events) на странице хуков сказано, как отображается вывод.

1990 1985 

1991Выполняйте рендеринг `content` как простого текста на заданном `level`.1986Выполняйте рендеринг `content` как простого текста с заданным `level`.

1992 1987 

1993```typescript theme={null}1988```typescript theme={null}

1994type SDKInformationalMessage = {1989type SDKInformationalMessage = {


2007 `SDKWorkerShuttingDownMessage`2002 `SDKWorkerShuttingDownMessage`

2008</h3>2003</h3>

2009 2004 

2010Выданное при корректном завершении рабочего процесса, чтобы удалённые клиенты могли показать, почему рабочий процесс вышел, вместо ожидания истечения времени ожидания сердцебиения. `reason` — это короткая строка snake\_case, установленная хостом CLI, такая как `"host_exit"` или `"remote_control_disabled"`. Действуйте на это только при потоковой передаче в реальном времени. Возобновленный сеанс воспроизводит прошлые экземпляры этого сообщения, поэтому игнорируйте их в этом случае.2005Выдаётся при корректном завершении рабочего процесса, чтобы удалённые клиенты могли показать, почему рабочий процесс завершился, вместо ожидания таймаута heartbeat. `reason` — это короткая строка в snake\_case, устанавливаемая CLI хоста, например `"host_exit"` или `"remote_control_disabled"`. Реагируйте на это сообщение только при потоковой передаче в реальном времени. Возобновлённая сессия воспроизводит прошлые экземпляры этого сообщения, поэтому в этом случае игнорируйте их.

2011 2006 

2012```typescript theme={null}2007```typescript theme={null}

2013type SDKWorkerShuttingDownMessage = {2008type SDKWorkerShuttingDownMessage = {


2023 `SDKPluginInstallMessage`2018 `SDKPluginInstallMessage`

2024</h3>2019</h3>

2025 2020 

2026Событие прогресса установки плагина. Выданное когда [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/ru/env-vars) установлен, чтобы ваше приложение Agent SDK могло отслеживать установку плагина marketplace перед первым ходом. Статусы `started` и `completed` заключают общую установку. Статусы `installed` и `failed` сообщают об отдельных marketplaces и включают `name`.2021Событие прогресса установки плагинов. Выдаётся, когда установлена переменная [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/ru/env-vars), чтобы ваше приложение Agent SDK могло отслеживать установку плагинов из маркетплейса перед первым ходом. Статусы `started` и `completed` обрамляют установку в целом. Статусы `installed` и `failed` сообщают об отдельных маркетплейсах и включают `name`.

2027 2022 

2028```typescript theme={null}2023```typescript theme={null}

2029type SDKPluginInstallMessage = {2024type SDKPluginInstallMessage = {


2041 `SDKPermissionDeniedMessage`2036 `SDKPermissionDeniedMessage`

2042</h3>2037</h3>

2043 2038 

2044Событие потока, выданное когда система разрешений отказывает в вызове инструмента без интерактивного приглашения. Используйте его для отображения отказа в вашем пользовательском интерфейсе по мере его возникновения, а не только наблюдая результат инструмента `is_error`, который следует. Какие отказы оно сообщает, зависит от того, как запуск обрабатывает приглашения разрешений:2039Событие потока, выдаваемое, когда система разрешений отклоняет вызов инструмента без интерактивного запроса разрешения. Используйте его, чтобы показывать отказ в вашем интерфейсе в момент его возникновения, а не только по следующему за ним результату инструмента с `is_error`. О каких отказах сообщает событие, зависит от того, как запуск обрабатывает запросы разрешений:

2045 

2046* **С обратным вызовом [`canUseTool`](#canusetool) и значением по умолчанию [`permissionPrompts: 'host'`](#options)**: приглашения разрешений идут в ваш обратный вызов, и это событие сообщает об отказах, которые Claude Code решает самостоятельно без его вызова.

2047*

2048 2040 

2049**Без ни одного**: голый запуск `-p` или `query()`, который не устанавливает ни `canUseTool`, ни `permissionPromptToolName`, отказывает любому вызову инструмента, который бы подсказал, и это событие сообщает об этих отказах, а также об отказах, которые Claude Code решает самостоятельно. До v2.1.223 Claude Code не выдавал это событие в запусках без обратного вызова.2041* **С обратным вызовом [`canUseTool`](#canusetool)** и значением по умолчанию [`permissionPrompts: 'host'`](#options): запросы разрешений поступают в ваш обратный вызов, а это событие сообщает об отказах, которые Claude Code принимает самостоятельно, не вызывая его.

2042* **Без того и другого**: запуск только с `-p` или `query()`, в котором не заданы ни `canUseTool`, ни `permissionPromptToolName`, отклоняет любой вызов инструмента, который потребовал бы запроса разрешения, и это событие сообщает об этих отказах, а также об отказах, которые Claude Code принимает самостоятельно. До v2.1.223 Claude Code не выдавал это событие в запусках без обратного вызова.

2043* **С инструментом запроса разрешений MCP**, заданным через `permissionPromptToolName` или флаг [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags), и значением по умолчанию `permissionPrompts: 'host'`: Claude Code вообще не выдаёт это событие, даже для отказов по правилам, которые он принимает самостоятельно.

2044* **С [`permissionPrompts: 'none'`](#options)**: Claude Code отклоняет вызовы, которые потребовали бы запроса разрешения, даже когда также заданы `canUseTool` или инструмент запроса разрешений MCP, и это событие сообщает об этих отказах, а также об отказах, которые Claude Code принимает самостоятельно. Требует Claude Code v2.1.259 или позже.

2050 2045 

2051* **С инструментом приглашения MCP**, установленным с `permissionPromptToolName` или флагом [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags), и значением по умолчанию `permissionPrompts: 'host'`: Claude Code вообще не выдаёт это событие, даже для отказов правила, которые он решает самостоятельно.2046В любой конфигурации это событие пропускает отказы, принятые на пути хука `PreToolUse`, — независимо от того, отклонил ли вызов сам хук или правило запрета переопределило решение хука разрешить или запросить подтверждение. Кроме того, событие выдаётся по принципу best-effort: иногда Claude Code записывает отказ без выдачи этого события, поэтому авторитетной записью является `permission_denials` в [сообщении результата](#sdkresultmessage).

2052*

2053 

2054**С [`permissionPrompts: 'none'`](#options)**: Claude Code отказывает вызовам, которые бы подсказали, даже когда также установлены `canUseTool` или инструмент приглашения MCP, и это событие сообщает об этих отказах, а также об отказах, которые Claude Code решает самостоятельно. Требует Claude Code v2.1.259 или позже.

2055 

2056В каждой конфигурации это событие пропускает любой отказ, решённый на пути хука `PreToolUse`, отказал ли сам хук вызову или правило отрицания переопределило решение хука разрешить или спросить. Это событие также является лучшим усилием: иногда Claude Code записывает отказ без выдачи этого события, поэтому `permission_denials` на [сообщении результата](#sdkresultmessage) является авторитетным записью.

2057 2047 

2058```typescript theme={null}2048```typescript theme={null}

2059type SDKPermissionDeniedMessage = {2049type SDKPermissionDeniedMessage = {


2072 2062 

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

2074| - | - | - |2064| - | - | - |

2075| `tool_name` | `string` | Имя инструмента, который был отказан |2065| `tool_name` | `string` | Имя инструмента, в вызове которого было отказано |

2076| `tool_use_id` | `string` | ID блока `tool_use`, на который этот отказ отвечает |2066| `tool_use_id` | `string` | ID блока `tool_use`, на который отвечает этот отказ |

2077| `agent_id` | `string` | ID подагента, когда отказанный вызов возник внутри подагента. Зеркалирует поле на `can_use_tool` для маршрутизации на стороне хоста |2067| `agent_id` | `string` | ID субагента, когда отклонённый вызов возник внутри субагента. Повторяет поле в `can_use_tool` для маршрутизации на стороне хоста |

2078| `decision_reason_type` | `string` | Дискриминатор для компонента, который решил, такой как `"rule"`, `"mode"`, `"classifier"` или `"asyncAgent"` |2068| `decision_reason_type` | `string` | Дискриминатор компонента, принявшего решение, например `"rule"`, `"mode"`, `"classifier"` или `"asyncAgent"` |

2079| `decision_reason` | `string` | Понятная причина от решающего компонента, когда доступна |2069| `decision_reason` | `string` | Понятная человеку причина от компонента, принявшего решение, если доступна |

2080| `message` | `string` | Сообщение об отказе, возвращённое модели в `tool_result` |2070| `message` | `string` | Сообщение об отказе, возвращённое модели в `tool_result` |

2081 2071 

2082<h3 id="sdkpermissiondenial">2072<h3 id="sdkpermissiondenial">

2083 `SDKPermissionDenial`2073 `SDKPermissionDenial`

2084</h3>2074</h3>

2085 2075 

2086Информация об отказанном использовании инструмента.2076Информация об отклонённом использовании инструмента.

2087 2077 

2088```typescript theme={null}2078```typescript theme={null}

2089type SDKPermissionDenial = {2079type SDKPermissionDenial = {


2097 `SDKContextUsage`2087 `SDKContextUsage`

2098</h3>2088</h3>

2099 2089 

2100Структурированная форма отчёта `/context`, переносимая как `context_usage` на [`SDKAssistantMessage`](#sdkassistantmessage), который доставляет результат `/context`. Agent SDK v0.3.232 и позже экспортируют тип. В отличие от [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse), он содержит только данные, необходимые для отображения разбивки использования, без полей отображения, таких как `color` и `gridRows`. Claude Code вычисляет отчёт с помощью запросов API подсчёта токенов, которые не появляются в потоке сообщений; см. [как эти запросы обрабатываются](#sdkcontrolgetcontextusageresponse).2090Структурированная форма отчёта `/context`, передаваемая как `context_usage` в [`SDKAssistantMessage`](#sdkassistantmessage), которое доставляет результат `/context`. Agent SDK v0.3.232 и позже экспортируют этот тип. В отличие от [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse), он содержит только данные, необходимые для отображения разбивки использования, без полей отображения, таких как `color` и `gridRows`. Claude Code вычисляет отчёт с помощью запросов API для подсчёта токенов, которые не появляются в потоке сообщений; см. [как обрабатываются эти запросы](#sdkcontrolgetcontextusageresponse).

2101 2091 

2102```typescript theme={null}2092```typescript theme={null}

2103type SDKContextUsage = {2093type SDKContextUsage = {


2134};2124};

2135```2125```

2136 2126 

2137Таблица перечисляет, что Claude Code помещает в каждое поле. Поля от `model` до `over_limit` описывают сеанс в целом, и поля коллекции приписывают токены отдельным элементам.2127В таблице перечислено, что Claude Code помещает в каждое поле. Поля от `model` до `over_limit` описывают сессию в целом, а поля-коллекции относят токены к отдельным элементам.

2138 2128 

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

2140| - | - | - |2130| - | - | - |

2141| `model` | `string` | Модель основного цикла, для которой Claude Code вычислил использование, а не подагента |2131| `model` | `string` | Модель основного цикла, для которой Claude Code вычислил использование, а не модель субагента |

2142| `total_tokens` | `number` | Оценка Claude Code токенов в использовании. Не зажата в окно, поэтому может превышать `raw_max_tokens`, когда сеанс превышает лимит |2132| `total_tokens` | `number` | Оценка Claude Code количества используемых токенов. Не ограничивается размером окна, поэтому может превышать `raw_max_tokens`, когда сессия превышает лимит |

2143| `raw_max_tokens` | `number` | Контекстное окно модели или нижнее [окно auto-compact](/docs/ru/model-config#context-window-and-auto-compaction), когда оно применяется, такое как установленное вами или граница 200K, которую Claude Code применяет к некоторым моделям с окном 1M-токена. Claude Code измеряет `total_tokens` против этого окна |2133| `raw_max_tokens` | `number` | Контекстное окно модели или меньшее [окно автосжатия](/docs/ru/model-config#context-window-and-auto-compaction), когда оно применяется, например заданное вами или граница 200K, которую Claude Code применяет к некоторым моделям с окном в 1M токенов. Claude Code измеряет `total_tokens` относительно этого окна |

2144| `percentage` | `number` | `total_tokens` как округлённый процент `raw_max_tokens`, поэтому может превышать 100, когда сеанс превышает лимит |2134| `percentage` | `number` | `total_tokens` как округлённый процент от `raw_max_tokens`, поэтому может превышать 100, когда сессия превышает лимит |

2145| `over_limit` | `object` | Присутствует только когда `total_tokens` превышает `raw_max_tokens`. `tokens_over` — это количество превышения, и `kind` говорит, как Claude Code разрешил окно |2135| `over_limit` | `object` | Присутствует, только когда `total_tokens` превышает `raw_max_tokens`. `tokens_over` — это величина превышения, а `kind` сообщает, как Claude Code определил окно |

2146| `categories` | [`SDKContextUsageCategory`](#sdkcontextusagecategory)`[]` | Одна запись на строку разбивки использования по категориям |2136| `categories` | [`SDKContextUsageCategory`](#sdkcontextusagecategory)`[]` | Одна запись на строку разбивки использования по категориям |

2147| `mcp_tools` | `object[]` | Токены, приписанные каждому инструменту MCP, с его проводным именем, таким как `mcp__linear__create_issue`, и его `server_name` |2137| `mcp_tools` | `object[]` | Токены, отнесённые к каждому инструменту MCP, с его полным именем, например `mcp__linear__create_issue`, и его `server_name` |

2148| `memory_files` | `object[]` | Токены, приписанные каждому загруженному файлу памяти, с его `path` и меткой источника, такой как `Project` или `User` в `type` |2138| `memory_files` | `object[]` | Токены, отнесённые к каждому загруженному файлу памяти, с его `path` и меткой источника, например `Project` или `User`, в `type` |

2149| `agents` | `object[]` | Токены, приписанные каждому определению пользовательского подагента, с идентификатором источника, таким как `projectSettings`, `userSettings` или `plugin`. Встроенные подагенты не перечислены |2139| `agents` | `object[]` | Токены, отнесённые к каждому определению пользовательского субагента, с идентификатором источника, например `projectSettings`, `userSettings` или `plugin`. Встроенные субагенты не перечисляются |

2150| `skills` | `object[]` | Токены, приписанные каждому навыку в списке навыков, с идентификатором источника и, для навыков плагина, именем плагина в `plugin_name`. Отсутствует, когда никакие навыки не вносят токены |2140| `skills` | `object[]` | Токены, отнесённые к каждому скиллу в списке скиллов, с идентификатором источника и, для скиллов плагинов, именем плагина в `plugin_name`. Отсутствует, когда никакие скиллы не вносят токенов |

2151 2141 

2152`over_limit.kind` записывает, как Claude Code разрешил окно, а не принимает ли API следующий запрос:2142`over_limit.kind` фиксирует, как Claude Code определил окно, а не то, примет ли API следующий запрос:

2153 2143 

2154* `hard_limit`: окно — это то, что Claude Code считает собственным лимитом модели, за пределами которого API отказывает запросы2144* `hard_limit`: окно — это то, что Claude Code считает собственным лимитом модели, за пределами которого API отклоняет запросы

2155* `compaction_window`: окно — это окно политики компактирования, которое может совпадать или не совпадать с лимитом модели2145* `compaction_window`: окно — это окно политики сжатия контекста, которое может совпадать или не совпадать с лимитом модели

2156 2146 

2157Claude Code развивает тип аддитивно, добавляя новые данные как необязательные поля, а не переформатируя существующие. Читайте поля, которые вы знаете, и игнорируйте те, которые вы не узнаёте.2147Claude Code развивает этот тип аддитивно, добавляя новые данные как необязательные поля, а не изменяя структуру существующих. Читайте известные вам поля и игнорируйте те, которые вы не распознаёте.

2158 2148 

2159<h3 id="sdkcontextusagecategory">2149<h3 id="sdkcontextusagecategory">

2160 `SDKContextUsageCategory`2150 `SDKContextUsageCategory`


2170};2160};

2171```2161```

2172 2162 

2173Таблица перечисляет, что Claude Code помещает в каждое поле строки.2163В таблице перечислено, что Claude Code помещает в каждое поле строки.

2174 2164 

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

2176| - | - | - |2166| - | - | - |

2177| `name` | `string` | Имя отображения строки, как печатает `/context`, такое как `Messages`. Классифицируйте строки по `kind`, а не по имени |2167| `name` | `string` | Отображаемое имя строки в том виде, в каком его выводит `/context`, например `Messages`. Классифицируйте строки по `kind`, а не по имени |

2178| `tokens` | `number` | Количество токенов строки. Строки могут содержать нулевые токены |2168| `tokens` | `number` | Количество токенов строки. Строки могут содержать ноль токенов |

2179| `kind` | `string` | Что представляет строка: `used`, `free`, `buffer` или `deferred` |2169| `kind` | `string` | Что представляет строка: `used`, `free`, `buffer` или `deferred` |

2180 2170 

2181Каждое значение `kind` говорит, что представляют собой токены строки:2171Каждое значение `kind` указывает, что представляют собой токены строки:

2182 2172 

2183* `used`: содержимое, которое занимает контекстное окно2173* `used`: содержимое, занимающее контекстное окно

2184* `free`: оставшееся окно2174* `free`: оставшаяся часть окна

2185* `buffer`: резерв компактирования2175* `buffer`: резерв для сжатия контекста

2186* `deferred`: схемы инструментов, которые Claude Code удерживает вне окна и исключает из расчёта использования, перечисленные для осведомления2176* `deferred`: схемы инструментов, которые Claude Code держит вне окна и исключает из расчёта использования; перечисляются для информации

2187 2177 

2188<h3 id="sdkmessageorigin">2178<h3 id="sdkmessageorigin">

2189 `SDKMessageOrigin`2179 `SDKMessageOrigin`

2190</h3>2180</h3>

2191 2181 

2192Происхождение сообщения с ролью пользователя. Это появляется как `origin` на [`SDKUserMessage`](#sdkusermessage) и пересылается на соответствующее [`SDKResultMessage`](#sdkresultmessage), чтобы вы могли сказать, что запустило данный ход.2182Происхождение сообщения с ролью пользователя. Оно присутствует как `origin` в [`SDKUserMessage`](#sdkusermessage) и передаётся в соответствующее [`SDKResultMessage`](#sdkresultmessage), чтобы вы могли определить, что запустило данный ход.

2193 2183 

2194```typescript theme={null}2184```typescript theme={null}

2195type SDKMessageOrigin =2185type SDKMessageOrigin =


2217 2207 

2218| `kind` | Значение |2208| `kind` | Значение |

2219| - | - |2209| - | - |

2220| `human` | Прямой ввод от конечного пользователя. Если ваше приложение пересылает то, что пользователь напечатал, как пользовательское сообщение, установите его `origin` в `{ kind: "human" }` явно: Claude Code рассматривает пользовательское сообщение без `origin` как неатрибутированное и проверяет, что требуют подсказку, введённую человеком, такие как ключевое слово [`ultracode` workflow](/docs/ru/workflows#ask-for-a-workflow-in-your-prompt), не принимают её. До v2.1.210 Claude Code рассматривал отсутствующий `origin` на пользовательском сообщении как пользовательский ввод. |2210| `human` | Прямой ввод от конечного пользователя. Если ваше приложение передаёт то, что напечатал пользователь, как пользовательское сообщение, явно установите его `origin` в `{ kind: "human" }`: Claude Code рассматривает пользовательское сообщение без `origin` как неатрибутированное, и проверки, требующие промпта, введённого человеком, например [ключевое слово `ultracode` для workflow](/docs/ru/workflows#ask-for-a-workflow-in-your-prompt), его не принимают. До v2.1.210 Claude Code рассматривал отсутствующий `origin` в пользовательском сообщении как ввод человека. |

2221| `channel` | Сообщение, поступающее на [канал](/docs/ru/channels). `server` — это имя исходного сервера MCP. |2211| `channel` | Сообщение, поступившее по [каналу](/docs/ru/channels). `server` — это имя исходного MCP-сервера. |

2222| `peer` | Сообщение от другого агента: внутрипроцессный [товарищ по команде](/docs/ru/agent-teams) или [кросс-сеансный одноранговый](/docs/ru/cross-session-messaging), другой из ваших сеансов Claude Code. См. [Peer origin fields](#peer-origin-fields) для семантики каждого поля и модели доверия. |2212| `peer` | Сообщение от другого агента: внутрипроцессного [участника команды](/docs/ru/agent-teams) или [пира из другой сессии](/docs/ru/cross-session-messaging), то есть другой вашей сессии Claude Code. См. [Поля происхождения peer](#peer-origin-fields) о семантике каждого поля и модели доверия. |

2223| `task-notification` | Синтетический ход, внедрённый для доставки, которая поступает без свежей подсказки пользователя, такой как завершённая фоновая задача; см. [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) для этого варианта. Необязательный `subkind` отмечает, что вызвало уведомление. См. [Task-notification subkinds](#task-notification-subkinds). |2213| `task-notification` | Синтетический ход, внедрённый для доставки, которая поступает без нового промпта пользователя, например для завершённой фоновой задачи; см. [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) об этом варианте. Промпт, который ваше приложение [объявляет запланированным запуском](#declare-a-scheduled-run), также имеет этот вид. Необязательный `subkind` указывает, что вызвало уведомление. См. [Подвиды уведомлений задач](#task-notification-subkinds). |

2224| `coordinator` | Сообщение от координатора команды в [команде агентов](/docs/ru/agent-teams). |2214| `coordinator` | Сообщение от координатора команды в [команде агентов](/docs/ru/agent-teams). |

2225| `auto-continuation` | Синтетический ход, внедрённый когда сеанс продолжается без свежего пользовательского ввода, такой как результат команды, который запускает подсказку продолжения. |2215| `auto-continuation` | Синтетический ход, внедрённый, когда сессия продолжается без нового пользовательского ввода, например результат команды, который запускает промпт продолжения. |

2226| `unclassified` | Внедрённый ход, чьё происхождение не смогло быть определено. Требует Claude Code v2.1.223 или позже. Когда Claude Code получает [`SDKUserMessage`](#sdkusermessage) с `isSynthetic: true` и не может классифицировать его как любой другой `kind`, он устанавливает этот вид по мере поступления сообщения и кадрирует ход модели как источник, отличный от пользователя, а не рассматривает его как пользовательский ввод. Ваше приложение не должно устанавливать это значение. |2216| `unclassified` | Внедрённый ход, происхождение которого не удалось определить. Требует Claude Code v2.1.223 или позже. Когда Claude Code получает [`SDKUserMessage`](#sdkusermessage) с `isSynthetic: true` и не может отнести его ни к какому другому `kind`, он устанавливает этот вид при поступлении сообщения и представляет ход модели как исходящий не от пользователя, а не рассматривает его как ввод человека. Ваше приложение не должно устанавливать это значение. |

2227 2217 

2228<h3 id="task-notification-subkinds">2218<h3 id="task-notification-subkinds">

2229 Task-notification subkinds2219 Подвиды уведомлений задач

2230</h3>2220</h3>

2231 2221 

2232Когда Claude Code доставляет уведомление задачи в сеанс, он устанавливает `subkind` на `origin` уведомления, если серверы Anthropic проверили, откуда поступило это уведомление. Он также устанавливает `subkind`, когда ваше приложение [объявляет сообщение как запланированный запуск](#declare-a-scheduled-run) само, что требует TypeScript Agent SDK v0.3.280 или позже. `subkind` требует Claude Code v2.1.213 или позже и принимает одно из двух значений:2222Когда Claude Code доставляет уведомление задачи в сессию, он устанавливает `subkind` в `origin` уведомления, если серверы Anthropic проверили, откуда пришло это уведомление. Он также устанавливает `subkind`, когда ваше приложение само [объявляет сообщение запланированным запуском](#declare-a-scheduled-run), что требует TypeScript Agent SDK v0.3.280 или позже. `subkind` требует Claude Code v2.1.213 или позже и принимает одно из двух значений:

2233 2223 

2234* `scheduled-trigger`: уведомление — это сохранённая подсказка [подпрограммы](/docs/ru/routines), доставленная, потому что один из триггеров подпрограммы сработал: её расписание, её [API триггер](/docs/ru/routines#add-an-api-trigger), её [GitHub триггер](/docs/ru/routines#add-a-github-trigger) или **Run now**. Подсказка, которую ваше приложение [объявляет как запланированный запуск](#declare-a-scheduled-run), также содержит это значение. Claude Code кадрирует их модели как назначенную задачу сеанса, с другим уведомлением от [уведомления, которое несут другие уведомления задач](#sdktasknotificationmessage).2224* `scheduled-trigger`: уведомление — это сохранённый промпт [routine](/docs/ru/routines), доставленный потому, что сработал один из триггеров routine: её расписание, её [API-триггер](/docs/ru/routines#add-an-api-trigger), её [триггер GitHub](/docs/ru/routines#add-a-github-trigger) или **Run now**. Промпт, который ваше приложение [объявляет запланированным запуском](#declare-a-scheduled-run), также имеет это значение. Claude Code представляет их модели как назначенную задачу сессии, с пометкой, отличающейся от [пометки, которую содержат другие уведомления задач](#sdktasknotificationmessage).

2235*2225* `peer-send-message`: уведомление — это сообщение, которое другая ваша сессия отправила с помощью серверного инструмента `send_message`, используемого [облачными сессиями](/docs/ru/claude-code-on-the-web) для обмена сообщениями друг с другом (а не [межсессионного инструмента `SendMessage`](/docs/ru/cross-session-messaging)), причём серверы Anthropic проверили, что обе сессии принадлежат одной и той же закрытой группе сессий. Требует Claude Code v2.1.224 или позже. Доставка `send_message`, которую серверы так не проверили, не получает подвида.

2236 2226 

2237`peer-send-message`: уведомление — это сообщение, которое другой из ваших сеансов отправил с инструментом `send_message` на стороне сервера, который используют [облачные сеансы](/docs/ru/claude-code-on-the-web) для обмена сообщениями друг с другом, а не [кросс-сеансный инструмент `SendMessage`](/docs/ru/cross-session-messaging), и серверы Anthropic проверили, что оба сеанса принадлежат одной и той же приватной группе сеансов. Требует Claude Code v2.1.224 или позже. Доставка `send_message`, которую серверы не проверили таким образом, не получает `subkind`.2227Все остальные уведомления задач не имеют `subkind`. Сюда относятся [активность PR](/docs/ru/claude-code-on-the-web#how-claude-responds-to-pr-activity), доставленная в сессию, и фоновые события, такие как завершённая задача. Сообщения от [межсессионного инструмента `SendMessage`](/docs/ru/cross-session-messaging) вообще не являются уведомлениями задач: поступают ли они из сессии на той же машине или через серверы Anthropic с другой машины, Claude Code присваивает им `kind: "peer"` и [поля происхождения peer](#peer-origin-fields).

2238 2228 

2239Каждое другое уведомление задачи не имеет `subkind`. Это включает [запланированные задачи](/docs/ru/scheduled-tasks), которые срабатывают на вашей собственной машине, [активность PR](/docs/ru/claude-code-on-the-web#how-claude-responds-to-pr-activity), доставленную в сеанс, и фоновые события, такие как завершённая задача. Сообщения от [кросс-сеансного инструмента `SendMessage`](/docs/ru/cross-session-messaging) вообще не являются уведомлениями задач: поступают ли они из сеанса на той же машине или через серверы Anthropic с другой машины, Claude Code даёт им `kind: "peer"` и [поля происхождения одноранговой сети](#peer-origin-fields).2229`fireReason` сообщает, почему сработало уведомление `scheduled-trigger`, в виде короткого токена в нижнем регистре, например `scheduled`, `manual`, `retry`, `catch_up` или `api`. Серверы Anthropic устанавливают его в доставках [routine](/docs/ru/routines), а ваше приложение устанавливает его, когда объявляет запланированный запуск. Оно отсутствует, когда ни одна из сторон его не отправила. Требует TypeScript Agent SDK v0.3.280 или позже.

2240 

2241`fireReason` говорит, почему сработало уведомление `scheduled-trigger`, как короткий токен в нижнем регистре, такой как `scheduled`, `manual`, `retry`, `catch_up` или `api`. Серверы Anthropic устанавливают его на доставки [подпрограммы](/docs/ru/routines), и ваше приложение устанавливает его, когда объявляет запланированный запуск. Он отсутствует, когда ни один не отправил его. Требует TypeScript Agent SDK v0.3.280 или позже.

2242 2230 

2243<h4 id="declare-a-scheduled-run">2231<h4 id="declare-a-scheduled-run">

2244 Declare a scheduled run2232 Объявление запланированного запуска

2245</h4>2233</h4>

2246 2234 

2247Если ваше приложение запускает подсказки по собственному расписанию, объявите каждый запуск, чтобы Claude Code кадрировал ход модели как запланированную задачу, а не как живой ввод от пользователя. Запустите сеанс с `CLAUDE_CODE_HOST_SCHEDULED_RUN`, установленным в `1` в [`env`](#options), затем отправьте [`SDKUserMessage`](#sdkusermessage) запуска с `origin: { kind: "task-notification", subkind: "scheduled-trigger", fireReason: "scheduled" }` и без `isSynthetic`. Claude Code игнорирует объявление в процессе, запущенном без этой переменной. Он также игнорирует его в процессе, чьё окружение содержит [`CLAUDECODE`](/docs/ru/env-vars) или `CLAUDE_CODE_CHILD_SESSION`. Claude Code сохраняет `fireReason` только когда значение — это 1-32 строчные буквы или подчёркивания. Требует TypeScript Agent SDK v0.3.280 или позже.2235Если ваше приложение запускает промпты по собственному расписанию, объявляйте каждый запуск, чтобы Claude Code представлял ход модели как запланированную задачу, а не как живой ввод пользователя. Запустите сессию с `CLAUDE_CODE_HOST_SCHEDULED_RUN`, установленной в `1` в [`env`](#options), затем отправьте [`SDKUserMessage`](#sdkusermessage) запуска с `origin: { kind: "task-notification", subkind: "scheduled-trigger", fireReason: "scheduled" }` и без `isSynthetic`. Claude Code игнорирует объявление в процессе, запущенном без этой переменной. Он также игнорирует его в процессе, окружение которого содержит [`CLAUDECODE`](/docs/ru/env-vars) или `CLAUDE_CODE_CHILD_SESSION`. Claude Code сохраняет `fireReason`, только когда значение состоит из 1–32 строчных букв или подчёркиваний. Требует TypeScript Agent SDK v0.3.280 или позже.

2248 2236 

2249<h3 id="peer-origin-fields">2237<h3 id="peer-origin-fields">

2250 Peer origin fields2238 Поля происхождения peer

2251</h3>2239</h3>

2252 2240 

2253Происхождение `peer` идентифицирует, какой агент отправил сообщение: внутрипроцессный [товарищ по команде](/docs/ru/agent-teams), отправляющий в `main` с `SendMessage`, или [кросс-сеансный одноранговый](/docs/ru/cross-session-messaging), другой из ваших сеансов Claude Code. Кросс-сеансные одноранговые требуют Claude Code v2.1.224 или позже на macOS и Linux; см. [доступность кросс-сеансного обмена сообщениями](/docs/ru/cross-session-messaging#availability) для требования собственного Windows. Кросс-сеансный одноранговый может работать на той же машине или на [другой из ваших машин](/docs/ru/cross-session-messaging#message-sessions-on-other-machines) или [в облаке](/docs/ru/claude-code-on-the-web), когда его сообщение поступает через Remote Control. Два вида отправителя заполняют поля по-разному:2241Происхождение `peer` указывает, какой агент отправил сообщение: внутрипроцессный [участник команды](/docs/ru/agent-teams), отправляющий сообщение в `main` с помощью `SendMessage`, или [пир из другой сессии](/docs/ru/cross-session-messaging), то есть другая ваша сессия Claude Code. Межсессионные пиры требуют Claude Code v2.1.224 или позже в macOS и Linux; о требованиях для нативной Windows см. [доступность межсессионного обмена сообщениями](/docs/ru/cross-session-messaging#availability). Межсессионный пир может работать на той же машине, а также на [другой вашей машине](/docs/ru/cross-session-messaging#message-sessions-on-other-machines) или [в облаке](/docs/ru/claude-code-on-the-web), когда его сообщение поступает через Remote Control. Два вида отправителей заполняют поля по-разному:

2254 

2255* `from`: имя товарища по команде или адрес отправителя для кросс-сеансного одноранговой. Для [одностороннего кросс-машинного сообщения](/docs/ru/cross-session-messaging#message-sessions-on-other-machines) отправитель не имеет адреса ответа и `from` — это `"unknown"`. Значение создано отправителем; `verifiedPeerPid` — это проверенная личность.

2256*

2257 

2258`fromMode`: класс разрешений отправляющего сеанса, `bypass` или `prompting`, объявленный хостом, который передаёт одноранговое сообщение между вашими сеансами, такой как [настольное приложение](/docs/ru/desktop#work-across-sessions). Claude Code читает его в получающем сеансе, когда применяет [входящие элементы управления](/docs/ru/cross-session-messaging#control-inbound-messages). Требует Agent SDK v0.3.234 или позже.

2259 

2260* `senderTaskId`: ID задачи товарища по команде. Отсутствует для кросс-сеансного одноранговой.

2261*

2262 

2263`name`: отображаемое имя отправителя, нормализованное Claude Code: оно удаляет управление Unicode, формат, суррогат и разделители строк или абзацев, затем обрезает результат и ограничивает его 64 кодовыми точками с многоточием. Требует Claude Code v2.1.205 или позже.

2264 

2265*

2266 

2267`body`: декодированное тело сообщения с удалённой оболочкой одноранговой сети, байт-точное с тем, что видит модель. Всегда присутствует для сообщения товарища по команде; для кросс-сеансного одноранговой, присутствует только когда ход — это ровно одна оболочка одноранговой сети, сформированная Claude Code. Выполняйте рендеринг `name` и `body` вместо повторного анализа текста сообщения. Требует Claude Code v2.1.205 или позже.

2268 

2269*

2270 

2271`fromSession`: ID сеанса отправителя, открываемый хостом, установленный хостом отправителя, чтобы ваш пользовательский интерфейс мог ссылаться обратно на отправляющий сеанс. Как `from`, это утверждение отправителя: используйте его только как цель навигации и не рассматривайте его как доказательство личности отправителя. Требует Claude Code v2.1.216 или позже.

2272 

2273*

2274 2242 

2275`verifiedPeerPid`: ID процесса процесса, который подключился к сокету кросс-сеансного обмена сообщениями этого сеанса, проверенный ядром и прочитанный из самого соединения, никогда из полезной нагрузки. Используйте его, а не `from`, чтобы идентифицировать отправителя: `from` может быть подделан любым процессом того же пользователя. Это поле отсутствует, когда Claude Code не может его проверить, такой как на Windows или неокончательный ввод, поэтому отсутствующее значение означает, что отправитель не проверен. Для передаваемого трафика он идентифицирует реле, а не автора сообщения, и ID процессов перерабатываются, поэтому рассматривайте его как происхождение, а не как токен аутентификации. Требует Claude Code v2.1.216 или позже.2243* `from`: имя участника команды или адрес отправителя для межсессионного пира. Для [одностороннего сообщения с другой машины](/docs/ru/cross-session-messaging#message-sessions-on-other-machines) у отправителя нет адреса для ответа, и `from` равно `"unknown"`. Значение задаётся отправителем; проверенной идентичностью является `verifiedPeerPid`.

2244* `fromMode`: класс разрешений отправляющей сессии, `bypass` или `prompting`, объявленный хостом, который передаёт сообщение пира между вашими сессиями, например [настольным приложением](/docs/ru/desktop#work-across-sessions). Claude Code читает его в принимающей сессии, когда применяет [контроль входящих сообщений](/docs/ru/cross-session-messaging#control-inbound-messages). Требует Agent SDK v0.3.234 или позже.

2245* `senderTaskId`: ID задачи участника команды. Отсутствует для межсессионного пира.

2246* `name`: отображаемое имя отправителя, нормализованное Claude Code: он удаляет управляющие, форматирующие и суррогатные кодовые точки Unicode, а также разделители строк и абзацев, затем обрезает пробелы и ограничивает результат 64 кодовыми точками с многоточием. Требует Claude Code v2.1.205 или позже.

2247* `body`: декодированное тело сообщения без конверта пира, побайтово совпадающее с тем, что видит модель. Всегда присутствует для сообщения участника команды; для межсессионного пира присутствует, только когда ход представляет собой ровно один конверт пира, сформированный Claude Code. Выполняйте рендеринг `name` и `body` вместо повторного разбора текста сообщения. Требует Claude Code v2.1.205 или позже.

2248* `fromSession`: ID сессии отправителя, которую может открыть хост; устанавливается хостом отправителя, чтобы ваш интерфейс мог ссылаться на отправляющую сессию. Как и `from`, это значение заявлено отправителем: используйте его только как цель навигации и не рассматривайте как доказательство идентичности отправителя. Требует Claude Code v2.1.216 или позже.

2249* `verifiedPeerPid`: ID процесса, который подключился к сокету межсессионного обмена сообщениями этой сессии, проверенный ядром и прочитанный из самого соединения, а не из данных сообщения. Используйте его, а не `from`, для идентификации отправителя: `from` может подделать любой процесс того же пользователя. Поле отсутствует, когда Claude Code не может его проверить, например в Windows или при поступлении не через сокет, поэтому отсутствие значения означает, что отправитель не проверен. Для ретранслируемого трафика оно идентифицирует ретранслятор, а не автора сообщения, а ID процессов могут переиспользоваться, поэтому рассматривайте его как сведения о происхождении, а не как токен аутентификации. Требует Claude Code v2.1.216 или позже.

2276 2250 

2277<h2 id="hook-types">2251<h2 id="hook-types">

2278 Типы hooks2252 Типы hooks


5079 `ApiKeySource`5053 `ApiKeySource`

5080</h3>5054</h3>

5081 5055 

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

5083 5057 

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

5085type ApiKeySource =5059type ApiKeySource =


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

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

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

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

5105 5079 

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

5107 5081 

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

5109 `SdkBeta`5083 `SdkBeta`


5116```5090```

5117 5091 

5118<Warning>5092<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.5093 В 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>5094</Warning>

5121 5095 

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


5135};5109};

5136```5110```

5137 5111 

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

5139 5113 

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

5141 `ModelInfo`5115 `ModelInfo`


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

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

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

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

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

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

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

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

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

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

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

5171 5145 

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

5173 `AgentInfo`5147 `AgentInfo`

5174</h3>5148</h3>

5175 5149 

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

5177 5151 

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

5179type AgentInfo = {5153type AgentInfo = {


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

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

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

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

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

5191 5165 

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

5193 `McpServerProvenance`5167 `McpServerProvenance`

5194</h3>5168</h3>

5195 5169 

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

5197 5171 

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

5199type McpServerProvenance = {5173type McpServerProvenance = {


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

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

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

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

5209 5183 

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

5211 5185 

5212* **`sdk`**: встроенный в процесс сервер, который зарегистрировало ваше приложение. Только приложение-хост SDK может зарегистрировать один, поэтому настроенный сервер никогда не сообщает `sdk`, независимо от его имени.5186* **`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).5187* **`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`.5188* **Область действия конфигурации**: `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 5189 

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

5217 5191 

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

5219 5193 

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

5221 `McpServerStatus`5195 `McpServerStatus`

5222</h3>5196</h3>

5223 5197 

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

5225 5199 

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

5227type McpServerStatus = {5201type McpServerStatus = {


5248};5222};

5249```5223```

5250 5224 

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

5252 5226 

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 или позже.5227`_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 5228 

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

5256 `McpServerStatusConfig`5230 `McpServerStatusConfig`

5257</h3>5231</h3>

5258 5232 

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

5260 5234 

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

5262type McpServerStatusConfig =5236type McpServerStatusConfig =


5273 `AccountInfo`5247 `AccountInfo`

5274</h3>5248</h3>

5275 5249 

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

5277 5251 

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

5279type AccountInfo = {5253type AccountInfo = {


5289 `ModelUsage`5263 `ModelUsage`

5290</h3>5264</h3>

5291 5265 

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

5293 5267 

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

5295type ModelUsage = {5269type ModelUsage = {


5308};5282};

5309```5283```

5310 5284 

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

5312 5286 

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

5314 5288 

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

5316 5290 

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

5318 5292 

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

5320 `ConfigScope`5294 `ConfigScope`


5328 `NonNullableUsage`5302 `NonNullableUsage`

5329</h3>5303</h3>

5330 5304 

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

5332 5306 

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

5334type NonNullableUsage = {5308type NonNullableUsage = {


5363 5337 

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

5365 5339 

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

5367 5341 

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

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

5370* **Потоковая передача**: на потоковых сообщениях ассистента эта разбивка, как и `output_tokens`, это заполнитель `message_start` и не содержит реального подсчёта, поэтому читайте её из сообщения результата `usage` как [Читайте выходные токены из сообщения результата](/docs/ru/agent-sdk/cost-tracking#read-output-tokens-from-the-result-message) описывает. На сообщении результата `thinking_tokens` читает `0`, когда модель или провайдер не сообщает разбивку.5344* **Потоковая передача**: в потоковых сообщениях ассистента эта разбивка, как и `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.5345* **Случаи `null`**: сам `output_tokens_details` имеет значение `null` в сообщениях ассистента, которые синтезирует Claude Code, например в сообщениях об ошибках API.

5372 5346 

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

5374 `CallToolResult`5348 `CallToolResult`

5375</h3>5349</h3>

5376 5350 

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

5378 5352 

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

5380type CallToolResult = {5354type CallToolResult = {


5391 `SDKMcpResourceLink`5365 `SDKMcpResourceLink`

5392</h3>5366</h3>

5393 5367 

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

5395 5369 

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

5397type SDKMcpResourceLink = {5371type SDKMcpResourceLink = {


5405};5379};

5406```5380```

5407 5381 

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

5409 5383 

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

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

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

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

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

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

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

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

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

5419 5393 

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

5421 `ThinkingConfig`5395 `ThinkingConfig`

5422</h3>5396</h3>

5423 5397 

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

5425 5399 

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

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


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

5433```5407```

5434 5408 

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"`.5409Необязательное поле `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 5410 

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

5438 `SpawnedProcess`5412 `SpawnedProcess`


5482```5456```

5483 5457 

5484<Note>5458<Note>

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

5486 5460 

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

5488</Note>5462</Note>

5489 5463 

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


5501};5475};

5502```5476```

5503 5477 

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

5505 5479 

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

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

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

5509 5483 

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

5511 5485 

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

5513 5487 

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

5515 `RewindFilesResult`5489 `RewindFilesResult`


5528};5502};

5529```5503```

5530 5504 

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

5532 5506 

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

5534 `SDKStatusMessage`5508 `SDKStatusMessage`

5535</h3>5509</h3>

5536 5510 

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

5538 5512 

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

5540type SDKStatusMessage = {5514type SDKStatusMessage = {


5551 `SDKTaskNotificationMessage`5525 `SDKTaskNotificationMessage`

5552</h3>5526</h3>

5553 5527 

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

5555 5529 

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

5557type SDKTaskNotificationMessage = {5531type SDKTaskNotificationMessage = {


5574};5548};

5575```5549```

5576 5550 

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 или позже.5551Когда 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 5552 

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

5580 5554 

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

5582 5556 

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

5584 `SDKToolUseSummaryMessage`5558 `SDKToolUseSummaryMessage`

5585</h3>5559</h3>

5586 5560 

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

5588 5562 

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

5590type SDKToolUseSummaryMessage = {5564type SDKToolUseSummaryMessage = {


5600 `SDKHookStartedMessage`5574 `SDKHookStartedMessage`

5601</h3>5575</h3>

5602 5576 

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

5604 5578 

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

5606 5580 

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

5608type SDKHookStartedMessage = {5582type SDKHookStartedMessage = {


5620 `SDKHookProgressMessage`5594 `SDKHookProgressMessage`

5621</h3>5595</h3>

5622 5596 

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

5624 5598 

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

5626type SDKHookProgressMessage = {5600type SDKHookProgressMessage = {


5641 `SDKHookResponseMessage`5615 `SDKHookResponseMessage`

5642</h3>5616</h3>

5643 5617 

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

5645 5619 

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

5647type SDKHookResponseMessage = {5621type SDKHookResponseMessage = {


5664 `SDKToolProgressMessage`5638 `SDKToolProgressMessage`

5665</h3>5639</h3>

5666 5640 

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

5668 5642 

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

5670type SDKToolProgressMessage = {5644type SDKToolProgressMessage = {


5689};5663};

5690```5664```

5691 5665 

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 на переднем плане либо.5666Пока вызов инструмента выполняется в основном диалоге, 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 5667 

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

5695 5669 

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

5697 5671 

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

5699* Очистите индикатор, когда позже приходит `tool_progress` для того же `parent_tool_use_id` без `subagent_retry` и без `heartbeat: true`, или когда приходит сообщение результата tool. Кадры с `heartbeat: true` сообщают только о живости, поэтому сохраняйте индикатор, когда один приходит. `attempt` может превышать `max_retries` при постоянном повторе, поэтому не выводите очистку из счётчиков.5673* Сбрасывайте индикатор, когда для того же `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`, потому что более поздние выпуски могут добавлять значения.5674* Рассматривайте `error_category` как токен для выбора собственного текста сообщения, а не как текст для отображения. Возможные значения: `rate_limit`, `overloaded`, `authentication_failed`, `server_error`, `cloud_credential_error` и `unknown`. Обрабатывайте незнакомое значение так же, как `unknown`, поскольку в более поздних выпусках могут появиться новые значения.

5701 5675 

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

5703 `SDKAuthStatusMessage`5677 `SDKAuthStatusMessage`

5704</h3>5678</h3>

5705 5679 

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

5707 5681 

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

5709type SDKAuthStatusMessage = {5683type SDKAuthStatusMessage = {


5720 `SDKTaskStartedMessage`5694 `SDKTaskStartedMessage`

5721</h3>5695</h3>

5722 5696 

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

5724 5698 

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

5726type SDKTaskStartedMessage = {5700type SDKTaskStartedMessage = {


5738};5712};

5739```5713```

5740 5714 

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

5742 5716 

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

5744 5718 

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

5746 5720 

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

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

5749 5723 

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

5751 5725 

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

5753 `SDKTaskProgressMessage`5727 `SDKTaskProgressMessage`

5754</h3>5728</h3>

5755 5729 

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

5757 5731 

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

5759 5733 

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

5761type SDKTaskProgressMessage = {5735type SDKTaskProgressMessage = {


5781 `SDKTaskUpdatedMessage`5755 `SDKTaskUpdatedMessage`

5782</h3>5756</h3>

5783 5757 

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

5785 5759 

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

5787type SDKTaskUpdatedMessage = {5761type SDKTaskUpdatedMessage = {


5805 `SDKBackgroundTasksChangedMessage`5779 `SDKBackgroundTasksChangedMessage`

5806</h3>5780</h3>

5807 5781 

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

5809 5783 

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

5811 5785 

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

5813 5787 

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

5815 5789 

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

5817 5791 

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

5819 5793 

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

5821type SDKBackgroundTasksChangedMessage = {5795type SDKBackgroundTasksChangedMessage = {


5836 `SDKThinkingTokensMessage`5810 `SDKThinkingTokensMessage`

5837</h3>5811</h3>

5838 5812 

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

5840 5814 

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

5842 5816 

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

5844 5818 

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

5846type SDKThinkingTokensMessage = {5820type SDKThinkingTokensMessage = {


5876 `SDKRateLimitEvent`5850 `SDKRateLimitEvent`

5877</h3>5851</h3>

5878 5852 

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

5880 5854 

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

5882type SDKRateLimitEvent = {5856type SDKRateLimitEvent = {


5894};5868};

5895```5869```

5896 5870 

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

5898 5872 

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

5900 `SDKLocalCommandOutputMessage`5874 `SDKLocalCommandOutputMessage`

5901</h3>5875</h3>

5902 5876 

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

5904 5878 

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

5906type SDKLocalCommandOutputMessage = {5880type SDKLocalCommandOutputMessage = {


5916 `SDKCommandsChangedMessage`5890 `SDKCommandsChangedMessage`

5917</h3>5891</h3>

5918 5892 

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

5920 5894 

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

5922 5896 

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

5924type SDKCommandsChangedMessage = {5898type SDKCommandsChangedMessage = {


5934 `SDKPromptSuggestionMessage`5908 `SDKPromptSuggestionMessage`

5935</h3>5909</h3>

5936 5910 

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

5938 5912 

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

5940type SDKPromptSuggestionMessage = {5914type SDKPromptSuggestionMessage = {


5949 `SDKConversationResetMessage`5923 `SDKConversationResetMessage`

5950</h3>5924</h3>

5951 5925 

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

5953 5927 

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

5955type SDKConversationResetMessage = {5929type SDKConversationResetMessage = {


5963};5937};

5964```5938```

5965 5939 

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

5967 5941 

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

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

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

5971 5945 

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

5973 5947 

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

5975 5949 

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

5977 `AbortError`5951 `AbortError`


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

5984```5958```

5985 5959 

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

5987 5961 

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

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

agent-teams.md +5 −2

Details

195* **Режим in-process**: используйте клавиши со стрелками вверх и вниз в панели агента для выбора товарища по команде, затем нажмите Enter для просмотра его сеанса и введите сообщение для отправки ему. Нажмите `x` на выбранном товарище по команде для его остановки. Нажмите Ctrl+T для переключения списка задач.195* **Режим in-process**: используйте клавиши со стрелками вверх и вниз в панели агента для выбора товарища по команде, затем нажмите Enter для просмотра его сеанса и введите сообщение для отправки ему. Нажмите `x` на выбранном товарище по команде для его остановки. Нажмите Ctrl+T для переключения списка задач.

196* **Режим split-pane**: щелкните в панель товарища по команде для прямого взаимодействия с его сеансом. Каждый товарищ по команде имеет полный вид своего собственного терминала.196* **Режим split-pane**: щелкните в панель товарища по команде для прямого взаимодействия с его сеансом. Каждый товарищ по команде имеет полный вид своего собственного терминала.

197 197 

198Пока вы просматриваете товарища по команде в режиме in-process, простой текст и [skills](/docs/ru/skills) идут этому товарищу по команде, но встроенные команды все еще работают в сеансе лидера.198Пока вы просматриваете товарища по команде в режиме in-process, простой текст и [скиллы](/docs/ru/skills) идут этому товарищу по команде, а встроенные команды идут в сессию лидера, со следующими мерами предосторожности:

199 199 

200Модель товарища по команде и режим быстрого выполнения фиксируются при его порождении, поэтому `/model` и `/fast` изменяют только параметры лидера. Начиная с версии v2.1.199, ввод любой из этих команд при просмотре товарища по команде показывает уведомление о том, что изменение применяется к лидеру; более ранние версии применяли его к лидеру без указания. `/effort` все еще применяется к последующим ходам просматриваемого товарища по команде, потому что товарищи по команде следуют [уровню усилий](/docs/ru/model-config#adjust-effort-level) лидера.200* `/compact`, `/clear` и `/rewind` действуют на диалог лидера, поэтому Claude Code просит вас подтвердить перед запуском любой из них из этого представления.

201* `/model` и `/fast` устанавливают модель и быстрый режим лидера, а не товарища по команде, поэтому они не запускаются из этого представления. Уведомление объясняет причину.

202 

203Модель товарища по команде и быстрый режим фиксируются при его порождении. `/effort` все еще применяется к последующим ходам просматриваемого товарища по команде, потому что товарищи по команде следуют [уровню усилий](/docs/ru/model-config#adjust-effort-level) лидера.

201 204 

202<h3 id="assign-and-claim-tasks">205<h3 id="assign-and-claim-tasks">

203 Назначение и взятие задач206 Назначение и взятие задач

agent-view.md +26 −6

Details

224 224 

225В большинстве случаев панель просмотра достаточна, и вам не нужно открывать полную стенограмму.225В большинстве случаев панель просмотра достаточна, и вам не нужно открывать полную стенограмму.

226 226 

227Введите ответ в панель просмотра и нажмите `Enter`, чтобы отправить его этому сеансу. Когда сеанс задаёт вопрос с предопределёнными вариантами, панель просмотра показывает их как нумерованный список и вы можете нажать цифровую клавишу для выбора одного. Запрос разрешения показывается как текст, описывающий то, что сеанс хочет запустить, без нумерованных вариантов. Введите ответ для ответа на него или подключитесь для ответа со стандартным запросом. Для других заблокированных сеансов нажмите `Tab`, чтобы заполнить ввод предложенным ответом, который вы можете отредактировать перед отправкой. Начните ответ с `!` для отправки команды Bash вместо этого.227Введите ответ на панели просмотра и нажмите `Enter`, чтобы отправить его этой сессии. Начните ответ с `!`, чтобы вместо этого отправить команду Bash. Что произойдёт с ответом, зависит от сессии и от того, что вы отправляете:

228 

229* Работающая сессия: ответ попадает в [очередь сообщений](/docs/ru/interactive-mode#queue-messages-while-claude-works) сессии, а не прерывает ответ, и вступает в силу [тогда же, когда и поставленный в очередь ввод](/docs/ru/interactive-mode#when-claude-code-sends-what-you-queued). [Команда](/docs/ru/commands) ждёт окончания хода, даже если в собственном промпте сессии она выполняется сразу после ввода

230* Ответ, который в точности равен `/stop`: немедленно останавливает сессию, а не доставляется ей, независимо от того, работает ли сессия или ждёт вас

231* [Shell-задача](#run-a-shell-command): ответ, включая `/stop`, передаётся в терминал команды как введённый текст

232 

233Когда сессия ждёт вас, способ ответа с панели просмотра зависит от того, чего она ждёт:

234 

235* Вопрос с предопределёнными вариантами: панель перечисляет варианты под номерами. Когда поле ввода ответа пустое, нажмите номер варианта, чтобы подставить его, а затем `Enter`, чтобы отправить, или введите собственный ответ

236* Вопрос без предопределённых вариантов: введите ответ. Когда в пустом поле ввода отображается предлагаемый ответ, нажмите `Tab`, чтобы подставить его и отредактировать перед отправкой

237* Запрос разрешения или другое диалоговое окно, например запрос [песочницы](/docs/ru/sandboxing) или [запрос на ввод](/docs/ru/mcp#respond-to-mcp-elicitation-requests) от MCP-сервера: ответ на панели на него не отвечает. Ваш ответ ждёт в очереди. Чтобы ответить в диалоговом окне, подключитесь с помощью `→`

228 238 

229Когда hook [`PermissionRequest`](/docs/ru/hooks#permissionrequest) или [`PreToolUse`](/docs/ru/hooks#pretooluse) возвращает вывод, который Claude Code не может проверить для вызова, который сеанс запрашивает, строка показывает событие hook и `hook output invalid:` с ошибкой проверки перед текстом ожидающего запроса. Для hook, который не работает другим способом, строка говорит, что hook не работал. Сеанс всё ещё ждёт того же запроса.239Когда hook [`PermissionRequest`](/docs/ru/hooks#permissionrequest) или [`PreToolUse`](/docs/ru/hooks#pretooluse) возвращает вывод, который Claude Code не может проверить для вызова, который сеанс запрашивает, строка показывает событие hook и `hook output invalid:` с ошибкой проверки перед текстом ожидающего запроса. Для hook, который не работает другим способом, строка говорит, что hook не работал. Сеанс всё ещё ждёт того же запроса.

230 240 


301* Нажмите `Ctrl+T` для закрепления сеанса в верхней части и [сохранения его процесса работающим](#the-supervisor-process) во время неактивности311* Нажмите `Ctrl+T` для закрепления сеанса в верхней части и [сохранения его процесса работающим](#the-supervisor-process) во время неактивности

302* Нажмите `Shift+↑` или `Shift+↓` для переупорядочения сеансов312* Нажмите `Shift+↑` или `Shift+↓` для переупорядочения сеансов

303* Нажмите `Ctrl+R` для переименования сеанса313* Нажмите `Ctrl+R` для переименования сеанса

304* Нажмите `Enter` на заголовке группы для её свёртывания314* Нажмите `Enter` на заголовке группы, чтобы свернуть её, кроме случаев, когда активен [фильтр](#filter-sessions): тогда все группы остаются развёрнутыми

305 315 

306Чтобы удалить сеанс из списка, нажмите `Ctrl+X` для его остановки и `Ctrl+X` снова в течение двух секунд для удаления. Нажатие `Ctrl+X` на заголовке группы удаляет каждый сеанс в этой группе после подтверждения.316Чтобы удалить сеанс из списка, нажмите `Ctrl+X` для его остановки и `Ctrl+X` снова в течение двух секунд для удаления. Нажатие `Ctrl+X` на заголовке группы удаляет каждый сеанс в этой группе после подтверждения.

307 317 


324 Фильтрация сеансов334 Фильтрация сеансов

325</h3>335</h3>

326 336 

327Введите в поле отправки для фильтрации вместо отправки:337Начните ввод в поле отправки с одного из этих фильтров, чтобы сужать список по мере ввода:

328 338 

329| Фильтр | Показывает |339| Фильтр | Показывает |

330| :- | :- |340| :- | :- |

331| `a:<name>` | Сеансы, запускающие названного агента |341| `a:<name>` | Сеансы, запускающие названного агента |

332| `s:<state>` | Сеансы в данном состоянии, такие как `s:working`. Также принимает `s:blocked` для всего, что ждёт вас |342| `s:<state>` | Сессии в указанном состоянии, например `s:working`, или под указанным заголовком группы, например `s:ready` для `Ready for review`. `s:blocked` перечисляет всё, что ждёт вас |

333| `#<number>` или URL pull или merge request | Сеанс, работающий над этим pull request или merge request |343| `n:<text>` | Сессии, имя или первый промпт которых содержит указанный текст, например `n:login`. Требуется Claude Code v2.1.287 или новее |

344| `o:<text>` | Сессии, результат которых содержит указанный текст, например `o:merged`. `o:` без текста перечисляет все сессии, сообщившие результат |

345| Номер pull request или merge request, например `#1234`, или его URL | Сессия, работающая с этим pull request или merge request |

334| Любой другой URL | Сеанс, первый запрос которого содержал этот URL |346| Любой другой URL | Сеанс, первый запрос которого содержал этот URL |

335 347 

348Чтобы объединить фильтры, начните с `a:`, `s:`, `n:` или `o:` и добавьте другие через пробел. Список покажет сессии, соответствующие всем фильтрам. Например, `s:blocked a:reviewer` перечисляет сессии `reviewer`, которые ждут вас.

349 

350Пока фильтр активен, свёрнутые вами группы разворачиваются, чтобы показать совпадения, и выбирается первое совпадение, поэтому нажатие `Enter` открывает его. Очистите поле ввода, чтобы снять фильтр, и эти группы снова свернутся.

351 

336<h3 id="keyboard-shortcuts">352<h3 id="keyboard-shortcuts">

337 Сочетания клавиш353 Сочетания клавиш

338</h3>354</h3>


342| Сочетание клавиш | Действие |358| Сочетание клавиш | Действие |

343| :- | :- |359| :- | :- |

344| `↑` / `↓` | Перемещение между строками |360| `↑` / `↓` | Перемещение между строками |

345| `Enter` | Подключение к выбранному сеансу или отправка, если в поле ввода есть текст |361| `PgUp` / `PgDn` | Перемещение вверх или вниз на экран строк |

362| `Home` / `End` | Переход к первой или последней строке |

363| `Enter` | Подключение к выбранной сессии или отправка текста из поля ввода, если это не [фильтр](#filter-sessions) |

346| `Space` | Открытие или закрытие панели просмотра для выбранного сеанса |364| `Space` | Открытие или закрытие панели просмотра для выбранного сеанса |

347| `Shift+Enter` | Вставка новой строки в поле отправки, [как в основной подсказке](/docs/ru/terminal-config#enter-multiline-prompts) |365| `Shift+Enter` | Вставка новой строки в поле отправки, [как в основной подсказке](/docs/ru/terminal-config#enter-multiline-prompts) |

348| `Ctrl+Enter` | Отправка и немедленное подключение в терминалах, где панель `?` указывает `ctrl+enter to start and open` |366| `Ctrl+Enter` | Отправка и немедленное подключение в терминалах, где панель `?` указывает `ctrl+enter to start and open` |


1060 1078 

1061| Версия | Изменение |1079| Версия | Изменение |

1062| - | - |1080| - | - |

1081| v2.1.287 | [Фильтр `n:<text>`](#filter-sessions) находит сессии по имени или первому промпту. Пока активен любой фильтр, свёрнутые вами группы разворачиваются, чтобы показать совпадения, и выбирается первое совпадение, поэтому `Enter` открывает его. |

1082| v2.1.287 | Команда, отправленная как [ответ из панели просмотра](#peek-and-reply), выполняется, когда заканчивается текущий ход сессии, включая команды, которые выполняются сразу при вводе в собственном промпте сессии. Ответ, который в точности равен `/stop`, немедленно останавливает сессию. |

1063| v2.1.281 | Ограничение [`--setting-sources`](/docs/ru/cli-reference#cli-flags) [переносится](#what-carries-over-when-you-background) в сеанс, который вы отправляете в фон с помощью `←` или `/bg`, и в сеансы, которые вы отправляете из agent view. До этого выпуска запущенный сеанс загружал каждый источник параметров. |1083| v2.1.281 | Ограничение [`--setting-sources`](/docs/ru/cli-reference#cli-flags) [переносится](#what-carries-over-when-you-background) в сеанс, который вы отправляете в фон с помощью `←` или `/bg`, и в сеансы, которые вы отправляете из agent view. До этого выпуска запущенный сеанс загружал каждый источник параметров. |

1064| v2.1.281 | `claude --bg` и команды, которые перезагружают сеанс, проверяют доверие рабочей области для каталога сеанса в первую очередь. Из терминала в этом каталоге [диалог доверия появляется](#from-your-shell), если вы его ещё не приняли; где диалог не может появиться, например в скрипте, команда выходит с ошибкой [`Workspace not trusted`](/docs/ru/errors#workspace-not-trusted-when-dispatching-a-background-session). |1084| v2.1.281 | `claude --bg` и команды, которые перезагружают сеанс, проверяют доверие рабочей области для каталога сеанса в первую очередь. Из терминала в этом каталоге [диалог доверия появляется](#from-your-shell), если вы его ещё не приняли; где диалог не может появиться, например в скрипте, команда выходит с ошибкой [`Workspace not trusted`](/docs/ru/errors#workspace-not-trusted-when-dispatching-a-background-session). |

1065| v2.1.274 | После автоматического обновления agent view, от которого вы были в отсутствии примерно час, может перезагрузиться на новую сборку. Когда это происходит, он сохраняет [значения отправки по умолчанию](#dispatch-defaults), с которыми вы его открыли: `--model`, `--effort`, `--permission-mode`, `--allow-dangerously-skip-permissions` и `--agent`. До этого выпуска перезагруженный view сохранял только `--cwd` и флаги конфигурации, такие как `--settings` и `--mcp-config`, поэтому сеансы, которые вы отправляли впоследствии, запускались без этих значений по умолчанию. |1085| v2.1.274 | После автоматического обновления agent view, от которого вы были в отсутствии примерно час, может перезагрузиться на новую сборку. Когда это происходит, он сохраняет [значения отправки по умолчанию](#dispatch-defaults), с которыми вы его открыли: `--model`, `--effort`, `--permission-mode`, `--allow-dangerously-skip-permissions` и `--agent`. До этого выпуска перезагруженный view сохранял только `--cwd` и флаги конфигурации, такие как `--settings` и `--mcp-config`, поэтому сеансы, которые вы отправляли впоследствии, запускались без этих значений по умолчанию. |

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>

artifacts.md +9 −0

Details

118 118 

119Claude читает страницу, написанную кем-то другим, так же, как он читает веб-страницу с помощью [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior): он получает краткое описание того, о чем его попросили, а не исходную страницу, и краткое описание содержит инструкции, написанные на странице, вместо того чтобы их передавать. Claude Code также сохраняет полный исходный код страницы в локальный файл, который Claude может открыть, когда ему нужно точное содержимое, например для повторной публикации артефакта в качестве [редактора](#let-someone-edit-with-you).119Claude читает страницу, написанную кем-то другим, так же, как он читает веб-страницу с помощью [WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior): он получает краткое описание того, о чем его попросили, а не исходную страницу, и краткое описание содержит инструкции, написанные на странице, вместо того чтобы их передавать. Claude Code также сохраняет полный исходный код страницы в локальный файл, который Claude может открыть, когда ему нужно точное содержимое, например для повторной публикации артефакта в качестве [редактора](#let-someone-edit-with-you).

120 120 

121Claude Code запрашивает ваше подтверждение, прежде чем Claude прочитает артефакт, в следующих случаях — в дополнение к любому запросу, которого требуют ваш режим разрешений или правила:

122 

123* **Облачная сессия без доступа к сети**: для [облачной среды](/docs/ru/cloud-environments#access-levels) это уровень **None**. В [авторежиме](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) вместо вас подтверждение может дать классификатор; в сессии [Cowork](https://claude.com/product/cowork) подтверждение даете только вы.

124* **Публичный артефакт другой организации**: Claude Code сначала спрашивает вас, даже в авторежиме. Если Claude Code не может спросить вас, например в режиме `bypassPermissions`, Claude не может прочитать артефакт. Claude может читать такие артефакты, только пока включено [получение feature-флагов](/docs/ru/env-vars#features-that-need-feature-flag-fetching).

125* **Неподтвержденный владелец или настройка сети**: когда Claude Code не может подтвердить, кто создал артефакт, или не может подтвердить настройку сети облачной сессии, он спрашивает вас, и ваше подтверждение распространяется только на этот один запрос.

126* **Режим планирования или отключенное получение feature-флагов**: в [режиме планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) или если вы отключили [получение feature-флагов](/docs/ru/env-vars#features-that-need-feature-flag-fetching), Claude Code спрашивает вас, прежде чем инструмент Artifact прочитает артефакт, созданный кем-то другим в вашей организации.

127 

128Когда Claude читает артефакт с помощью WebFetch, собственные [правила запросов](/docs/ru/tools-reference#webfetch-tool-behavior) WebFetch по-прежнему действуют.

129 

121<h2 id="collect-comments-on-an-artifact">130<h2 id="collect-comments-on-an-artifact">

122 Собирайте комментарии к артефакту131 Собирайте комментарии к артефакту

123</h2>132</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 

Details

271 271 

272* **Учётные данные Git**: git-клиент внутри виртуальной машины использует ограниченные учётные данные, которые прокси проверяет и заменяет на ваш реальный токен GitHub.272* **Учётные данные Git**: git-клиент внутри виртуальной машины использует ограниченные учётные данные, которые прокси проверяет и заменяет на ваш реальный токен GitHub.

273* **Запросы API**: запросы от встроенных инструментов GitHub и от `gh` под [заполнителем `proxy-injected`](#work-with-github-issues-and-pull-requests) отправляются с подставленными вашими реальными учётными данными.273* **Запросы API**: запросы от встроенных инструментов GitHub и от `gh` под [заполнителем `proxy-injected`](#work-with-github-issues-and-pull-requests) отправляются с подставленными вашими реальными учётными данными.

274* **Защита от отправки**: `git push` работает только для текущей рабочей ветви сеанса; клонирование, получение и операции PR работают нормально.274* **Ограничения push**: прокси отклоняет удаление веток и push всего, что не является веткой, например тега. Он не ограничивает, какие ветки может обновлять push. Для этого используйте правила защиты веток или наборы правил (rulesets) на GitHub.

275* **Область репозитория**: запросы GitHub API и запросы активов выпуска достигают только репозиториев, прикреплённых к сеансу, поэтому скрипт установки, который загружает активы выпуска из неприкреплённого репозитория, получает 403.275* **Область репозитория**: запросы GitHub API и запросы активов выпуска достигают только репозиториев, прикреплённых к сеансу, поэтому скрипт установки, который загружает активы выпуска из неприкреплённого репозитория, получает 403.

276* **Ограничения GraphQL**: прокси обслуживает только закреплённый набор операций GraphQL для рабочих процессов pull-request. Прокси отклоняет всё остальное на конечной точке GraphQL с 403, который говорит `This GraphQL query is not enabled for this session` и называет резервный вариант REST, `gh api repos/{owner}/{repo}/...`. Ограничение применяется к каждому запросу через прокси независимо от предоставленных вами учётных данных, поэтому установленный вами `GH_TOKEN` получает тот же 403. Claude не может достичь API GitHub, которые существуют только в GraphQL, таких как Projects v2, через прокси.276* **Ограничения GraphQL**: прокси обслуживает только закреплённый набор операций GraphQL для рабочих процессов pull-request. Прокси отклоняет всё остальное на конечной точке GraphQL с 403, который говорит `This GraphQL query is not enabled for this session` и называет резервный вариант REST, `gh api repos/{owner}/{repo}/...`. Ограничение применяется к каждому запросу через прокси независимо от предоставленных вами учётных данных, поэтому установленный вами `GH_TOKEN` получает тот же 403. Claude не может достичь API GitHub, которые существуют только в GraphQL, таких как Projects v2, через прокси.

277 277 

code-review.md +1 −3

Details

435 Ultrareview требует аутентификации с аккаунтом claude.ai и недоступна на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, или для организаций с включённым Zero Data Retention. Когда ultrareview недоступна, `/code-review ultra` запускает локальную проверку в вашем сеансе вместо этого.435 Ultrareview требует аутентификации с аккаунтом claude.ai и недоступна на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, или для организаций с включённым Zero Data Retention. Когда ultrareview недоступна, `/code-review ultra` запускает локальную проверку в вашем сеансе вместо этого.

436</Note>436</Note>

437 437 

438Чтобы запустить облачную проверку из скрипта или CI, запустите `claude -p '/code-review ultra'`. Claude Code запускает проверку и выводит ссылку для отслеживания её. Требуется Claude Code v2.1.218 или позже.438Чтобы запустить облачную проверку из скрипта или задания CI, используйте [подкоманду `claude ultrareview`](/docs/ru/ultrareview#run-ultrareview-non-interactively), которая ожидает результаты и выводит их в stdout.

439 

440Когда проверка будет выставлять счёт [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), Claude Code останавливается перед запуском, потому что подтверждение выставления счёта требует интерактивного сеанса. Вместо этого запустите [`claude ultrareview` subcommand](/docs/ru/ultrareview#run-ultrareview-non-interactively); запустив его, вы даёте согласие на взимание платежа.

441 439 

442Команда называлась `/simplify` до версии v2.1.147, когда она применяла исправления по умолчанию. `/simplify` запускает отдельную проверку только для очистки, которая применяет исправления без поиска ошибок. Если вы использовали скрипт `/simplify` для поиска ошибок, переключитесь на `/code-review --fix`.440Команда называлась `/simplify` до версии v2.1.147, когда она применяла исправления по умолчанию. `/simplify` запускает отдельную проверку только для очистки, которая применяет исправления без поиска ошибок. Если вы использовали скрипт `/simplify` для поиска ошибок, переключитесь на `/code-review --fix`.

443 441 

commands.md +36 −36

Details

38 38 

39В таблице ниже перечислены все команды, включённые в Claude Code. Большинство из них — встроенные команды, поведение которых закодировано в CLI. Два типа записей отмечены:39В таблице ниже перечислены все команды, включённые в Claude Code. Большинство из них — встроенные команды, поведение которых закодировано в CLI. Два типа записей отмечены:

40 40 

41* **[Skill](/docs/ru/skills#bundled-skills)**: встроенный skill. Он работает как skills, которые вы пишете сами: подсказка, переданная Claude.41* **[Skill](/docs/ru/skills#bundled-skills)**: встроенный skill. Он работает как skills, которые вы пишете сами: промпт, переданный Claude.

42 * `/verify` запускается только при вызове. До версии 2.1.215 Claude мог также запускать `/verify` самостоятельно.42 * `/verify` запускается только при вызове. До версии 2.1.215 Claude мог также запускать `/verify` самостоятельно.

43* **[Workflow](/docs/ru/workflows#bundled-workflows)**: встроенный [динамический workflow](/docs/ru/workflows), который распределяет работу между множеством подагентов и выполняется в фоне.43* **[Workflow](/docs/ru/workflows#bundled-workflows)**: встроенный [динамический workflow](/docs/ru/workflows), который распределяет работу между множеством субагентов и выполняется в фоне.

44 * `/deep-research` запускается только при вызове. До версии 2.1.218 Claude мог также запускать его самостоятельно.44 * `/deep-research` запускается только при вызове. До версии 2.1.218 Claude мог также запускать его самостоятельно.

45 45 

46Чтобы добавить свои команды, см. [skills](/docs/ru/skills).46Чтобы добавить свои команды, см. [skills](/docs/ru/skills).


55| :- | :- |55| :- | :- |

56| `/add-dir <path>` | Добавить рабочий каталог для доступа к файлам во время текущей сессии. Введите частичный путь, чтобы увидеть предложения соответствующих каталогов; нажмите `Tab` для принятия. Большинство конфигурации `.claude/` [не обнаруживается](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) из добавленного каталога. Вы не можете добавить большинство [сетевых путей](/docs/ru/errors#working-directory-is-a-network-path), таких как `\\server\share`. После успешного добавления запускаются ваши [`DirectoryAdded` hooks](/docs/ru/hooks#directoryadded). Когда вы запускаете команду во время ответа Claude, Claude Code просит вас подтвердить каталог сразу же, и после подтверждения следующий вызов инструмента Claude в этом же ходу может получить доступ к нему. До версии 2.1.234 Claude Code ставил команду в очередь до завершения хода |56| `/add-dir <path>` | Добавить рабочий каталог для доступа к файлам во время текущей сессии. Введите частичный путь, чтобы увидеть предложения соответствующих каталогов; нажмите `Tab` для принятия. Большинство конфигурации `.claude/` [не обнаруживается](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) из добавленного каталога. Вы не можете добавить большинство [сетевых путей](/docs/ru/errors#working-directory-is-a-network-path), таких как `\\server\share`. После успешного добавления запускаются ваши [`DirectoryAdded` hooks](/docs/ru/hooks#directoryadded). Когда вы запускаете команду во время ответа Claude, Claude Code просит вас подтвердить каталог сразу же, и после подтверждения следующий вызов инструмента Claude в этом же ходу может получить доступ к нему. До версии 2.1.234 Claude Code ставил команду в очередь до завершения хода |

57| `/advisor [model\|off]` | Включить или отключить [инструмент advisor](/docs/ru/advisor), который консультирует вторую модель для получения рекомендаций в ключевые моменты задачи. Принимает `fable`, `opus`, `sonnet` или полный ID модели. `fable` требует [доступ к Fable](/docs/ru/advisor#choose-an-advisor-model). Без аргумента открывает средство выбора. В сессии без интерактивного терминала или через [Remote Control](/docs/ru/remote-control#limitations), передайте модель или `off` как аргумент; без аргумента команда выводит текущий advisor как текст. Эти формы требуют Claude Code v2.1.260 или позже |57| `/advisor [model\|off]` | Включить или отключить [инструмент advisor](/docs/ru/advisor), который консультирует вторую модель для получения рекомендаций в ключевые моменты задачи. Принимает `fable`, `opus`, `sonnet` или полный ID модели. `fable` требует [доступ к Fable](/docs/ru/advisor#choose-an-advisor-model). Без аргумента открывает средство выбора. В сессии без интерактивного терминала или через [Remote Control](/docs/ru/remote-control#limitations), передайте модель или `off` как аргумент; без аргумента команда выводит текущий advisor как текст. Эти формы требуют Claude Code v2.1.260 или позже |

58| `/agents` | Начиная с версии 2.1.198, запуск `/agents` выводит напоминание попросить Claude создать или управлять [подагентами](/docs/ru/sub-agents), или отредактировать `.claude/agents/` или `~/.claude/agents/` напрямую. На версии 2.1.197 и ранее открывает интерактивный интерфейс для создания и управления конфигурациями подагентов |58| `/agents` | Начиная с версии 2.1.198, запуск `/agents` выводит напоминание попросить Claude создать или управлять [субагентами](/docs/ru/sub-agents), или отредактировать `.claude/agents/` или `~/.claude/agents/` напрямую. На версии 2.1.197 и ранее открывает интерактивный интерфейс для создания и управления конфигурациями субагентов |

59| `/artifact-capabilities` | **[Skill](/docs/ru/skills#bundled-skills).** Загрузить справку по возможностям среды выполнения, которые опубликованный [артефакт](/docs/ru/artifacts) может использовать, такие как [вызов ваших connectors](/docs/ru/artifacts#pull-live-data-with-mcp-connectors) или [предложение загрузки файла](/docs/ru/artifacts#offer-a-file-download), включая те, которые есть у вашей учётной записи. Claude обычно загружает её самостоятельно перед созданием страницы, которая использует одну. Доступно где [артефакты](/docs/ru/artifacts#availability) есть |59| `/artifact-capabilities` | **[Skill](/docs/ru/skills#bundled-skills).** Загрузить справку по возможностям среды выполнения, которые опубликованный [артефакт](/docs/ru/artifacts) может использовать, такие как [вызов ваших connectors](/docs/ru/artifacts#pull-live-data-with-mcp-connectors) или [предложение загрузки файла](/docs/ru/artifacts#offer-a-file-download), включая те, которые есть у вашей учётной записи. Claude обычно загружает её самостоятельно перед созданием страницы, которая использует одну. Доступно где [артефакты](/docs/ru/artifacts#availability) есть |

60| `/artifact-diagramming` | **[Skill](/docs/ru/skills#bundled-skills).** Загрузить рекомендации по диаграммированию для Claude, которые следует соблюдать в [артефактах](/docs/ru/artifacts): когда диаграмма помогает, что рисовать и как писать встроенный SVG, который остаётся разборчивым в светлых и тёмных темах. Требует Claude Code v2.1.221 или позже |60| `/artifact-diagramming` | **[Skill](/docs/ru/skills#bundled-skills).** Загрузить рекомендации по диаграммированию для Claude, которые следует соблюдать в [артефактах](/docs/ru/artifacts): когда диаграмма помогает, что рисовать и как писать встроенный SVG, который остаётся разборчивым в светлых и тёмных темах. Требует Claude Code v2.1.221 или позже |

61| `/artifacts` | Список [артефактов](/docs/ru/artifacts#find-an-artifact-again), которыми вы владеете или которые с вами поделены, затем прикрепить один к сессии, открыть его в браузере или скопировать его ссылку. Доступно где [артефакты](/docs/ru/artifacts#availability) есть. Требует Claude Code v2.1.208 или позже; прикрепление с `Enter` требует v2.1.216 |61| `/artifacts` | Список [артефактов](/docs/ru/artifacts#find-an-artifact-again), которыми вы владеете или которые с вами поделены, затем прикрепить один к сессии, открыть его в браузере или скопировать его ссылку. Доступно где [артефакты](/docs/ru/artifacts#availability) есть. Требует Claude Code v2.1.208 или позже; прикрепление с `Enter` требует v2.1.216 |

62| `/auto-mode-setup` | [Составить записи `autoMode.environment`](/docs/ru/auto-mode-config#generate-environment-entries) из вашего проекта и недавних сессий, затем просмотреть черновик и сохранить его в пользовательские настройки. Требует план Pro, Max или Team и Claude Code v2.1.228 или позже. На нативном Windows требует v2.1.233 или позже |62| `/auto-mode-setup` | [Составить записи `autoMode.environment`](/docs/ru/auto-mode-config#generate-environment-entries) из вашего проекта и недавних сессий, затем просмотреть черновик и сохранить его в пользовательские настройки. Требует план Pro, Max или Team и Claude Code v2.1.228 или позже. На нативном Windows требует v2.1.233 или позже |

63| `/autocompact [auto\|<tokens>]` | Установить окно auto-compact: насколько полным становится контекстное окно перед автоматическим сжатием Claude Code. Передайте размер, такой как `500k`, или `auto` для возврата к окну, настроенному для вашей модели. Claude Code сохраняет значение в пользовательские настройки и применяет его к текущей сессии. См. [Установить окно auto-compact](/docs/ru/model-config#set-the-auto-compact-window) для принимаемых значений и того, что его переопределяет. Без аргумента открывает диалог, показывающий текущее окно. Требует Claude Code v2.1.221 или позже |63| `/autocompact [auto\|<tokens>]` | Установить окно auto-compact: насколько полным становится контекстное окно перед автоматическим сжатием Claude Code. Передайте размер, такой как `500k`, или `auto` для возврата к окну, настроенному для вашей модели. Claude Code сохраняет значение в пользовательские настройки и применяет его к текущей сессии. См. [Установить окно auto-compact](/docs/ru/model-config#set-the-auto-compact-window) для принимаемых значений и того, что его переопределяет. Без аргумента открывает диалог, показывающий текущее окно. Требует Claude Code v2.1.221 или позже |

64| `/autofix-pr [prompt]` | Запустить [облачную сессию](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests), которая отслеживает PR текущей ветки и отправляет исправления при сбое CI или комментариях рецензентов. Обнаруживает открытый PR из вашей проверенной ветки с помощью `gh pr view`; чтобы отслеживать другой PR, сначала проверьте его ветку. По умолчанию облачной сессии сказано исправлять каждый сбой CI и комментарий рецензента; передайте подсказку, чтобы дать ей другие инструкции, например `/autofix-pr only fix lint and type errors`. Требует CLI `gh` и доступ к [облачным сессиям](/docs/ru/claude-code-on-the-web) |64| `/autofix-pr [prompt]` | Запустить [облачную сессию](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests), которая отслеживает PR текущей ветки и отправляет исправления при сбое CI или комментариях рецензентов. Обнаруживает открытый PR из вашей проверенной ветки с помощью `gh pr view`; чтобы отслеживать другой PR, сначала проверьте его ветку. По умолчанию облачной сессии сказано исправлять каждый сбой CI и комментарий рецензента; передайте промпт, чтобы дать ей другие инструкции, например `/autofix-pr only fix lint and type errors`. Требует CLI `gh` и доступ к [облачным сессиям](/docs/ru/claude-code-on-the-web) |

65| `/background [prompt]` | Отсоединить текущую сессию для запуска как [фоновый агент](/docs/ru/agent-view) и освободить этот терминал. Передайте подсказку для отправки ещё одной инструкции перед отсоединением. Мониторьте сессию с помощью `claude agents`. Чтобы скопировать разговор в новую фоновую сессию, пока эта продолжает работать, используйте `/fork`. Псевдоним: `/bg` |65| `/background [prompt]` | Отсоединить текущую сессию для запуска как [фоновый агент](/docs/ru/agent-view) и освободить этот терминал. Передайте промпт для отправки ещё одной инструкции перед отсоединением. Мониторьте сессию с помощью `claude agents`. Чтобы скопировать разговор в новую фоновую сессию, пока эта продолжает работать, используйте `/fork`. Псевдоним: `/bg` |

66| `/batch <instruction>` | **[Skill](/docs/ru/skills#bundled-skills).** Организовать крупномасштабные изменения по всей кодовой базе параллельно. Исследует кодовую базу, разбивает работу на 5–30 независимых единиц и представляет план. После одобрения запускает один [фоновый подагент](/docs/ru/sub-agents#run-subagents-in-foreground-or-background) на единицу в изолированном [worktree](/docs/ru/worktrees). Каждый подагент реализует свою единицу, запускает тесты и публикует своё изменение. Требует git-репозиторий или [`WorktreeCreate` hook](/docs/ru/worktrees#non-git-version-control), который создаёт worktrees. Вне git-репозитория `/batch` требует Claude Code v2.1.281 или позже. Пример: `/batch migrate src/ from JavaScript to TypeScript` |66| `/batch <instruction>` | **[Skill](/docs/ru/skills#bundled-skills).** Организовать крупномасштабные изменения по всей кодовой базе параллельно. Исследует кодовую базу, разбивает работу на 5–30 независимых единиц и представляет план. После одобрения запускает один [фоновый субагент](/docs/ru/sub-agents#run-subagents-in-foreground-or-background) на единицу в изолированном [worktree](/docs/ru/worktrees). Каждый субагент реализует свою единицу, запускает тесты и публикует своё изменение. Требует git-репозиторий или [`WorktreeCreate` hook](/docs/ru/worktrees#non-git-version-control), который создаёт worktrees. Вне git-репозитория `/batch` требует Claude Code v2.1.281 или позже. Пример: `/batch migrate src/ from JavaScript to TypeScript` |

67| `/branch [name]` | Создать ветку текущего разговора в этой точке, чтобы вы могли попробовать другое направление без потери разговора в его текущем состоянии. Переключает вас в ветку и сохраняет оригинал, к которому вы можете вернуться с помощью `/resume`. Чтобы запустить копию как отдельную [фоновую сессию](/docs/ru/agent-view) вместо переключения в неё, используйте `/fork`; чтобы передать побочную задачу [подагенту](/docs/ru/sub-agents), который отчитывается обратно в этот разговор, используйте `/subtask` |67| `/branch [name]` | Создать ветку текущего разговора в этой точке, чтобы вы могли попробовать другое направление без потери разговора в его текущем состоянии. Переключает вас в ветку и сохраняет оригинал, к которому вы можете вернуться с помощью `/resume`. Чтобы запустить копию как отдельную [фоновую сессию](/docs/ru/agent-view) вместо переключения в неё, используйте `/fork`; чтобы передать побочную задачу [субагенту](/docs/ru/sub-agents), который отчитывается обратно в этот разговор, используйте `/subtask` |

68| `/btw [question]` | Задать [побочный вопрос](/docs/ru/interactive-mode#side-questions-with-%2Fbtw) о текущей сессии без добавления в разговор. Если вы запустите `/btw` без вопроса, Claude Code показывает ваш самый последний побочный вопрос, чтобы вы могли просмотреть более ранние ответы; если вы ещё не задавали его, Claude Code выводит строку использования. До версии 2.1.212 `/btw` требовал вопрос |68| `/btw [question]` | Задать [побочный вопрос](/docs/ru/interactive-mode#side-questions-with-%2Fbtw) о текущей сессии без добавления в разговор. Если вы запустите `/btw` без вопроса, Claude Code показывает ваш самый последний побочный вопрос, чтобы вы могли просмотреть более ранние ответы; если вы ещё не задавали его, Claude Code выводит строку использования. До версии 2.1.212 `/btw` требовал вопрос |

69| `/bug [report]` | Сообщить об ошибке или поделиться своим разговором. Вы выбираете, сколько истории сессии включить, и подтверждаете на экране согласия перед отправкой чего-либо. Когда вы вошли в Anthropic при подключении первой стороны, отчёт идёт в Anthropic; у поставщика третьей стороны или без учётных данных Anthropic Claude Code записывает отчёт в [локальный архив под `~/.claude/feedback-bundles/`](/docs/ru/data-usage#telemetry-services), который вы пересылаете сами. В [расширении VS Code](/docs/ru/vs-code#use-the-prompt-box) `/bug` открывает собственный диалог обратной связи расширения; требует Claude Code v2.1.229 или позже. Когда вы запускаете его во время ответа Claude, Claude Code открывает диалог сразу же. До версии 2.1.232 Claude Code ставил команду в очередь до завершения хода. Псевдоним: `/share`. До версии 2.1.212 `/bug` и `/share` были псевдонимами `/feedback` |69| `/bug [report]` | Сообщить об ошибке или поделиться своим разговором. Вы выбираете, сколько истории сессии включить, и подтверждаете на экране согласия перед отправкой чего-либо. Когда вы вошли в Anthropic при подключении первой стороны, отчёт идёт в Anthropic; у поставщика третьей стороны или без учётных данных Anthropic Claude Code записывает отчёт в [локальный архив под `~/.claude/feedback-bundles/`](/docs/ru/data-usage#telemetry-services), который вы пересылаете сами. В [расширении VS Code](/docs/ru/vs-code#use-the-prompt-box) `/bug` открывает собственный диалог обратной связи расширения; требует Claude Code v2.1.229 или позже. Когда вы запускаете его во время ответа Claude, Claude Code открывает диалог сразу же. До версии 2.1.232 Claude Code ставил команду в очередь до завершения хода. Псевдоним: `/share`. До версии 2.1.212 `/bug` и `/share` были псевдонимами `/feedback` |

70| `/cd <path>` | Переместить эту сессию в новый рабочий каталог, сохраняя разговор. Введите частичный путь, чтобы увидеть предложения соответствующих каталогов; нажмите `Tab` для принятия. Предложения требуют Claude Code v2.1.206 или позже. Для того, что Claude Code применяет из нового каталога сразу же при перемещении, и как `/cd` отличается от `/add-dir`, см. [Переместить сессию в другой каталог](/docs/ru/permissions#move-the-session-to-another-directory) |70| `/cd <path>` | Переместить эту сессию в новый рабочий каталог, сохраняя разговор. Введите частичный путь, чтобы увидеть предложения соответствующих каталогов; нажмите `Tab` для принятия. Предложения требуют Claude Code v2.1.206 или позже. Для того, что Claude Code применяет из нового каталога сразу же при перемещении, и как `/cd` отличается от `/add-dir`, см. [Переместить сессию в другой каталог](/docs/ru/permissions#move-the-session-to-another-directory) |


73| `/claude-in-chrome [task]` | **[Skill](/docs/ru/skills#bundled-skills).** Попросить Claude выполнить задачу в вашем браузере, такую как тестирование страницы, заполнение формы или чтение логов консоли, через [Claude в Chrome](/docs/ru/chrome). Доступно, когда интеграция Chrome включена для сессии, например с `claude --chrome`, или когда Claude Code может предложить [установить расширение](/docs/ru/chrome#install-the-extension-when-claude-asks) |73| `/claude-in-chrome [task]` | **[Skill](/docs/ru/skills#bundled-skills).** Попросить Claude выполнить задачу в вашем браузере, такую как тестирование страницы, заполнение формы или чтение логов консоли, через [Claude в Chrome](/docs/ru/chrome). Доступно, когда интеграция Chrome включена для сессии, например с `claude --chrome`, или когда Claude Code может предложить [установить расширение](/docs/ru/chrome#install-the-extension-when-claude-asks) |

74| `/clear [name]` | Начать новый разговор с пустым контекстом. Передайте имя для обозначения предыдущего разговора в средстве выбора `/resume`. Чтобы освободить контекст, продолжая тот же разговор, используйте `/compact` вместо этого. Возобновите предыдущий разговор с помощью `/resume`, или, в том же процессе Claude Code, восстановите его из [записи предыдущей сессии меню перемотки](/docs/ru/checkpointing#rewind-past-a-cleared-conversation). Псевдонимы: `/reset`, `/new` |74| `/clear [name]` | Начать новый разговор с пустым контекстом. Передайте имя для обозначения предыдущего разговора в средстве выбора `/resume`. Чтобы освободить контекст, продолжая тот же разговор, используйте `/compact` вместо этого. Возобновите предыдущий разговор с помощью `/resume`, или, в том же процессе Claude Code, восстановите его из [записи предыдущей сессии меню перемотки](/docs/ru/checkpointing#rewind-past-a-cleared-conversation). Псевдонимы: `/reset`, `/new` |

75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/ru/skills#bundled-skills).** Проверить текущий diff или номер PR, ветку или путь, который вы передаёте, на наличие ошибок корректности. В зависимости от вашей модели и уровня усилия, проверка также охватывает возможности очистки. Передайте `--fix` для применения результатов, `--comment` для их публикации на GitHub PR или GitLab merge request, или `ultra` для запуска глубокой [облачной проверки](/docs/ru/ultrareview). Публикация в GitLab merge request требует Claude Code v2.1.257 или позже. С `ultra` на целевом `github.com` PR передайте `--post` для предварительного выбора [публикации готовых результатов на PR](/docs/ru/ultrareview#post-findings-to-the-pull-request) в диалоге запуска; `--post` требует Claude Code v2.1.227 или позже. См. [Проверить diff локально](/docs/ru/code-review#review-a-diff-locally) для уровней усилия, нацеливания и того, как это связано с `/simplify`. Псевдоним: `/review` |75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/ru/skills#bundled-skills).** Проверить текущий diff или номер PR, ветку или путь, который вы передаёте, на наличие ошибок корректности. В зависимости от вашей модели и уровня усилия, проверка также охватывает возможности очистки. Передайте `--fix` для применения результатов, `--comment` для их публикации на GitHub PR или GitLab merge request, или `ultra` для запуска глубокой [облачной проверки](/docs/ru/ultrareview). Публикация в GitLab merge request требует Claude Code v2.1.257 или позже. С `ultra` на целевом `github.com` PR передайте `--post` для предварительного выбора [публикации готовых результатов на PR](/docs/ru/ultrareview#post-findings-to-the-pull-request) в диалоге запуска; `--post` требует Claude Code v2.1.227 или позже. См. [Проверить diff локально](/docs/ru/code-review#review-a-diff-locally) для уровней усилия, нацеливания и того, как это связано с `/simplify`. Псевдоним: `/review` |

76| `/color [color\|default]` | Установить цвет строки подсказки для текущей сессии. Доступные цвета: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Используйте `default` для сброса или запустите без аргумента для выбора случайного цвета. Когда [Remote Control](/docs/ru/remote-control) подключён, цвет синхронизируется с claude.ai/code. Также доступно в неинтерактивном режиме (`-p`); требует Claude Code v2.1.205 или позже |76| `/color [color\|default]` | Установить цвет строки промпта для текущей сессии. Доступные цвета: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Используйте `default` для сброса или запустите без аргумента для выбора случайного цвета. Когда [Remote Control](/docs/ru/remote-control) подключён, цвет синхронизируется с claude.ai/code. Также доступно в неинтерактивном режиме (`-p`); требует Claude Code v2.1.205 или позже |

77| `/compact [instructions]` | Освободить контекст путём суммирования разговора до сих пор. Опционально передайте инструкции фокуса для суммирования. См. [как сжатие обрабатывает правила, skills и файлы памяти](/docs/ru/context-window#what-survives-compaction) |77| `/compact [instructions]` | Освободить контекст путём суммирования разговора до сих пор. Опционально передайте инструкции фокуса для суммирования. См. [как сжатие обрабатывает правила, skills и файлы памяти](/docs/ru/context-window#what-survives-compaction) |

78| `/config [key=value ...]` | Открыть интерфейс [Параметры](/docs/ru/settings) для настройки темы, модели, [стиля вывода](/docs/ru/output-styles) и других предпочтений. Передайте одну или несколько пар `key=value` для установки параметра напрямую без открытия интерфейса, например `/config thinking=false`, `/config theme=dark` или `/config model=sonnet`. Форма `key=value` также работает в неинтерактивном режиме (`-p`) и из мобильного приложения Claude через [Remote Control](/docs/ru/remote-control). Форма `key=value` не может включить параметр, который требует вашего подтверждения на панели, такой как [`autoContinueAtUsageLimit`](/docs/ru/interactive-mode#turn-automatic-continue-off), хотя может его отключить. Запустите `/config --help` для списка принимаемых ключей. Псевдоним: `/settings` |78| `/config [key=value ...]` | Открыть интерфейс [Параметры](/docs/ru/settings) для настройки темы, модели, [стиля вывода](/docs/ru/output-styles) и других предпочтений. Передайте одну или несколько пар `key=value` для установки параметра напрямую без открытия интерфейса, например `/config thinking=false`, `/config theme=dark` или `/config model=sonnet`. Форма `key=value` также работает в неинтерактивном режиме (`-p`) и из мобильного приложения Claude через [Remote Control](/docs/ru/remote-control). Форма `key=value` не может включить параметр, который требует вашего подтверждения на панели, такой как [`autoContinueAtUsageLimit`](/docs/ru/interactive-mode#turn-automatic-continue-off), хотя может его отключить. Запустите `/config --help` для списка принимаемых ключей. Псевдоним: `/settings` |

79| `/context [all]` | Визуализировать текущее использование контекста как цветную сетку. Показывает предложения оптимизации для контекстно-тяжёлых инструментов, раздутия памяти и предупреждения о ёмкости. Когда разговор превышает контекстное окно, вывод включает [предупреждение](/docs/ru/errors#context-exceeds-the-token-limit), показывающее, насколько вы превышаете лимит и какая команда освобождает место. В [полноэкранном режиме](/docs/ru/fullscreen) `/context` сворачивает разбор по элементам, чтобы сетка оставалась видимой. Передайте `all` для развёртывания |79| `/context [all]` | Визуализировать текущее использование контекста как цветную сетку. Показывает предложения оптимизации для контекстно-тяжёлых инструментов, раздутия памяти и предупреждения о ёмкости. Когда разговор превышает контекстное окно, вывод включает [предупреждение](/docs/ru/errors#context-exceeds-the-token-limit), показывающее, насколько вы превышаете лимит и какая команда освобождает место. В [полноэкранном режиме](/docs/ru/fullscreen) `/context` сворачивает разбор по элементам, чтобы сетка оставалась видимой. Передайте `all` для развёртывания |


87| `/design-sync [hint]` | **[Skill](/docs/ru/skills#bundled-skills).** Преобразовать систему дизайна React вашего репо и загрузить её в [Claude Design](https://claude.ai/design), чтобы дизайны, которые она производит, использовали ваши реальные компоненты. Опционально назовите систему дизайна, например `/design-sync Acme DS`. Первоначальная синхронизация проверяет каждый компонент и может занять несколько часов на большом репо. Доступно на Anthropic API. Ей нужен claude.ai, который CLI не контактирует на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или Claude Platform на AWS, или через [Claude apps gateway](/docs/ru/claude-apps-gateway#availability-and-limitations), поэтому команда недоступна там |87| `/design-sync [hint]` | **[Skill](/docs/ru/skills#bundled-skills).** Преобразовать систему дизайна React вашего репо и загрузить её в [Claude Design](https://claude.ai/design), чтобы дизайны, которые она производит, использовали ваши реальные компоненты. Опционально назовите систему дизайна, например `/design-sync Acme DS`. Первоначальная синхронизация проверяет каждый компонент и может занять несколько часов на большом репо. Доступно на Anthropic API. Ей нужен claude.ai, который CLI не контактирует на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или Claude Platform на AWS, или через [Claude apps gateway](/docs/ru/claude-apps-gateway#availability-and-limitations), поэтому команда недоступна там |

88| `/desktop` | Продолжить текущую сессию в приложении Claude Code Desktop. Требует macOS или x64 Windows и подписку Claude. Псевдоним: `/app` |88| `/desktop` | Продолжить текущую сессию в приложении Claude Code Desktop. Требует macOS или x64 Windows и подписку Claude. Псевдоним: `/app` |

89| `/diff` | Просмотреть изменения в вашем рабочем дереве, включая правки, которые Claude сделал до сих пор. См. [Просмотреть изменения с /diff](/docs/ru/interactive-mode#review-changes-with-%2Fdiff) |89| `/diff` | Просмотреть изменения в вашем рабочем дереве, включая правки, которые Claude сделал до сих пор. См. [Просмотреть изменения с /diff](/docs/ru/interactive-mode#review-changes-with-%2Fdiff) |

90| `/doctor [prompt-audit [path]]` | **[Skill](/docs/ru/skills#bundled-skills).** Запустить проверку настройки, которая диагностирует проблемы и может их исправить. Проверяет здоровье установки, включая дублирующиеся или оставшиеся установки, проблемы `PATH` и непарсируемые файлы настроек. Находит неиспользуемые skills, MCP серверы и плагины в сравнении с их стоимостью контекста, отмечает медленные [hooks](/docs/ru/hooks) и проверяет наличие более новой версии на вашем [канале выпуска](/docs/ru/setup#configure-release-channel). Дедублирует локальные файлы `CLAUDE.md` против проверенных. Обрезает проверенные файлы [`CLAUDE.md`](/docs/ru/memory#my-claude-md-is-too-large) путём вырезания контента, который Claude мог бы вывести из кодовой базы, и переносит оставшееся всегда загружаемое руководство в [skills](/docs/ru/skills) и вложенные файлы `CLAUDE.md`, которые загружаются по требованию. Также предлагает сделать [auto mode](/docs/ru/permissions#permission-modes) вашим по умолчанию и [предварительно одобрить](/docs/ru/permissions) часто отклоняемые команды только для чтения. Сначала сообщает результаты и просит подтверждение перед изменением чего-либо. Из терминала `claude doctor` выводит диагностику установки только для чтения без запуска сессии. Псевдоним: `/checkup`. Запустите `/doctor prompt-audit` чтобы Claude [проверил ваши файлы `CLAUDE.md`, skills и другую конфигурацию](/docs/ru/memory#audit-your-instruction-files) на устаревшие или конфликтующие инструкции вместо запуска проверки. Подкоманда `prompt-audit` требует Claude Code v2.1.283 или позже. Проверка обрезки `CLAUDE.md` требует Claude Code v2.1.206 или позже. До версии 2.1.205 `/doctor` открывал экран диагностики только для чтения и нажатие `f` отправляло отчёт Claude |90| `/doctor [prompt-audit [path]]` | **[Skill](/docs/ru/skills#bundled-skills).** Запустить проверку настройки, которая диагностирует проблемы и может их исправить. Проверяет здоровье установки, включая дублирующиеся или оставшиеся установки, проблемы `PATH` и непарсируемые файлы настроек. Находит неиспользуемые skills, MCP-серверы и плагины в сравнении с их стоимостью контекста, отмечает медленные [hooks](/docs/ru/hooks) и проверяет наличие более новой версии на вашем [канале выпуска](/docs/ru/setup#configure-release-channel). Дедублирует локальные файлы `CLAUDE.md` против проверенных. Обрезает проверенные файлы [`CLAUDE.md`](/docs/ru/memory#my-claude-md-is-too-large) путём вырезания контента, который Claude мог бы вывести из кодовой базы, и переносит оставшееся всегда загружаемое руководство в [skills](/docs/ru/skills) и вложенные файлы `CLAUDE.md`, которые загружаются по требованию. Также предлагает сделать [auto mode](/docs/ru/permissions#permission-modes) вашим по умолчанию и [предварительно одобрить](/docs/ru/permissions) часто отклоняемые команды только для чтения. Сначала сообщает результаты и просит подтверждение перед изменением чего-либо. Из терминала `claude doctor` выводит диагностику установки только для чтения без запуска сессии. Псевдоним: `/checkup`. Запустите `/doctor prompt-audit` чтобы Claude [проверил ваши файлы `CLAUDE.md`, skills и другую конфигурацию](/docs/ru/memory#audit-your-instruction-files) на устаревшие или конфликтующие инструкции вместо запуска проверки. Подкоманда `prompt-audit` требует Claude Code v2.1.283 или позже. Проверка обрезки `CLAUDE.md` требует Claude Code v2.1.206 или позже. До версии 2.1.205 `/doctor` открывал экран диагностики только для чтения и нажатие `f` отправляло отчёт Claude |

91| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Установить [уровень усилия](/docs/ru/model-config#adjust-effort-level): `low` до `xhigh`, `max`, или `auto`; `status` выводит его. `ultracode` или `ultracode on` включает [ultracode](/docs/ru/workflows#let-claude-decide-with-ultracode) для сессии на текущем уровне, и `ultracode off` выключает его; ключ [`ultracode`](/docs/ru/settings-reference#ultracode) сохраняется. `max` только для сессии. Аргументы `on` и `off` и сохранение текущего уровня требуют Claude Code v2.1.284 или позже. До версии 2.1.284 `/effort ultracode` устанавливал сессию на `xhigh`, и `/effort ultracode off` не удавался с `Invalid argument`. Запустите его во время ответа Claude и, после подтверждения [предупреждения о кэше](/docs/ru/prompt-caching#changing-effort-level), если Claude Code показывает его, Claude Code применяет новый уровень к следующему запросу в этом ходу. До версии 2.1.242 Claude Code решал из флага функции, который он получал от Anthropic, запускать ли команду в середине хода или ставить её в очередь до завершения хода, и всегда ставил её в очередь в сессии, которая не [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), такой как на [поставщике третьей стороны](/docs/ru/third-party-integrations). Работает в `-p` |91| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Установить [уровень усилия](/docs/ru/model-config#adjust-effort-level): `low` до `xhigh`, `max`, или `auto`; `status` выводит его. `ultracode` или `ultracode on` включает [ultracode](/docs/ru/workflows#let-claude-decide-with-ultracode) для сессии на текущем уровне, и `ultracode off` выключает его; ключ [`ultracode`](/docs/ru/settings-reference#ultracode) сохраняется. `max` только для сессии. Аргументы `on` и `off` и сохранение текущего уровня требуют Claude Code v2.1.284 или позже. До версии 2.1.284 `/effort ultracode` устанавливал сессию на `xhigh`, и `/effort ultracode off` не удавался с `Invalid argument`. Запустите его во время ответа Claude и, после подтверждения [предупреждения о кэше](/docs/ru/prompt-caching#changing-effort-level), если Claude Code показывает его, Claude Code применяет новый уровень к следующему запросу в этом ходу. До версии 2.1.242 Claude Code решал из флага функции, который он получал от Anthropic, запускать ли команду в середине хода или ставить её в очередь до завершения хода, и всегда ставил её в очередь в сессии, которая не [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), такой как на [поставщике третьей стороны](/docs/ru/third-party-integrations). Работает в `-p` |

92| `/exit` | Выйти из CLI. В прикреплённой [фоновой сессии](/docs/ru/agent-view#attach-to-a-session) это отсоединяет и сессия продолжает работать. Псевдоним: `/quit` |92| `/exit` | Выйти из CLI. В прикреплённой [фоновой сессии](/docs/ru/agent-view#attach-to-a-session) это отсоединяет и сессия продолжает работать. Псевдоним: `/quit` |

93| `/export [filename]` | Экспортировать текущий разговор как простой текст. С именем файла записывает напрямую в этот файл. Без него открывает диалог для копирования в буфер обмена или сохранения в файл |93| `/export [filename]` | Экспортировать текущий разговор как простой текст. С именем файла записывает напрямую в этот файл. Без него открывает диалог для копирования в буфер обмена или сохранения в файл |

94| `/fast [on\|off]` | Переключить [быстрый режим](/docs/ru/fast-mode) включен или выключен. Запустите его во время ответа Claude и Claude Code переключает быстрый режим без ожидания завершения хода, хотя текущий ход завершается с его исходной скоростью. До версии 2.1.242 Claude Code решал из флага функции, который он получал от Anthropic, запускать ли команду в середине хода или ставить её в очередь до завершения хода, и всегда ставил её в очередь в сессии, которая не [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Доступность в неинтерактивном режиме с `-p` ограничена; см. [Переключить быстрый режим](/docs/ru/fast-mode#toggle-fast-mode). Требует Claude Code v2.1.205 или позже |94| `/fast [on\|off]` | Переключить [быстрый режим](/docs/ru/fast-mode) включен или выключен. Запустите его во время ответа Claude и Claude Code переключает быстрый режим без ожидания завершения хода, хотя текущий ход завершается с его исходной скоростью. До версии 2.1.242 Claude Code решал из флага функции, который он получал от Anthropic, запускать ли команду в середине хода или ставить её в очередь до завершения хода, и всегда ставил её в очередь в сессии, которая не [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Доступность в неинтерактивном режиме с `-p` ограничена; см. [Переключить быстрый режим](/docs/ru/fast-mode#toggle-fast-mode). Требует Claude Code v2.1.205 или позже |

95| `/feedback [report]` | Отправить отзыв о продукте о Claude Code. Открывает тот же диалог, что и [`/bug`](#all-commands), с тем же шагом согласия, правилами отправки и поведением в середине хода. В сессиях с [отзывом, составленным Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), `/feedback` без аргумента открывает очередь черновиков вместо этого, где вы просматриваете, редактируете, отправляете или отклоняете черновики, которые Claude поставил в очередь; очередь включает опцию для написания нового отчёта в диалоге. С аргументом, и для `/bug` всегда диалог открывается напрямую |95| `/feedback [report]` | Отправить отзыв о продукте о Claude Code. Открывает тот же диалог, что и [`/bug`](#all-commands), с тем же шагом согласия, правилами отправки и поведением в середине хода. В сессиях с [отзывом, составленным Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), `/feedback` без аргумента открывает очередь черновиков вместо этого, где вы просматриваете, редактируете, отправляете или отклоняете черновики, которые Claude поставил в очередь; очередь включает опцию для написания нового отчёта в диалоге. С аргументом, и для `/bug` всегда диалог открывается напрямую |

96| `/fewer-permission-prompts` | **[Skill](/docs/ru/skills#bundled-skills).** Сканировать ваши стенограммы на предмет распространённых вызовов инструментов Bash и MCP только для чтения, затем добавить приоритизированный список разрешений в проект `.claude/settings.json` для уменьшения подсказок разрешений |96| `/fewer-permission-prompts` | **[Skill](/docs/ru/skills#bundled-skills).** Сканировать ваши транскрипты на предмет распространённых вызовов инструментов Bash и MCP только для чтения, затем добавить приоритизированный список разрешённых инструментов в проект `.claude/settings.json` для уменьшения запросов разрешений |

97| `/focus` | Переключить представление фокуса, которое показывает только вашу последнюю подсказку, однострочное резюме вызова инструмента с diffstats редактирования и финальный ответ. Резюме вызова инструмента также подсчитывает подагентов, запущенных в ходу, и сворачивает завершённые уведомления фоновых задач в один счёт. Выбор сохраняется между сессиями; установите [`viewMode`](/docs/ru/settings-reference#viewmode) в настройках для переопределения. Доступно только в [полноэкранном рендеринге](/docs/ru/fullscreen). Из [Remote Control](/docs/ru/remote-control) клиента запустите `/focus [on\|off]` для включения или отключения представления фокуса для текущей сессии только, без изменения вашего сохранённого выбора; это требует Claude Code v2.1.281 или позже. [Расширение VS Code](/docs/ru/vs-code#use-the-prompt-box) предлагает свой собственный вид Focus как переключатель меню команд, сохранённый как параметр расширения, независимый от `viewMode` |97| `/focus` | Переключить представление фокуса, которое показывает только ваш последний промпт, однострочное резюме вызова инструмента с diffstats редактирования и финальный ответ. Резюме вызова инструмента также подсчитывает субагентов, запущенных в ходу, и сворачивает завершённые уведомления фоновых задач в один счёт. Выбор сохраняется между сессиями; установите [`viewMode`](/docs/ru/settings-reference#viewmode) в настройках для переопределения. Доступно только в [полноэкранном рендеринге](/docs/ru/fullscreen). Из [Remote Control](/docs/ru/remote-control) клиента запустите `/focus [on\|off]` для включения или отключения представления фокуса для текущей сессии только, без изменения вашего сохранённого выбора; это требует Claude Code v2.1.281 или позже. [Расширение VS Code](/docs/ru/vs-code#use-the-prompt-box) предлагает свой собственный вид Focus как переключатель меню команд, сохранённый как параметр расширения, независимый от `viewMode` |

98| `/fork [prompt]` | [Скопировать текущий разговор](/docs/ru/agent-view#copy-the-session-with-%2Ffork) в новую фоновую сессию и продолжить работу здесь. Передайте подсказку и копия начнёт работать над ней сразу же; без неё она ждёт в представлении агента для своей первой подсказки. Кроме случаев, когда копия [редактирует на месте](/docs/ru/agent-view#how-file-edits-are-isolated), Claude Code инструктирует её создать свой собственный worktree перед внесением изменений кода; инструкция изоляции требует Claude Code v2.1.221 или позже. Чтобы передать побочную задачу подагенту, результат которого возвращается в этот разговор, используйте `/subtask`; чтобы переключиться в копию самостоятельно, используйте `/branch`. Требует Claude Code v2.1.212 или позже; на v2.1.161 через v2.1.211 и когда [представление агента отключено](/docs/ru/agent-view#turn-off-agent-view), `/fork` запускает [разветвлённый подагент](/docs/ru/sub-agents#fork-the-current-conversation) вместо этого |98| `/fork [prompt]` | [Скопировать текущий разговор](/docs/ru/agent-view#copy-the-session-with-%2Ffork) в новую фоновую сессию и продолжить работу здесь. Передайте промпт и копия начнёт работать над ним сразу же; без него она ждёт в представлении агента своего первого промпта. Кроме случаев, когда копия [редактирует на месте](/docs/ru/agent-view#how-file-edits-are-isolated), Claude Code инструктирует её создать свой собственный worktree перед внесением изменений кода; инструкция изоляции требует Claude Code v2.1.221 или позже. Чтобы передать побочную задачу субагенту, результат которого возвращается в этот разговор, используйте `/subtask`; чтобы переключиться в копию самостоятельно, используйте `/branch`. Требует Claude Code v2.1.212 или позже; на v2.1.161 через v2.1.211 и когда [представление агента отключено](/docs/ru/agent-view#turn-off-agent-view), `/fork` запускает [разветвлённый субагент](/docs/ru/sub-agents#fork-the-current-conversation) вместо этого |

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

106| `/insights` | Создать HTML отчёт, анализирующий ваши недавние сессии на этой машине: в каких проектах вы работаете, как вы используете Claude Code, где что-то идёт не так и функции для попытки. Недоступно в [облачных сессиях](/docs/ru/claude-code-on-the-web). См. [Анализировать ваши паттерны использования](/docs/ru/costs#analyze-your-usage-patterns) для местоположения отчёта, хранения и стоимости |106| `/insights` | Создать HTML отчёт, анализирующий ваши недавние сессии на этой машине: в каких проектах вы работаете, как вы используете Claude Code, где что-то идёт не так и функции для попытки. Недоступно в [облачных сессиях](/docs/ru/claude-code-on-the-web). См. [Анализировать ваши паттерны использования](/docs/ru/costs#analyze-your-usage-patterns) для местоположения отчёта, хранения и стоимости |

107| `/install-github-app` | Установить Claude GitHub App для репозитория с необязательным шагом для настройки [GitHub Actions](/docs/ru/github-actions) рабочих процессов и секретов. Проходит вас через выбор репо и настройку интеграции. Работает только с репозиториями github.com. Когда удалённый git вашего репозитория находится на gitlab.com или bitbucket.org, команда выводит уведомление и выходит вместо запуска настройки. Чтобы запустить Claude Code из конвейеров GitLab, см. [GitLab CI/CD](/docs/ru/gitlab-ci-cd) |107| `/install-github-app` | Установить Claude GitHub App для репозитория с необязательным шагом для настройки [GitHub Actions](/docs/ru/github-actions) рабочих процессов и секретов. Проходит вас через выбор репо и настройку интеграции. Работает только с репозиториями github.com. Когда удалённый git вашего репозитория находится на gitlab.com или bitbucket.org, команда выводит уведомление и выходит вместо запуска настройки. Чтобы запустить Claude Code из конвейеров GitLab, см. [GitLab CI/CD](/docs/ru/gitlab-ci-cd) |

108| `/install-slack-app` | Установить Claude Slack app. Открывает браузер для завершения потока OAuth |108| `/install-slack-app` | Установить Claude Slack app. Открывает браузер для завершения потока OAuth |

109| `/keybindings` | Открыть ваш файл [сочетаний клавиш](/docs/ru/keybindings) |109| `/keybindings` | Открыть ваш файл [сочетаний клавиш](/docs/ru/keybindings) |

110| `/list-agents` | Список подагентов, товарищей [команды агентов](/docs/ru/agent-teams) и других сессий Claude Code, которым Claude может отправлять сообщения, с именем для использования для каждого. См. [кросс-сессионный обмен сообщениями](/docs/ru/cross-session-messaging). Также доступно как `/peers`. Требует Claude Code v2.1.224 или позже; более ранние версии сообщают `Unknown command: /list-agents`. Строки товарищей и первая строка, показывающая имя этой сессии, требуют v2.1.239 или позже. Доступно только в сессиях где [кросс-сессионный обмен сообщениями включён](/docs/ru/cross-session-messaging#availability) |110| `/list-agents` | Список субагентов, участников [команды агентов](/docs/ru/agent-teams) и других сессий Claude Code, которым Claude может отправлять сообщения, с именем для использования для каждого. См. [кросс-сессионный обмен сообщениями](/docs/ru/cross-session-messaging). Также доступно как `/peers`. Требует Claude Code v2.1.224 или позже; более ранние версии сообщают `Unknown command: /list-agents`. Строки участников команды и первая строка, показывающая имя этой сессии, требуют v2.1.239 или позже. Доступно только в сессиях где [кросс-сессионный обмен сообщениями включён](/docs/ru/cross-session-messaging#availability) |

111| `/login` | Войти в вашу учётную запись Anthropic |111| `/login` | Войти в вашу учётную запись Anthropic |

112| `/logout` | Выйти из вашей учётной записи Anthropic |112| `/logout` | Выйти из вашей учётной записи Anthropic |

113| `/loop [interval] [prompt]` | **[Skill](/docs/ru/skills#bundled-skills).** Запустить подсказку повторно, пока сессия остаётся открытой. Опустите интервал и Claude [самостоятельно устанавливает темп между итерациями](/docs/ru/scheduled-tasks#let-claude-choose-the-interval). Опустите подсказку и Claude запускает [встроенную подсказку обслуживания](/docs/ru/scheduled-tasks#run-the-built-in-maintenance-prompt) или вашу [`loop.md`](/docs/ru/scheduled-tasks#customize-the-default-prompt-with-loop-md). Пример: `/loop 5m check if the deploy finished`. См. [Запустить подсказки по расписанию](/docs/ru/scheduled-tasks). Псевдоним: `/proactive` |113| `/loop [interval] [prompt]` | **[Skill](/docs/ru/skills#bundled-skills).** Запускать промпт повторно, пока сессия остаётся открытой. Опустите интервал и Claude [самостоятельно устанавливает темп между итерациями](/docs/ru/scheduled-tasks#let-claude-choose-the-interval). Опустите промпт и Claude запускает [встроенный промпт обслуживания](/docs/ru/scheduled-tasks#run-the-built-in-maintenance-prompt) или ваш [`loop.md`](/docs/ru/scheduled-tasks#customize-the-default-prompt-with-loop-md). Пример: `/loop 5m check if the deploy finished`. См. [Запускать промпты по расписанию](/docs/ru/scheduled-tasks). Псевдоним: `/proactive` |

114| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | Управлять подключениями MCP серверов и аутентификацией OAuth. Запустите без аргумента для открытия интерактивного списка, передайте `reconnect <server>` для переподключения одного отключённого сервера или передайте `enable`/`disable` с именем сервера или `all` для изменения состояния подключения без открытия диалога. Также доступно в неинтерактивном режиме (`-p`), где запуск без аргумента выводит текстовое резюме статуса сервера вместо открытия списка; требует Claude Code v2.1.205 или позже |114| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | Управлять подключениями MCP-серверов и аутентификацией OAuth. Запустите без аргумента для открытия интерактивного списка, передайте `reconnect <server>` для переподключения одного отключённого сервера или передайте `enable`/`disable` с именем сервера или `all` для изменения состояния подключения без открытия диалога. Также доступно в неинтерактивном режиме (`-p`), где запуск без аргумента выводит текстовое резюме статуса сервера вместо открытия списка; требует Claude Code v2.1.205 или позже |

115| `/memory` | Редактировать файлы `CLAUDE.md`, включить или отключить [автоматическую память](/docs/ru/memory#auto-memory) и просмотреть записи автоматической памяти |115| `/memory` | Редактировать файлы `CLAUDE.md`, включить или отключить [автоматическую память](/docs/ru/memory#auto-memory) и просмотреть записи автоматической памяти |

116| `/mobile` | Показать QR код для загрузки мобильного приложения Claude. Псевдонимы: `/ios`, `/android` |116| `/mobile` | Показать QR код для загрузки мобильного приложения Claude. Псевдонимы: `/ios`, `/android` |

117| `/model [model]` | Переключить модель AI и сохранить её как вашу по умолчанию для новых сессий. Для моделей, которые это поддерживают, используйте стрелки влево/вправо для [регулировки уровня усилия](/docs/ru/model-config#adjust-effort-level). Без аргумента открывает средство выбора; нажмите `s` на строке для переключения только для текущей сессии. См. [когда Claude Code просит вас подтвердить переключение](/docs/ru/prompt-caching#switching-models). После подтверждения переключения, если Claude Code спрашивает, Claude Code применяет изменение без ожидания завершения текущего ответа. До версии 2.1.242 Claude Code решал из флага функции, который он получал от Anthropic, запускать ли команду в середине хода или ставить её в очередь до завершения хода, и всегда ставил её в очередь в сессии, которая не [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), такой как на [поставщике третьей стороны](/docs/ru/third-party-integrations). Также доступно в неинтерактивном режиме (`-p`) с аргументом модели вместо средства выбора, где он применяется только к текущей сессии и не сохраняется как ваша по умолчанию; требует Claude Code v2.1.205 или позже |117| `/model [model]` | Переключить модель AI и сохранить её как вашу по умолчанию для новых сессий. Для моделей, которые это поддерживают, используйте стрелки влево/вправо для [регулировки уровня усилия](/docs/ru/model-config#adjust-effort-level). Без аргумента открывает средство выбора; нажмите `s` на строке для переключения только для текущей сессии. См. [когда Claude Code просит вас подтвердить переключение](/docs/ru/prompt-caching#switching-models). После подтверждения переключения, если Claude Code спрашивает, Claude Code применяет изменение без ожидания завершения текущего ответа. До версии 2.1.242 Claude Code решал из флага функции, который он получал от Anthropic, запускать ли команду в середине хода или ставить её в очередь до завершения хода, и всегда ставил её в очередь в сессии, которая не [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), такой как на [поставщике третьей стороны](/docs/ru/third-party-integrations). Также доступно в неинтерактивном режиме (`-p`) с аргументом модели вместо средства выбора, где он применяется только к текущей сессии и не сохраняется как ваша по умолчанию; требует Claude Code v2.1.205 или позже |

118| `/output-style [style]` | Список [стилей вывода](/docs/ru/output-styles) или переключиться на один, например `/output-style concise`. См. [Изменить ваш стиль вывода](/docs/ru/output-styles#change-your-output-style). Требует Claude Code v2.1.269 или позже |118| `/output-style [style]` | Список [стилей вывода](/docs/ru/output-styles) или переключиться на один, например `/output-style concise`. См. [Изменить ваш стиль вывода](/docs/ru/output-styles#change-your-output-style). Требует Claude Code v2.1.269 или позже |

119| `/passes` | Поделиться бесплатной неделей Claude Code с друзьями. Видно только если ваша учётная запись имеет право |119| `/passes` | Поделиться бесплатной неделей Claude Code с друзьями. Видно только если ваша учётная запись имеет право |

120| `/permissions` | Управлять правилами разрешения, запроса и отказа для разрешений инструментов. Открывает интерактивный диалог где вы можете просмотреть правила по области, добавить или удалить правила, управлять рабочими каталогами и просмотреть [недавние отказы auto mode](/docs/ru/auto-mode-config#review-denials). Вы также можете просмотреть и отредактировать [правила классификатора auto mode](/docs/ru/auto-mode-config#edit-rules-from-permissions) из вкладки **Auto mode** диалога. Когда вы запускаете его во время ответа Claude, Claude Code открывает диалог сразу же и применяет ваши изменения начиная со следующего вызова инструмента Claude в этом же ходу. До версии 2.1.234 Claude Code ставил команду в очередь до завершения хода. Псевдоним: `/allowed-tools` |120| `/permissions` | Управлять правилами разрешения, запроса и отказа для разрешений инструментов. Открывает интерактивный диалог где вы можете просмотреть правила по области действия, добавить или удалить правила, управлять рабочими каталогами и просмотреть [недавние отказы auto mode](/docs/ru/auto-mode-config#review-denials). Вы также можете просмотреть и отредактировать [правила классификатора auto mode](/docs/ru/auto-mode-config#edit-rules-from-permissions) из вкладки **Auto mode** диалога. Когда вы запускаете его во время ответа Claude, Claude Code открывает диалог сразу же и применяет ваши изменения начиная со следующего вызова инструмента Claude в этом же ходу. До версии 2.1.234 Claude Code ставил команду в очередь до завершения хода. Псевдоним: `/allowed-tools` |

121| `/plan [description]` | Войти в режим плана напрямую из подсказки. Передайте необязательное описание для входа в режим плана и немедленного начала с этой задачей, например `/plan fix the auth bug` |121| `/plan [description]` | Войти в режим планирования напрямую из промпта. Передайте необязательное описание для входа в режим планирования и немедленного начала с этой задачей, например `/plan fix the auth bug` |

122| `/plugin [subcommand]` | Управлять Claude Code [плагинами](/docs/ru/plugins/overview). Запустите без аргумента для открытия меню плагинов или передайте подкоманду, такую как `list`, `install`, `enable` или `disable` для прямого действия. Claude Code может активировать плагин во время установки; [резюме установки](/docs/ru/plugins/install#install-a-plugin) говорит вам, сделал ли он это или нужно ли запустить `/reload-plugins` |122| `/plugin [subcommand]` | Управлять Claude Code [плагинами](/docs/ru/plugins/overview). Запустите без аргумента для открытия меню плагинов или передайте подкоманду, такую как `list`, `install`, `enable` или `disable` для прямого действия. Claude Code может активировать плагин во время установки; [резюме установки](/docs/ru/plugins/install#install-a-plugin) говорит вам, сделал ли он это или нужно ли запустить `/reload-plugins` |

123| `/powerup` | Откройте функции Claude Code через быстрые интерактивные уроки с анимированными демонстрациями |123| `/powerup` | Откройте функции Claude Code через быстрые интерактивные уроки с анимированными демонстрациями |

124| `/pr-comments [PR]` | Удалено в v2.1.91. Попросите Claude напрямую просмотреть комментарии pull request вместо этого. На более ранних версиях получает и отображает комментарии из GitHub pull request; автоматически обнаруживает PR для текущей ветки или передайте URL или номер PR. Требует CLI `gh` |124| `/pr-comments [PR]` | Удалено в v2.1.91. Попросите Claude напрямую просмотреть комментарии pull request вместо этого. На более ранних версиях получает и отображает комментарии из GitHub pull request; автоматически обнаруживает PR для текущей ветки или передайте URL или номер PR. Требует CLI `gh` |


126| `/radio` | Открыть Claude FM lo-fi радио в вашем браузере. Выводит URL потока, когда браузер недоступен |126| `/radio` | Открыть Claude FM lo-fi радио в вашем браузере. Выводит URL потока, когда браузер недоступен |

127| `/rate-limit-options` | Показать способы продолжить работу, когда лимит использования claude.ai блокирует запрос: ждать и [продолжить автоматически, когда лимит сбросится](/docs/ru/interactive-mode#wait-for-a-usage-limit-to-reset), добавить [кредиты использования](/docs/ru/costs#add-usage-credits-to-your-subscription) или обновить ваш план. Claude Code также может открыть это меню самостоятельно, когда вы достигнете лимита на вашем собственном терминале. См. [Отключить автоматическое продолжение](/docs/ru/interactive-mode#turn-automatic-continue-off). Требует подписку claude.ai. Строки ожидания и продолжения требуют Claude Code v2.1.234 или позже |127| `/rate-limit-options` | Показать способы продолжить работу, когда лимит использования claude.ai блокирует запрос: ждать и [продолжить автоматически, когда лимит сбросится](/docs/ru/interactive-mode#wait-for-a-usage-limit-to-reset), добавить [кредиты использования](/docs/ru/costs#add-usage-credits-to-your-subscription) или обновить ваш план. Claude Code также может открыть это меню самостоятельно, когда вы достигнете лимита на вашем собственном терминале. См. [Отключить автоматическое продолжение](/docs/ru/interactive-mode#turn-automatic-continue-off). Требует подписку claude.ai. Строки ожидания и продолжения требуют Claude Code v2.1.234 или позже |

128| `/recap` | Создать однострочное резюме текущей сессии по требованию. См. [Резюме сессии](/docs/ru/interactive-mode#session-recap) для автоматического резюме, которое появляется после того, как вы были в отсутствии |128| `/recap` | Создать однострочное резюме текущей сессии по требованию. См. [Резюме сессии](/docs/ru/interactive-mode#session-recap) для автоматического резюме, которое появляется после того, как вы были в отсутствии |

129| `/release-notes` | Просмотреть журнал изменений в интерактивном средстве выбора версий. Выберите конкретную версию для просмотра её примечаний к выпуску или выберите показать все версии. Примечания появляются в вашей стенограмме без входа в разговор, который видит Claude |129| `/release-notes` | Просмотреть журнал изменений в интерактивном средстве выбора версий. Выберите конкретную версию для просмотра её примечаний к выпуску или выберите показать все версии. Примечания появляются в вашем транскрипте без входа в разговор, который видит Claude |

130| `/reload-plugins [--force]` | Перезагрузить все активные [плагины](/docs/ru/plugins/overview) для применения ожидающих изменений без перезагрузки. Сообщает счёты для каждого перезагруженного компонента и отмечает любые ошибки загрузки. Когда перезагрузка изменит, какие инструменты MCP загружены и инвалидирует кэш подсказок, команда предупреждает и пропускает, если вы не передадите `--force`. Также доступно в неинтерактивном режиме (`-p`), Agent SDK и приложении рабочего стола, где оно запускается только на входе, введённом напрямую в сессию и не применяет изменения MCP плагинов; требует Claude Code v2.1.260 или позже. См. [Применить изменения плагинов без перезагрузки](/docs/ru/plugins/cli-reference#reload-plugins) |130| `/reload-plugins [--force]` | Перезагрузить все активные [плагины](/docs/ru/plugins/overview) для применения ожидающих изменений без перезапуска. Сообщает счёты для каждого перезагруженного компонента и отмечает любые ошибки загрузки. Когда перезагрузка изменит, какие инструменты MCP загружены и инвалидирует кэш промптов, команда предупреждает и пропускает, если вы не передадите `--force`. Также доступно в неинтерактивном режиме (`-p`), Agent SDK и приложении рабочего стола, где оно запускается только на входе, введённом напрямую в сессию и не применяет изменения MCP-серверов плагинов; требует Claude Code v2.1.260 или позже. См. [Применить изменения плагинов без перезапуска](/docs/ru/plugins/cli-reference#reload-plugins) |

131| `/reload-skills` | Повторно сканировать каталоги [skill](/docs/ru/skills) и команд, чтобы skills добавленные или изменённые на диске во время сессии стали доступны без перезагрузки. Сообщает, сколько skills доступно и сколько было добавлено или удалено |131| `/reload-skills` | Повторно сканировать каталоги [skill](/docs/ru/skills) и команд, чтобы skills добавленные или изменённые на диске во время сессии стали доступны без перезапуска. Сообщает, сколько skills доступно и сколько было добавлено или удалено |

132| `/remote-control` | Сделать эту сессию доступной для [Remote Control](/docs/ru/remote-control) из claude.ai. Запуск при выходе выводит, что Remote Control требует подписку claude.ai и говорит вам как войти; до версии 2.1.206 это сообщало `Unknown command: /remote-control`. Псевдоним: `/rc` |132| `/remote-control` | Сделать эту сессию доступной для [Remote Control](/docs/ru/remote-control) из claude.ai. Запуск при выходе выводит, что Remote Control требует подписку claude.ai и говорит вам как войти; до версии 2.1.206 это сообщало `Unknown command: /remote-control`. Псевдоним: `/rc` |

133| `/remote-env` | Выбрать [облачное окружение](/docs/ru/cloud-environments#select-an-environment-from-the-cli) по умолчанию для облачных сессий, которые вы запускаете из CLI |133| `/remote-env` | Выбрать [облачное окружение](/docs/ru/cloud-environments#select-an-environment-from-the-cli) по умолчанию для облачных сессий, которые вы запускаете из CLI |

134| `/rename [name]` | Переименовать текущую сессию и показать имя на строке подсказки. Без имени автоматически создаёт одно из истории разговора. Также доступно в неинтерактивном режиме (`-p`); требует Claude Code v2.1.205 или позже. Из каждой поверхности переименования, включая claude.ai и приложение рабочего стола, Claude Code заменяет управляющие и невидимые символы в новом имени пробелами и ограничивает имя 200 символами. Если имя пусто после удаления невидимых символов, Claude Code отклоняет его и показывает `That name is empty once invisible characters are removed. Usage: /rename <name>`. Замена символов и ограничение длины требуют Claude Code v2.1.221 или позже. Если другая живая сессия на этой машине уже использует имя, которое вы передаёте, Claude Code применяет [вариант его](/docs/ru/sessions#name-your-sessions) вместо этого |134| `/rename [name]` | Переименовать текущую сессию и показать имя на строке промпта. Без имени автоматически создаёт одно из истории разговора. Также доступно в неинтерактивном режиме (`-p`); требует Claude Code v2.1.205 или позже. Из каждого интерфейса переименования, включая claude.ai и приложение рабочего стола, Claude Code заменяет управляющие и невидимые символы в новом имени пробелами и ограничивает имя 200 символами. Если имя пусто после удаления невидимых символов, Claude Code отклоняет его и показывает `That name is empty once invisible characters are removed. Usage: /rename <name>`. Замена символов и ограничение длины требуют Claude Code v2.1.221 или позже. Если другая живая сессия на этой машине уже использует имя, которое вы передаёте, Claude Code применяет [вариант его](/docs/ru/sessions#name-your-sessions) вместо этого |

135| `/resume [session]` | Возобновить разговор по ID или имени или открыть средство выбора сессии. [Фоновые сессии](/docs/ru/agent-view) появляются в средстве выбора отмеченные с `bg`. Возобновление одной, которая всё ещё работает, из средства выбора или по ID или имени, [открывает эту сессию](/docs/ru/sessions#resume-a-running-background-session): ваш текущий разговор переходит в фон и этот терминал прикрепляется к работающей. Нажмите `←` на пустой подсказке для возврата в представление агента, которое также перечисляет разговор, который вы оставили. До версии 2.1.285 Claude Code отказывал и говорил вам прикрепиться к сессии с `claude attach` или остановить её сначала. Псевдоним: `/continue` |135| `/resume [session]` | Возобновить разговор по ID или имени или открыть средство выбора сессии. [Фоновые сессии](/docs/ru/agent-view) появляются в средстве выбора отмеченные с `bg`. Возобновление одной, которая всё ещё работает, из средства выбора или по ID или имени, [открывает эту сессию](/docs/ru/sessions#resume-a-running-background-session): ваш текущий разговор переходит в фон и этот терминал прикрепляется к работающей. Нажмите `←` на пустом промпте для возврата в представление агента, которое также перечисляет разговор, который вы оставили. До версии 2.1.285 Claude Code отказывал и говорил вам открыть сессию с `claude attach` или остановить её сначала. Псевдоним: `/continue` |

136| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Псевдоним [`/code-review`](/docs/ru/code-review#review-a-diff-locally): проверяет текущий diff или номер PR, ветку или путь, который вы передаёте, такой как `/review 1234`, и принимает те же уровни усилия и флаги. Без уровня, заданного, проверка повторно использует последний уровень `low` через `max`, который вы вводили; см. [Проверить diff локально](/docs/ru/code-review#review-a-diff-locally) для точных правил. Для глубокой облачной проверки используйте [`/code-review ultra`](/docs/ru/ultrareview). До версии 2.1.223 `/review` была отдельной командой, которая запускала однопроходную проверку только для чтения GitHub pull request по номеру, перечисляя открытые PR для выбора при запуске без аргумента; с v2.1.186 по v2.1.201 она запускала тот же многоагентный движок, что и `/code-review medium` |136| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Псевдоним [`/code-review`](/docs/ru/code-review#review-a-diff-locally): проверяет текущий diff или номер PR, ветку или путь, который вы передаёте, такой как `/review 1234`, и принимает те же уровни усилия и флаги. Без заданного уровня проверка повторно использует последний уровень от `low` до `max`, который вы вводили; см. [Проверить diff локально](/docs/ru/code-review#review-a-diff-locally) для точных правил. Для глубокой облачной проверки используйте [`/code-review ultra`](/docs/ru/ultrareview). До версии 2.1.223 `/review` была отдельной командой, которая запускала однопроходную проверку только для чтения GitHub pull request по номеру, перечисляя открытые PR для выбора при запуске без аргумента; с v2.1.186 по v2.1.201 она запускала тот же многоагентный движок, что и `/code-review medium` |

137| `/rewind` | Перемотать разговор и/или код к предыдущей точке или суммировать из выбранного сообщения. См. [checkpointing](/docs/ru/checkpointing). Псевдонимы: `/checkpoint`, `/undo` |137| `/rewind` | Перемотать разговор и/или код к предыдущей точке или суммировать из выбранного сообщения. См. [checkpointing](/docs/ru/checkpointing). Псевдонимы: `/checkpoint`, `/undo` |

138| `/run` | **[Skill](/docs/ru/skills#bundled-skills).** Запустить и управлять приложением вашего проекта, чтобы увидеть работающее изменение, не только проходящие тесты. См. [Запустить и проверить ваше приложение](/docs/ru/skills#run-and-verify-your-app) |138| `/run` | **[Skill](/docs/ru/skills#bundled-skills).** Запустить и управлять приложением вашего проекта, чтобы увидеть работающее изменение, не только проходящие тесты. См. [Запустить и проверить ваше приложение](/docs/ru/skills#run-and-verify-your-app) |

139| `/run-skill-generator` | **[Skill](/docs/ru/skills#bundled-skills).** Научить `/run` и `/verify` как собирать, запускать и управлять приложением вашего проекта из чистого окружения путём написания per-project [skill](/docs/ru/skills#run-and-verify-your-app) |139| `/run-skill-generator` | **[Skill](/docs/ru/skills#bundled-skills).** Научить `/run` и `/verify` как собирать, запускать и управлять приложением вашего проекта из чистого окружения путём написания per-project [skill](/docs/ru/skills#run-and-verify-your-app) |


143| `/security-review` | Анализировать изменения на вашей текущей ветке на предмет уязвимостей безопасности. Проверяет diff между вашей веткой и веткой по умолчанию origin, определяя риски, такие как инъекция, проблемы аутентификации и утечка данных. Нужен удалённый `origin`; если проверка не удаётся с ошибкой `ambiguous argument`, см. [справку по ошибкам](/docs/ru/errors#security-review-fails-without-origin-head) |143| `/security-review` | Анализировать изменения на вашей текущей ветке на предмет уязвимостей безопасности. Проверяет diff между вашей веткой и веткой по умолчанию origin, определяя риски, такие как инъекция, проблемы аутентификации и утечка данных. Нужен удалённый `origin`; если проверка не удаётся с ошибкой `ambiguous argument`, см. [справку по ошибкам](/docs/ru/errors#security-review-fails-without-origin-head) |

144| `/setup-bedrock` | Настроить аутентификацию [Amazon Bedrock](/docs/ru/amazon-bedrock), регион и закрепления модели через интерактивный мастер. [Скрыто из меню команд](#how-the-command-menu-matches-what-you-type) до установки `CLAUDE_CODE_USE_BEDROCK=1`; введите полностью. Пользователи Amazon Bedrock в первый раз также могут получить доступ к этому мастеру с экрана входа |144| `/setup-bedrock` | Настроить аутентификацию [Amazon Bedrock](/docs/ru/amazon-bedrock), регион и закрепления модели через интерактивный мастер. [Скрыто из меню команд](#how-the-command-menu-matches-what-you-type) до установки `CLAUDE_CODE_USE_BEDROCK=1`; введите полностью. Пользователи Amazon Bedrock в первый раз также могут получить доступ к этому мастеру с экрана входа |

145| `/setup-vertex` | Настроить аутентификацию [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), проект, регион и закрепления модели через интерактивный мастер. [Скрыто из меню команд](#how-the-command-menu-matches-what-you-type) до установки `CLAUDE_CODE_USE_VERTEX=1`; введите полностью. Пользователи Google Cloud's Agent Platform в первый раз также могут получить доступ к этому мастеру с экрана входа |145| `/setup-vertex` | Настроить аутентификацию [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), проект, регион и закрепления модели через интерактивный мастер. [Скрыто из меню команд](#how-the-command-menu-matches-what-you-type) до установки `CLAUDE_CODE_USE_VERTEX=1`; введите полностью. Пользователи Google Cloud's Agent Platform в первый раз также могут получить доступ к этому мастеру с экрана входа |

146| `/simplify [target]` | **[Skill](/docs/ru/skills#bundled-skills).** Проверить изменённый код на возможности очистки и применить исправления. Четыре агента проверки [agents](/docs/ru/sub-agents) запускаются параллельно, охватывая повторное использование существующих помощников, упрощение, эффективность и находится ли изменение на правильном уровне абстракции. Проверка не ищет ошибки корректности. Используйте `/code-review` для поиска ошибок. Передайте путь или ссылку PR для проверки конкретной цели |146| `/simplify [target]` | **[Skill](/docs/ru/skills#bundled-skills).** Проверить изменённый код на возможности очистки и применить исправления. Четыре [агента](/docs/ru/sub-agents) проверки запускаются параллельно, охватывая повторное использование существующих помощников, упрощение, эффективность и находится ли изменение на правильном уровне абстракции. Проверка не ищет ошибки корректности. Используйте `/code-review` для поиска ошибок. Передайте путь или ссылку PR для проверки конкретной цели |

147| `/skill-doctor` | Показать, что каждый из ваших [skills](/docs/ru/skills) стоит в контексте и как часто он используется, чтобы вы могли [найти skills для отключения](/docs/ru/skills#find-unused-skills). Требует Claude Code v2.1.252 или позже и [получение флагов функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching) |147| `/skill-doctor` | Показать, что каждый из ваших [skills](/docs/ru/skills) стоит в контексте и как часто он используется, чтобы вы могли [найти skills для отключения](/docs/ru/skills#find-unused-skills). Требует Claude Code v2.1.252 или позже и [получение флагов функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching) |

148| `/skills` | Список доступных [skills](/docs/ru/skills). Введите для фильтрации списка по имени, описанию или источнику. Нажмите `t` для сортировки по количеству токенов, `Space` или `Enter` для [цикла видимости skill для Claude и меню `/`](/docs/ru/skills#override-skill-visibility-from-settings) и `Esc` для сохранения и закрытия. Вы не можете циклировать плагин skills, skills чьи frontmatter устанавливают `disable-model-invocation: true` или skills с записью `skillOverrides` в управляемых настройках или флаге `--settings` |148| `/skills` | Список доступных [skills](/docs/ru/skills). Введите для фильтрации списка по имени, описанию или источнику. Нажмите `t` для сортировки по количеству токенов, `Space` или `Enter` для [цикла видимости skill для Claude и меню `/`](/docs/ru/skills#override-skill-visibility-from-settings) и `Esc` для сохранения и закрытия. Вы не можете циклировать skills плагинов, skills чьи frontmatter устанавливают `disable-model-invocation: true` или skills с записью `skillOverrides` в управляемых настройках или флаге `--settings` |

149| `/slides [brief]` | **[Skill](/docs/ru/skills#bundled-skills).** Создать новую презентацию как Claude Slides [артефакт](/docs/ru/artifacts#make-a-slide-deck) заполненный из вашего краткого описания, например `/slides a quarterly review of the platform team`. Требует Claude Code v2.1.265 или позже, сессию где [артефакты доступны](/docs/ru/artifacts#availability) и учётную запись где [шаблон Slides доступен](/docs/ru/artifacts#start-from-a-slides-design-or-docs-template); иначе команда не отображается. Доступно на Anthropic API. На Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и Claude Platform на AWS артефакты недоступны, поэтому команда недоступна там |149| `/slides [brief]` | **[Skill](/docs/ru/skills#bundled-skills).** Создать новую презентацию как Claude Slides [артефакт](/docs/ru/artifacts#make-a-slide-deck) заполненный из вашего краткого описания, например `/slides a quarterly review of the platform team`. Требует Claude Code v2.1.265 или позже, сессию где [артефакты доступны](/docs/ru/artifacts#availability) и учётную запись где [шаблон Slides доступен](/docs/ru/artifacts#start-from-a-slides-design-or-docs-template); иначе команда не отображается. Доступно на Anthropic API. На Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и Claude Platform на AWS артефакты недоступны, поэтому команда недоступна там |

150| `/stats` | Псевдоним для `/usage`. Открывает на вкладке Stats |150| `/stats` | Псевдоним для `/usage`. Открывает на вкладке Stats |

151| `/status` | Открыть интерфейс Settings на вкладке Status, показывающей версию, модель, учётную запись и подключение. Строка `Session kind` читает `background job · attached` или `background job · unattended` в [фоновой сессии](/docs/ru/agent-view), в зависимости от того, прикреплён ли терминал, и `interactive` в любой другой сессии. До версии 2.1.221 `/status` не показывал эту строку. Работает во время ответа Claude |151| `/status` | Открыть интерфейс Settings на вкладке Status, показывающей версию, модель, учётную запись и подключение. Строка `Session kind` читает `background job · attached` или `background job · unattended` в [фоновой сессии](/docs/ru/agent-view), в зависимости от того, прикреплён ли терминал, и `interactive` в любой другой сессии. До версии 2.1.221 `/status` не показывал эту строку. Работает во время ответа Claude |

152| `/statusline` | Настроить [строку статуса](/docs/ru/statusline) Claude Code. Опишите, что вы хотите, или запустите без аргументов для автоматической настройки из вашей подсказки оболочки |152| `/statusline` | Настроить [строку состояния](/docs/ru/statusline) Claude Code. Опишите, что вы хотите, или запустите без аргументов для автоматической настройки из вашего приглашения командной строки |

153| `/stickers` | Заказать стикеры Claude Code |153| `/stickers` | Заказать стикеры Claude Code |

154| `/stop` | Остановить текущую [фоновую сессию](/docs/ru/agent-view). Доступно только при прикреплении к фоновой сессии; стенограмма и любой worktree сохраняются. Чтобы отсоединиться без остановки, используйте `/exit` или нажмите `←` |154| `/stop` | Остановить [фоновую сессию](/docs/ru/agent-view), к которой вы прикреплены, или ту, которой вы отправляете эту команду как [ответ при просмотре](/docs/ru/agent-view#peek-and-reply); транскрипт и любой worktree сохраняются. Чтобы отсоединиться без остановки, используйте `/exit` или нажмите `←` |

155| `/subtask <task>` | Запустить [разветвлённый подагент](/docs/ru/sub-agents#fork-the-current-conversation): фоновый подагент, который наследует полный разговор и работает над задачей, пока вы продолжаете работать. Его результат возвращается в этот разговор, когда он завершается. Чтобы скопировать разговор в отдельную фоновую сессию вместо этого, используйте `/fork`. Требует Claude Code v2.1.212 или позже; на v2.1.161 через v2.1.211 эта команда — `/fork`. Когда [представление агента отключено](/docs/ru/agent-view#turn-off-agent-view), `/subtask` недоступен и `/fork` сохраняет поведение разветвлённого подагента |155| `/subtask <task>` | Запустить [разветвлённый субагент](/docs/ru/sub-agents#fork-the-current-conversation): фоновый субагент, который наследует полный разговор и работает над задачей, пока вы продолжаете работать. Его результат возвращается в этот разговор, когда он завершается. Чтобы скопировать разговор в отдельную фоновую сессию вместо этого, используйте `/fork`. Требует Claude Code v2.1.212 или позже; на v2.1.161 через v2.1.211 эта команда — `/fork`. Когда [представление агента отключено](/docs/ru/agent-view#turn-off-agent-view), `/subtask` недоступен и `/fork` сохраняет поведение разветвлённого субагента |

156| `/tasks` | Просмотреть и управлять фоновой работой в текущей сессии, включая подагентов, которые завершились. Также доступно как `/bashes` |156| `/tasks` | Просмотреть и управлять фоновой работой в текущей сессии, включая субагентов, которые завершились. Также доступно как `/bashes` |

157| `/team-onboarding` | Создать руководство по адаптации команды из истории использования Claude Code. Claude анализирует ваши сессии, команды и использование MCP серверов за последние 30 дней и производит руководство markdown, которое товарищ может вставить как первое сообщение для быстрой настройки. Для подписчиков claude.ai на планах Pro, Max, Team и Enterprise также возвращает ссылку для совместного использования, которую товарищи могут открыть напрямую в Claude Code |157| `/team-onboarding` | Создать руководство по адаптации команды из истории использования Claude Code. Claude анализирует ваши сессии, команды и использование MCP-серверов за последние 30 дней и производит руководство markdown, которое коллега может вставить как первое сообщение для быстрой настройки. Для подписчиков claude.ai на планах Pro, Max, Team и Enterprise также возвращает ссылку для совместного использования, которую коллеги могут открыть напрямую в Claude Code |

158| `/teleport` | Вытащить [облачную сессию](/docs/ru/claude-code-on-the-web#from-cloud-to-terminal) в этот терминал. Открывает средство выбора, затем получает ветку и разговор. Также доступно как `/tp`. Требует подписку claude.ai |158| `/teleport` | Вытащить [облачную сессию](/docs/ru/claude-code-on-the-web#from-cloud-to-terminal) в этот терминал. Открывает средство выбора, затем получает ветку и разговор. Также доступно как `/tp`. Требует подписку claude.ai |

159| `/terminal-setup` | [Установить сочетание клавиш Shift+Enter для новых строк](/docs/ru/terminal-config#enter-multiline-prompts) в VS Code, Cursor, Devin Desktop, Alacritty или Zed. В Apple Terminal [включить Option+Enter для новых строк и отключить звуковой сигнал](/docs/ru/terminal-config#enable-option-key-shortcuts-on-macos) вместо этого. В iTerm2 [включить доступ к буферу обмена, чтобы `/copy` работал](/docs/ru/terminal-config#enable-option-key-shortcuts-on-macos) |159| `/terminal-setup` | [Установить сочетание клавиш Shift+Enter для новых строк](/docs/ru/terminal-config#enter-multiline-prompts) в VS Code, Cursor, Devin Desktop, Alacritty или Zed. В Apple Terminal [включить Option+Enter для новых строк и отключить звуковой сигнал](/docs/ru/terminal-config#enable-option-key-shortcuts-on-macos) вместо этого. В iTerm2 [включить доступ к буферу обмена, чтобы `/copy` работал](/docs/ru/terminal-config#enable-option-key-shortcuts-on-macos) |

160| `/theme` | Изменить цветовую тему. Включает опцию `auto`, которая соответствует светлому или тёмному фону вашего терминала, светлые и тёмные варианты, доступные для дальтоников (далтонизированные) темы, ANSI темы, которые используют палитру цветов вашего терминала и любые [пользовательские темы](/docs/ru/terminal-config#create-a-custom-theme) из `~/.claude/themes/` или плагинов. Выберите **New custom theme…** для создания одной |160| `/theme` | Изменить цветовую тему. Включает опцию `auto`, которая соответствует светлому или тёмному фону вашего терминала, светлые и тёмные варианты, доступные для дальтоников (далтонизированные) темы, ANSI темы, которые используют палитру цветов вашего терминала и любые [пользовательские темы](/docs/ru/terminal-config#create-a-custom-theme) из `~/.claude/themes/` или плагинов. Выберите **New custom theme…** для создания одной |

161| `/tui [default\|fullscreen]` | Установить рендерер терминального UI и перезагрузить его с вашим разговором нетронутым. `fullscreen` включает [рендерер alt-screen без мерцания](/docs/ru/fullscreen). Без аргумента выводит активный рендерер |161| `/tui [default\|fullscreen]` | Установить рендерер терминального UI и перезапуститься в нём с вашим разговором нетронутым. `fullscreen` включает [рендерер alt-screen без мерцания](/docs/ru/fullscreen). Без аргумента выводит активный рендерер |

162| `/ultraplan <prompt>` | Удалено. Используйте [режим плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) вместо этого. Ранее отправляла задачу планирования [облачной сессии](/docs/ru/claude-code-on-the-web) для проверки в вашем браузере |162| `/ultraplan <prompt>` | Удалено. Используйте [режим планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) вместо этого. Ранее отправляла задачу планирования [облачной сессии](/docs/ru/claude-code-on-the-web) для проверки в вашем браузере |

163| `/ultrareview [PR or branch]` | Запустить глубокую, многоагентную проверку кода в облачной песочнице с [ultrareview](/docs/ru/ultrareview). Передайте ссылку PR для проверки этого pull request или базовую ветку или коммит для изменения базы сравнения. Предпочтительный вызов — `/code-review ultra`, и `/ultrareview` — это псевдоним. Включает 3 бесплатных запуска на Pro и Max, затем требует [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |163| `/ultrareview [PR or branch]` | Запустить глубокое многоагентное код-ревью в облачной песочнице с [ultrareview](/docs/ru/ultrareview). Передайте ссылку PR для проверки этого pull request или базовую ветку или коммит для изменения базы сравнения. Предпочтительный вызов — `/code-review ultra`, и `/ultrareview` — это псевдоним. Включает 3 бесплатных запуска на Pro и Max, затем требует [кредиты использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

164| `/update-config [request]` | **[Skill](/docs/ru/skills#bundled-skills).** Опишите изменение параметров, такое как разрешение команды, установка переменной окружения или добавление [hook](/docs/ru/hooks), и Claude редактирует соответствующий файл [`settings.json`](/docs/ru/settings). Для опций, таких как тема и модель, используйте `/config` вместо этого |164| `/update-config [request]` | **[Skill](/docs/ru/skills#bundled-skills).** Опишите изменение параметров, такое как разрешение команды, установка переменной окружения или добавление [hook](/docs/ru/hooks), и Claude редактирует соответствующий файл [`settings.json`](/docs/ru/settings). Для опций, таких как тема и модель, используйте `/config` вместо этого |

165| `/upgrade` | Открыть страницу обновления в вашем браузере для переключения на более высокий уровень плана. Когда браузер не открывается, команда показывает подсказку входа без вывода URL |165| `/upgrade` | Открыть страницу обновления в вашем браузере для переключения на более высокий уровень плана. Когда браузер не открывается, команда показывает запрос на вход без вывода URL |

166| `/usage` | Показать стоимость сессии, лимиты использования плана и статистику активности. На плане Pro, Max, Team или Enterprise включает [разбор того, что считается против ваших лимитов плана](/docs/ru/costs#plan-usage-breakdown). `/cost` и `/stats` — это псевдонимы |166| `/usage` | Показать стоимость сессии, лимиты использования плана и статистику активности. На плане Pro, Max, Team или Enterprise включает [разбор того, что считается против ваших лимитов плана](/docs/ru/costs#plan-usage-breakdown). `/cost` и `/stats` — это псевдонимы |

167| `/usage-credits` | Настроить кредиты использования или запросить их у вашего администратора, когда вы достигнете лимита. Открывает ваши [параметры биллинга кредитов использования](/docs/ru/costs#add-usage-credits-to-your-subscription) в браузере, кроме того, что члены Team и Enterprise без доступа к биллингу вместо этого отправляют запрос кредитов использования своему администратору из CLI после подтверждения в диалоге, что запрос уведомляет их администраторов. Когда браузер не может открыть страницу биллинга, например через SSH, команда выводит URL для посещения вместо этого; это требует Claude Code v2.1.205 или позже, и более ранние версии ничего не показывали в этом случае. Ранее `/extra-usage` |167| `/usage-credits` | Настроить кредиты использования или запросить их у вашего администратора, когда вы достигнете лимита. Открывает ваши [параметры биллинга кредитов использования](/docs/ru/costs#add-usage-credits-to-your-subscription) в браузере, кроме того, что члены Team и Enterprise без доступа к биллингу вместо этого отправляют запрос кредитов использования своему администратору из CLI после подтверждения в диалоге, что запрос уведомляет их администраторов. Когда браузер не может открыть страницу биллинга, например через SSH, команда выводит URL для посещения вместо этого; это требует Claude Code v2.1.205 или позже, и более ранние версии ничего не показывали в этом случае. Ранее `/extra-usage` |

168| `/verify` | **[Skill](/docs/ru/skills#bundled-skills).** Подтвердить, что изменение кода делает то, что оно должно, путём сборки приложения вашего проекта, его запуска и наблюдения результата, а не полагаясь на тесты или проверки типов. См. [Запустить и проверить ваше приложение](/docs/ru/skills#run-and-verify-your-app) |168| `/verify` | **[Skill](/docs/ru/skills#bundled-skills).** Подтвердить, что изменение кода делает то, что оно должно, путём сборки приложения вашего проекта, его запуска и наблюдения результата, а не полагаясь на тесты или проверки типов. См. [Запустить и проверить ваше приложение](/docs/ru/skills#run-and-verify-your-app) |

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 

Details

103 103 

104Если apt сообщает об ошибке `E: Unsupported file ./claude-desktop_*.deb given on commandline`, шаблон не совпадает с файлом `.deb` в текущем каталоге. Подтвердите, что загрузка завершена, затем выполните команду снова из каталога, содержащего файл.104Если apt сообщает об ошибке `E: Unsupported file ./claude-desktop_*.deb given on commandline`, шаблон не совпадает с файлом `.deb` в текущем каталоге. Подтвердите, что загрузка завершена, затем выполните команду снова из каталога, содержащего файл.

105 105 

106Установка `.deb` также регистрирует репозиторий apt Anthropic в `/etc/apt/sources.list.d/claude-desktop.list`, поэтому будущие обновления поступают с [обычными обновлениями пакетов](#update) вашей системы.106Пакет `.deb` содержит ключ подписи Anthropic и устанавливает его в `/usr/share/keyrings/claude-desktop-archive-keyring.asc`, поэтому вам не нужно загружать ключ самостоятельно. Если вы не отключили регистрацию с помощью `CLAUDE_DESKTOP_ADD_REPO`, пакет также регистрирует репозиторий apt в `/etc/apt/sources.list.d/claude-desktop.list`, поэтому будущие обновления поступают с [обычными обновлениями пакетов](#update) вашей системы.

107 107 

108<h2 id="update">108<h2 id="update">

109 Обновление109 Обновление

env-vars.md +4 −2

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 или позже |


362| `CLAUDE_CODE_REMOTE` | Установлено автоматически на `true`, когда Claude Code работает как [облачный сеанс](/docs/ru/claude-code-on-the-web). Прочитайте это из hook или скрипта настройки, чтобы обнаружить, находитесь ли вы в облачном сеансе |363| `CLAUDE_CODE_REMOTE` | Установлено автоматически на `true`, когда Claude Code работает как [облачный сеанс](/docs/ru/claude-code-on-the-web). Прочитайте это из hook или скрипта настройки, чтобы обнаружить, находитесь ли вы в облачном сеансе |

363| `CLAUDE_CODE_REMOTE_SESSION_ID` | Установлено автоматически в [облачных сеансах](/docs/ru/claude-code-on-the-web) на ID текущего сеанса. Прочитайте это, чтобы построить ссылку обратно на стенограмму сеанса. См. [Ссылка вывода обратно на сеанс](/docs/ru/cloud-environments#link-output-back-to-the-session) |364| `CLAUDE_CODE_REMOTE_SESSION_ID` | Установлено автоматически в [облачных сеансах](/docs/ru/claude-code-on-the-web) на ID текущего сеанса. Прочитайте это, чтобы построить ссылку обратно на стенограмму сеанса. См. [Ссылка вывода обратно на сеанс](/docs/ru/cloud-environments#link-output-back-to-the-session) |

364| `CLAUDE_CODE_RESTRICTED` | Установите на `1`, чтобы запустить сеанс в ограниченном режиме, то же самое, что передача [`--restricted`](/docs/ru/cli-reference#cli-flags). Claude Code игнорирует эту переменную в блоке `env` файла параметров. Требует Claude Code версии 2.1.248 или позже |365| `CLAUDE_CODE_RESTRICTED` | Установите на `1`, чтобы запустить сеанс в ограниченном режиме, то же самое, что передача [`--restricted`](/docs/ru/cli-reference#cli-flags). Claude Code игнорирует эту переменную в блоке `env` файла параметров. Требует Claude Code версии 2.1.248 или позже |

365| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Установите на `1`, чтобы автоматически возобновить, если предыдущий сеанс закончился в середине хода. Используется в режиме SDK, поэтому модель продолжает без требования SDK повторно отправить подсказку. Чтобы отключить это, отмените установку переменной или установите её на `0`. До версии 2.1.221 Claude Code игнорировал `0` и другие ложные значения, поэтому установка `0` по-прежнему срабатывала возобновление в неинтерактивном режиме и отмена установки переменной была единственным способом отключить это |366| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Установите значение `1`, чтобы автоматически возобновлять работу, если предыдущая сессия завершилась посреди хода. Используется в режиме SDK, чтобы модель продолжала работу без необходимости повторно отправлять промпт из SDK. Чтобы отключить, удалите переменную или установите её в `0`. Для панели чата VS Code см. [Продолжение диалогов после перезагрузки](/docs/ru/vs-code#continue-conversations-after-a-reload) |

366| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Максимальный возраст в миллисекундах последнего сообщения стенограммы для сеанса, который закончился в середине хода, чтобы автоматически продолжить при возобновлении. Когда последнее сообщение старше этого ограничения, Claude Code пропускает как автоматическое возобновление `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`, так и введённое сообщение продолжения `CLAUDE_CODE_RESUME_PROMPT`, и сеанс начинается неактивным, чтобы вы продолжили явно. Отсутствие или `0` означает отсутствие ограничения, за исключением того, что ход, чей последний запрос не выполнился с ошибкой API, возобновляется только пока эта ошибка менее шести часов. Положительное значение ограничивает каждый ход, включая те; отрицательное или нечисловое значение применяет ограничение в один час. Скрипты порождения для долгоживущих агентов могут установить это, чтобы перезагрузка против старой стенограммы не повторно запускала устаревшую подсказку. Claude Code устанавливает ограничение в один час сам, когда перезагружает сбойный сеанс [представления агента](/docs/ru/agent-view), который унаследовал свой разговор из интерактивного сеанса. Требует Claude Code версии 2.1.211 или позже |367| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Максимальный возраст в миллисекундах последнего сообщения стенограммы для сеанса, который закончился в середине хода, чтобы автоматически продолжить при возобновлении. Когда последнее сообщение старше этого ограничения, Claude Code пропускает как автоматическое возобновление `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`, так и введённое сообщение продолжения `CLAUDE_CODE_RESUME_PROMPT`, и сеанс начинается неактивным, чтобы вы продолжили явно. Отсутствие или `0` означает отсутствие ограничения, за исключением того, что ход, чей последний запрос не выполнился с ошибкой API, возобновляется только пока эта ошибка менее шести часов. Положительное значение ограничивает каждый ход, включая те; отрицательное или нечисловое значение применяет ограничение в один час. Скрипты порождения для долгоживущих агентов могут установить это, чтобы перезагрузка против старой стенограммы не повторно запускала устаревшую подсказку. Claude Code устанавливает ограничение в один час сам, когда перезагружает сбойный сеанс [представления агента](/docs/ru/agent-view), который унаследовал свой разговор из интерактивного сеанса. Требует Claude Code версии 2.1.211 или позже |

367| `CLAUDE_CODE_RESUME_PROMPT` | Переопределить сообщение продолжения, которое Claude Code отправляет Claude, когда `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` продолжает прерванный ход вместо повторной отправки его подсказки, или когда вы возобновляете [отложенный вызов инструмента](/docs/ru/hooks#defer-a-tool-call-for-later) с `-p`. По умолчанию `Continue from where you left off.`. Пустая строка использует значение по умолчанию |368| `CLAUDE_CODE_RESUME_PROMPT` | Переопределить сообщение продолжения, которое Claude Code отправляет Claude, когда `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` продолжает прерванный ход вместо повторной отправки его подсказки, или когда вы возобновляете [отложенный вызов инструмента](/docs/ru/hooks#defer-a-tool-call-for-later) с `-p`. По умолчанию `Continue from where you left off.`. Пустая строка использует значение по умолчанию |

368| `CLAUDE_CODE_RETRY_WATCHDOG` | Установите на `1` для неконтролируемых сеансов, таких как оценочные средства, задачи CI или удалённые рабочие. Повторяет ошибки ёмкости `429` и `529` бесконечно вместо отказа после попыток `CLAUDE_CODE_MAX_RETRIES`. Claude Code не выполняется сразу, когда запрос стандартной скорости получает `429`, который сообщает об ограничении расходов или исчерпанных кредитах использования, даже один из [ограничения расходов шлюза](/docs/ru/errors#spend-limit-reached), который сбрасывается по расписанию. До версии 2.1.239 сторож повторял эти бесконечно. Для запросов быстрого режима см. [Обработка ограничений скорости](/docs/ru/fast-mode#handle-rate-limits). Сторож отступает до 5 минут между попытками или до сброса ограничения, когда ответ несёт время сброса ограничения скорости, поэтому сеанс, который попадает на ограничение использования, ждёт оставшегося окна. На версии 2.1.199 или позже он также повышает количество повторов по умолчанию для других переходных ошибок, таких как ошибки сервера, таймауты и отброшенные подключения, до 300, примерно три часа отступления, и удаляет ограничение 15 на `CLAUDE_CODE_MAX_RETRIES`, если вы явно установите эту переменную. Требует Claude Code версии 2.1.186 или позже |369| `CLAUDE_CODE_RETRY_WATCHDOG` | Установите на `1` для неконтролируемых сеансов, таких как оценочные средства, задачи CI или удалённые рабочие. Повторяет ошибки ёмкости `429` и `529` бесконечно вместо отказа после попыток `CLAUDE_CODE_MAX_RETRIES`. Claude Code не выполняется сразу, когда запрос стандартной скорости получает `429`, который сообщает об ограничении расходов или исчерпанных кредитах использования, даже один из [ограничения расходов шлюза](/docs/ru/errors#spend-limit-reached), который сбрасывается по расписанию. До версии 2.1.239 сторож повторял эти бесконечно. Для запросов быстрого режима см. [Обработка ограничений скорости](/docs/ru/fast-mode#handle-rate-limits). Сторож отступает до 5 минут между попытками или до сброса ограничения, когда ответ несёт время сброса ограничения скорости, поэтому сеанс, который попадает на ограничение использования, ждёт оставшегося окна. На версии 2.1.199 или позже он также повышает количество повторов по умолчанию для других переходных ошибок, таких как ошибки сервера, таймауты и отброшенные подключения, до 300, примерно три часа отступления, и удаляет ограничение 15 на `CLAUDE_CODE_MAX_RETRIES`, если вы явно установите эту переменную. Требует Claude Code версии 2.1.186 или позже |


543* Синхронизировать [skills](/docs/ru/skills#where-synced-skills-load) и [plugins](/docs/ru/plugins/loading#synced-plugins), включённые для вашей учётной записи claude.ai, в сеансы терминала544* Синхронизировать [skills](/docs/ru/skills#where-synced-skills-load) и [plugins](/docs/ru/plugins/loading#synced-plugins), включённые для вашей учётной записи claude.ai, в сеансы терминала

544* Использовать [инструмент советника](/docs/ru/advisor#requirements)545* Использовать [инструмент советника](/docs/ru/advisor#requirements)

545* Читать или отвечать на [комментарии к артефакту](/docs/ru/artifacts#collect-comments-on-an-artifact)546* Читать или отвечать на [комментарии к артефакту](/docs/ru/artifacts#collect-comments-on-an-artifact)

547* Поручать Claude читать [публичный артефакт другой организации](/docs/ru/artifacts#read-an-artifact-shared-with-you)

546* Иметь Claude Code, зондирующий серверы соединителя claude.ai для [MCP протокола версии 2026-07-28](/docs/ru/mcp#mcp-client-runtimes), если вы не установите `MCP_PROTOCOL_NEGOTIATION=auto`548* Иметь Claude Code, зондирующий серверы соединителя claude.ai для [MCP протокола версии 2026-07-28](/docs/ru/mcp#mcp-client-runtimes), если вы не установите `MCP_PROTOCOL_NEGOTIATION=auto`

547* Получить [инструмент PowerShell](/docs/ru/tools-reference#powershell-tool) по умолчанию для учётных записей claude.ai и Console на Windows с установленным Git Bash; Claude Code маршрутизирует команды оболочки через Git Bash, если вы не установите `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. На Windows без Git Bash инструмент остаётся включённым549* Получить [инструмент PowerShell](/docs/ru/tools-reference#powershell-tool) по умолчанию для учётных записей claude.ai и Console на Windows с установленным Git Bash; Claude Code маршрутизирует команды оболочки через Git Bash, если вы не установите `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. На Windows без Git Bash инструмент остаётся включённым

548* Получить [отзыв, составленный Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), который Claude Code включает через полученный флаг550* Получить [отзыв, составленный Claude](/docs/ru/tools-reference#sendfeedback-tool-behavior), который Claude Code включает через полученный флаг

errors.md +824 −797

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).


25| `API Error: 500 Internal server error` | [Server errors](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [Server errors](#api-error-500-internal-server-error) |

26| `API Error: Repeated 529 Overloaded errors` | [Server errors](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [Server errors](#api-error-repeated-529-overloaded-errors) |

27| `Opus is experiencing high load` / `Fable is experiencing high load` | [Server errors](#api-error-repeated-529-overloaded-errors) |27| `Opus is experiencing high load` / `Fable is experiencing high load` | [Server errors](#api-error-repeated-529-overloaded-errors) |

28| `Request timed out` | [Server errors](#request-timed-out), или [Network](#unable-to-connect-to-api) если сообщение упоминает вашу интернет-соединение |28| `Request timed out` | [Server errors](#request-timed-out), или [Network](#unable-to-connect-to-api) если сообщение упоминает ваше интернет-соединение |

29| `API Error: No response from API` | [Server errors](#no-response-from-api) |29| `API Error: No response from API` | [Server errors](#no-response-from-api) |

30| `Server error mid-response. The response above may be incomplete.` | [Server errors](#the-response-above-may-be-incomplete) |30| `Server error mid-response. The response above may be incomplete.` | [Server errors](#the-response-above-may-be-incomplete) |

31| `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [Server errors](#the-response-above-may-be-incomplete) |31| `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [Server errors](#the-response-above-may-be-incomplete) |


75| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |75| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |

76| `Remote Control stopped — the app running this session is signed out of Claude` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |76| `Remote Control stopped — the app running this session is signed out of Claude` | [Authentication](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |

77| `Couldn't verify your organization's policy for remote control` | [Troubleshoot Remote Control](/docs/ru/remote-control#couldnt-verify-your-organizations-policy-for-remote-control) |77| `Couldn't verify your organization's policy for remote control` | [Troubleshoot Remote Control](/docs/ru/remote-control#couldnt-verify-your-organizations-policy-for-remote-control) |

78| `Remote Control is disabled by your organization's policy` | [Troubleshoot Remote Control](/docs/ru/remote-control#remote-control-is-disabled-by-your-organizations-policy) |

79| `Remote Control was turned off by your organization's policy` | [Troubleshoot Remote Control](/docs/ru/remote-control#remote-control-was-turned-off-by-your-organizations-policy) |

78| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |80| `OAuth token revoked` / `OAuth token has expired` | [Authentication](#oauth-token-revoked-or-expired) |

79| `API Error: 401 Invalid authentication credentials` | [Authentication](#api-error-401-invalid-authentication-credentials) |81| `API Error: 401 Invalid authentication credentials` | [Authentication](#api-error-401-invalid-authentication-credentials) |

80| `Login expired · Please run /login` | [Authentication](#login-expired) |82| `Login expired · Please run /login` | [Authentication](#login-expired) |


186| `The connection dropped while downloading the update` | [Installation errors](#the-connection-dropped-while-downloading-the-update) |188| `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) |189| `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) |190| `--bg and --print conflict` | [Command-line errors](#conflict-between-bg-and-print) |

191| `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) |192| `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) |193| `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) |194| `Couldn't verify your organization's policy for cloud sessions` | [Command-line errors](#cloud-sessions-are-disabled-by-your-organizations-policy) |


246| `Marketplace name impersonates an official Anthropic/Claude marketplace` | [Plugin errors](#claude-code-refuses-the-marketplace-name) |249| `Marketplace name impersonates an official Anthropic/Claude marketplace` | [Plugin errors](#claude-code-refuses-the-marketplace-name) |

247| `Marketplace "<name>" is already added from a different source` | [Plugin errors](#marketplace-is-already-added-from-a-different-source) |250| `Marketplace "<name>" is already added from a different source` | [Plugin errors](#marketplace-is-already-added-from-a-different-source) |

248| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [Plugin errors](#marketplace-name-is-another-spelling-of-a-reserved-name) |251| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [Plugin errors](#marketplace-name-is-another-spelling-of-a-reserved-name) |

252| `Marketplace "<name>" is added but ignored` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#marketplace-is-added-but-ignored) |

253| `Marketplace "<name>" is registered but was refused (see the debug log)` | [Plugin troubleshooting](/docs/ru/plugins/troubleshooting#marketplace-is-added-but-ignored) |

249| `references ${user_config.*} in a shell-form command` | [Plugin errors](#plugin-command-references-user-config) |254| `references ${user_config.*} in a shell-form command` | [Plugin errors](#plugin-command-references-user-config) |

250| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [Plugin errors](#plugin-command-references-user-config) |255| `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) |256| `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) |257| `Plugin archive integrity check failed` | [Plugin errors](#plugin-archive-integrity-check-failed) |

258| `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) |259| `path escapes plugin directory` | [Plugin errors](#path-escapes-plugin-directory) |

254| `path could not be checked` | [Plugin errors](#path-could-not-be-checked) |260| `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) |261| `its marketplace entry path does not stay inside the marketplace directory` | [Plugin errors](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |


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

419</h2>425</h2>

420 426 

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

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

424 API Error: 500 Internal server error430 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.436API 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```437```

432 438 

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

434 440 

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

436 442 

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

438 444 

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

440 446 

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

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

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

444 450 

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

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

447</h3>453</h3>

448 454 

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

450 456 

451```text theme={null}457```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.458API 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```459```

454 460 

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

456 462 

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

458 464 

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

460 466 

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

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

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

464 470 

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

466 472 

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

468 Request timed out474 Request timed out


474Request timed out480Request timed out

475```481```

476 482 

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

478 484 

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

480 486 

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

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

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

484 490 

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

486 No response from API492 No response from API

487</h3>493</h3>

488 494 

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).495Claude 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 496 

491```text theme={null}497```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.498API 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```499```

494 500 

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

496 502 

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 КБ тела запроса.503* **Первая попытка**: [`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 повторная попытка использует тот же срок, что и первая попытка, и сообщение показывает одну длительность вместо двух.504* **Повторная попытка**: на одну секунду меньше `API_TIMEOUT_MS`, по умолчанию чуть менее 10 минут, чтобы повторная попытка могла дождаться прокси или шлюза, который удерживает ответ до завершения генерации. На Amazon Bedrock повторная попытка использует тот же срок, что и первая, и сообщение показывает одну длительность вместо двух.

499 505 

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

501 507 

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

503 509 

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

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

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

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

508 514 

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

510 516 

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

512 The response above may be incomplete518 The response above may be incomplete

513</h3>519</h3>

514 520 

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

516 522 

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

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


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

524```530```

525 531 

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

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

528* `Your computer went to sleep mid-response`: Claude Code обнаружил, что ваш компьютер перешел в режим сна во время потоковой передачи ответа. После пробуждения компьютера Claude Code рассматривает соединение как разорванное и прекращает чтение из него.534* `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`.535* `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 завершил свое мышление, блок текста или вызов инструмента.536* `The response stream was malformed`: поступило событие для блока содержимого, который уже завершился, или событие поступило поврежденным. Поврежденное событие — это событие, данные которого не являются допустимым JSON, содержимое которого отсутствует или не соответствует типу события. До v2.1.284 вместо этого появлялась необработанная ошибка парсера, например начинающаяся с `API Error: JSON Parse error`, когда событие с недопустимым JSON поступало после того, как Claude завершил размышления, блок текста или вызов инструмента.

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).537* `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 538 

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

534 540 

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

536 542 

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

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

541 547 

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

543* Когда один из этих сбоев поступает после того, как Claude завершил ответ, Claude Code сохраняет полный ответ и завершает ход нормально, без этого уведомления. До v2.1.222 Claude Code показывал это уведомление, когда соединение разорвалось или застопорилось после завершения ответа, и сообщал ход как ошибку, даже если ответ был полным.549* Когда один из этих сбоев происходит после того, как 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 завершал неинтерактивный ход с этим уведомлением при первом обрезании.550* В [неинтерактивной сессии](/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 подагент показывал это уведомление при первом обрезании.551* В [субагенте](/docs/ru/sub-agents#api-errors-in-subagents), независимо от того, интерактивна ли сессия: когда его обрезанный ответ содержит текст, но не содержит вызовов инструментов, Claude Code предлагает субагенту продолжить. Уведомление становится последним сообщением субагента только после того, как эти продолжения исчерпаны. До v2.1.257 субагент показывал это уведомление при первом же обрыве.

546 552 

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

548 554 

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

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

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

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

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

554 560 

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

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

557</h3>563</h3>

558 564 

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

560 566 

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

562 568 

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

564 570 


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.572<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```573```

568 574 

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`.575Когда 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 576 

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

572 578 

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

574 580 

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

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

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

578 584 

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

580 586 

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

582 588 

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

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


586 592 

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

588 594 

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

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

591 597 

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

593 599 

594```text theme={null}600```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 details601Auto 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```602```

597 603 

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

599 605 

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`606* [Фоновому субагенту](/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 возвращает это отрицание Claude607* Во всех остальных случаях, включая интерактивные сессии и основной диалог запуска с `-p`, Claude Code возвращает Claude этот отказ

602 608 

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

604 610 

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

606 612 

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

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

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

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

611 617 

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

613 619 

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

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

616```622```

617 623 

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

619 625 

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

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`, и запуск продолжается627* [Фоновому субагенту](/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) нет приглашения для возврата, поэтому действие не выполняется и запуск продолжается628* В других местах запуска с `-p` без [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) запросить разрешение негде, поэтому действие не выполняется, а выполнение продолжается

623 629 

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

625 631 

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

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

628 634 

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

630 The server returned no safety verdict636 The server returned no safety verdict

631</h3>637</h3>

632 638 

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

634 640 

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

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

637```643```

638 644 

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

640 646 

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

642 648 

643```text theme={null}649```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.650Auto 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```651```

646 652 

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

648 654 

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

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

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

652 658 

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

654 660 

655* Отправьте другое сообщение, чтобы Claude попробовал снова. Счет ответов начинается заново.661* Отправьте еще одно сообщение, чтобы 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) перечисляет, что пропустить без изменений.662* Если остановка повторяется и ваши запросы проходят через [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.663* Установите `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)664* Чтобы вместо этого одобрять действия самостоятельно, [выйдите из авторежима](/docs/ru/permission-modes#switch-permission-modes)

659 665 

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

661 667 

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

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

664</h3>670</h3>

665 671 

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

667 673 

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

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


671 677 

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

673 679 

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

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

676 682 

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

678 684 

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

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


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

886</h2>892</h2>

887 893 

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

889 895 

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

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

892</h3>898</h3>

893 899 

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

895 901 

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

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

898```904```

899 905 

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

907 

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

909 

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

901 911 

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

903 913 

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

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

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

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

908 918 

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

910 920 

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

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

913</h3>923</h3>

914 924 

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

916 926 

917```text theme={null}927```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 omitted928Could 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```929```

920 930 

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

922 932 

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

924 934 

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

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

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

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

929 939 

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

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

932</h3>942</h3>

933 943 

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

935 945 

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

937Invalid API key · Fix external API key947Invalid API key · Fix external API key

938```948```

939 949 

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

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

943 953 

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

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

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

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

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

949 959 

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

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

952</h3>962</h3>

953 963 

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

955 965 

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

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

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

959 969 

960```text theme={null}970```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 output971Your 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```972```

963 973 

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

965 975 

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

967 977 

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

969 979 

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

971 981 

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

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

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

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

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

977 987 

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

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

980</h3>990</h3>

981 991 

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

983 993 

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

985 995 

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

987Invalid auth token · Fix external auth token997Invalid auth token · Fix external auth token


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

990```1000```

991 1001 

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

993 1003 

994* `Invalid auth token`: токен-носитель из [`ANTHROPIC_AUTH_TOKEN`](/docs/ru/env-vars) или [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars)1004* `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`, без повторения имени или значения, так как вы выбрали оба.1005* `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`. Описание называет переменную для исправления.1006* `Invalid request header from the environment`: значение, которое Claude Code копирует в заголовок запроса из другой переменной окружения, например `CLAUDE_AGENT_SDK_CLIENT_APP`. Описание называет переменную, которую нужно исправить.

997 1007 

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

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

1001 1011 


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).1013Invalid 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```1014```

1005 1015 

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

1007 1017 

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

1009 1019 

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

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

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

1013 1023 

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

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

1016</h3>1026</h3>

1017 1027 

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

1019 1029 

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

1021Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead1031Your 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.1033API Error: 400 ... This organization has been disabled.

1024```1034```

1025 1035 

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

1027 1037 

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

1029 1039 

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

1031 1041 

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

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

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

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

1036 1046 

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

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

1039</h3>1049</h3>

1040 1050 

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

1042 1052 

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

1044Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account1054Your 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 account1058Your organization has disabled API key authentication · Sign in again with your claude.ai account

1049```1059```

1050 1060 

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

1052 1062 

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

1054 1064 

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

1056 1066 

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

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

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

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

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

1062 1072 

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

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

1065</h3>1075</h3>

1066 1076 

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

1068 1078 

1069```text theme={null}1079```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 access1080Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access

1071```1081```

1072 1082 

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

1074 1084 

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

1076 1086 

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

1078 1088 

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

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

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

1082 1092 

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

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

1085</h3>1095</h3>

1086 1096 

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

1088 1098 

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

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

1091```1101```

1092 1102 

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

1094 1104 

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

1096 1106 

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

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

1099 1109 

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

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

1102</h3>1112</h3>

1103 1113 

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

1105 1115 

1106```text theme={null}1116```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.1117Remote 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```1118```

1109 1119 

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

1111 1121 

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)1122* Переменную провайдера `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 Control1123* [`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`1124* Заданную `ANTHROPIC_UNIX_SOCKET`, из-за чего сессия отправляет запросы через локальный сокет, а не на `api.anthropic.com`

1115* Вход в корпоративный [cloud gateway](/docs/ru/claude-apps-gateway) через `/login`, который не поддерживает Remote Control и не имеет переменной для отмены установки1125* Вход через корпоративный [облачный шлюз](/docs/ru/claude-apps-gateway), выполненный через `/login`, который не поддерживает Remote Control и не имеет переменной, которую можно удалить

1116 1126 

1117**Что делать:**1127**Что делать:**

1118 1128 

1119* Отмените установку переменной, которую называет сообщение, такой как `CLAUDE_CODE_USE_BEDROCK` или `ANTHROPIC_BASE_URL`, и перезапустите сеанс, или запустите Remote Control из сеанса, который разговаривает с Anthropic API напрямую1129* Удалите переменную, названную в сообщении, например `CLAUDE_CODE_USE_BEDROCK` или `ANTHROPIC_BASE_URL`, и перезапустите сессию или запустите Remote Control из сессии, которая взаимодействует с Anthropic API напрямую

1120* Если переменная не установлена в вашей оболочке, проверьте ключ `env` в ваших [settings files](/docs/ru/settings#where-settings-live), который применяет переменные окружения к каждому сеансу1130* Если переменная не задана в вашей оболочке, проверьте ключ `env` в ваших [файлах настроек](/docs/ru/settings#where-settings-live), который применяет переменные окружения к каждой сессии

1121* Для этого и других сообщений запуска Remote Control см. [Troubleshoot Remote Control](/docs/ru/remote-control#troubleshooting)1131* Об этом и других сообщениях при запуске Remote Control см. в разделе [Устранение неполадок Remote Control](/docs/ru/remote-control#troubleshooting)

1122 1132 

1123<h3 id="remote-control-couldnt-refresh-your-login">1133<h3 id="remote-control-couldnt-refresh-your-login">

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

1125</h3>1135</h3>

1126 1136 

1127Claude Code запускает живое соединение [Remote Control](/docs/ru/remote-control) на краткосрочных учетных данных, которые он получает и обновляет, используя ваш сохраненный вход claude.ai. Когда claude.ai перестает принимать этот вход, или Claude Code больше не имеет сохраненного входа, Claude Code останавливает Remote Control и просит вас снова войти. Любой сбой может произойти, пока Claude Code все еще подключается, или позже, когда он обновляет учетные данные.1137Claude Code поддерживает активное подключение [Remote Control](/docs/ru/remote-control) с помощью краткосрочных учётных данных, которые он получает и обновляет, используя ваш сохранённый вход в claude.ai. Когда claude.ai перестаёт принимать этот вход или у Claude Code не остаётся сохранённого входа, Claude Code останавливает Remote Control и требует повторного входа. Любой из этих сбоев может произойти как во время подключения Claude Code, так и позже, при обновлении учётных данных.

1128 1138 

1129Когда Claude Code просит службу входа обновить ваш сохраненный вход и не получает ответ, он продолжает работу Remote Control и пытается обновление снова, пока текущее учетное данные соединения все еще действительны. Обновление не получает ответ, когда Claude Code не может достичь службы входа, запрос истекает, или служба завершается ошибкой без отклонения вашего входа. Если служба входа все еще не отвечает, когда это учетное данные истекает, Claude Code останавливает Remote Control и сообщает `OAuth token refresh failed`.1139Когда Claude Code просит службу входа обновить ваш сохранённый вход и не получает ответа, он продолжает работу Remote Control и повторяет попытку обновления, пока текущие учётные данные подключения ещё действительны. Обновление остаётся без ответа, когда Claude Code не может связаться со службой входа, запрос завершается по таймауту или служба даёт сбой, не отклоняя ваш вход. Если служба входа всё ещё не отвечает к моменту истечения этих учётных данных, Claude Code останавливает Remote Control и сообщает `OAuth token refresh failed`.

1130 1140 

1131Когда Claude Code останавливает Remote Control, он показывает причину в предупреждении и в строке стенограммы, которая начинается с `Remote Control disconnected`. Ваш локальный сеанс продолжает работу без Remote Control. Этот раздел охватывает эти строки:1141Когда Claude Code останавливает Remote Control, он показывает причину в предупреждении и в строке транскрипта, начинающейся с `Remote Control disconnected`. Ваша локальная сессия продолжает работать без Remote Control. В этом разделе рассматриваются следующие строки:

1132 1142 

1133```text theme={null}1143```text theme={null}

1134Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control1144Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control


1142 1152 

1143Claude Code называет причину в середине сообщения:1153Claude Code называет причину в середине сообщения:

1144 1154 

1145* ` Claude.ai login expired` и `Claude.ai login was rejected`: claude.ai больше не принимает ваш сохраненный токен входа, потому что он истек или был отозван1155* `Claude.ai login expired` и `Claude.ai login was rejected`: claude.ai больше не принимает ваш сохранённый токен входа, потому что он истёк или был отозван

1146* ` OAuth token unavailable`: Claude Code не имел сохраненного токена входа, когда учетные данные соединения пришли на обновление1156* `OAuth token unavailable`: у Claude Code не было сохранённого токена входа, когда подошёл срок обновления учётных данных подключения

1147* `OAuth token refresh failed`: claude.ai отклонил ваш сохраненный токен входа, пока Claude Code переподключался, и обновление токена не дало нового1157* `OAuth token refresh failed`: claude.ai отклонил ваш сохранённый токен входа во время переподключения Claude Code, и обновление токена не дало нового

1148* `JWT refresh failed: no OAuth token`: Claude Code не нашел сохраненный токен входа для обновления1158* `JWT refresh failed: no OAuth token`: Claude Code не нашёл сохранённого токена входа для обновления

1149* ` Signed out of Claude`: вы вышли на этой машине, например, запустив `/logout` в другом терминале, поэтому Claude Code больше не имеет сохраненного входа для обновления соединения1159* `Signed out of Claude`: вы вышли из системы на этой машине, например выполнив `/logout` в другом терминале, поэтому у Claude Code не осталось сохранённого входа для обновления подключения

1150 1160 

1151**Что делать:**1161**Что делать:**

1152 1162 

1153* Запустите `/login`, чтобы снова войти1163* Выполните `/login`, чтобы войти снова

1154* Запустите `/remote-control`, чтобы переподключить сеанс. Сообщения, заканчивающиеся `run /login to restore Remote Control`, не нуждаются в этом шаге: Claude Code переподключается автоматически после входа.1164* Выполните `/remote-control`, чтобы переподключить сессию. Для сообщений, заканчивающихся на `run /login to restore Remote Control`, этот шаг не нужен: Claude Code переподключается самостоятельно после вашего входа.

1155 1165 

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.1166До версии 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 1167 

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` как только одно обновление входа не получило ответ.1168До версии 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 1169 

1160<h3 id="remote-control-stopped-because-the-signed-in-account-changed">1170<h3 id="remote-control-stopped-because-the-signed-in-account-changed">

1161 Remote Control stopped because the signed-in account changed1171 Remote Control остановлен, так как изменилась учётная запись, в которую выполнен вход

1162</h3>1172</h3>

1163 1173 

1164Claude Code показывает эту строку во время сеанса [Remote Control](/docs/ru/remote-control), когда вы входите в другую учетную запись claude.ai или организацию на этой машине. Вы сделали переключение вне сеанса Claude Code, например, запустив `/login` в другом терминале.1174Claude Code показывает эту строку во время сессии [Remote Control](/docs/ru/remote-control), когда вы входите в другую учётную запись или организацию claude.ai на этой машине. Переключение было выполнено вне сессии Claude Code, например выполнением `/login` в другом терминале.

1165 1175 

1166Сеанс Remote Control, который вы запустили, пока были подписаны через `/login`, принадлежит учетной записи claude.ai и организации, которые были подписаны в то время.1176Сессия Remote Control, запущенная вами при входе через `/login`, принадлежит учётной записи и организации claude.ai, в которые был выполнен вход на тот момент.

1167 1177 

1168```text theme={null}1178```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-control1179Remote 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```1180```

1171 1181 

1172Claude Code останавливает сеанс Remote Control как только claude.ai подтверждает, что учетная запись или организация изменились. Ваш локальный сеанс продолжает работу без Remote Control.1182Claude Code останавливает сессию Remote Control, как только claude.ai подтверждает, что учётная запись или организация изменилась. Ваша локальная сессия продолжает работать без Remote Control.

1173 1183 

1174**Что делать:**1184**Что делать:**

1175 1185 

1176* Запустите `/remote-control`, чтобы запустить новый сеанс Remote Control под текущей учетной записью или организацией1186* Выполните `/remote-control`, чтобы запустить новую сессию Remote Control под текущей учётной записью или организацией

1177* Для переключения обратно запустите `/login` и снова войдите в предыдущую учетную запись или организацию. Затем запустите `/remote-control`.1187* Чтобы переключиться обратно, выполните `/login` и снова войдите в предыдущую учётную запись или организацию. Затем выполните `/remote-control`.

1178 1188 

1179До v2.1.234 Claude Code не замечал, когда вы переключались на другую учетную запись или организацию вне сеанса Claude Code. Claude Code держал сеанс Remote Control подключенным до более позднего запроса к серверу Remote Control, который завершился ошибкой `Remote Control server rejected the request (HTTP 404)`. Этот сбой мог произойти часами после переключения.1189До версии v2.1.234 Claude Code не замечал, когда вы переключались на другую учётную запись или организацию вне сессии Claude Code. Claude Code сохранял подключение сессии Remote Control до тех пор, пока последующий запрос к серверу Remote Control не завершался ошибкой `Remote Control server rejected the request (HTTP 404)`. Этот сбой мог произойти через несколько часов после переключения.

1180 1190 

1181<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">1191<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 accounts1192 Remote Control остановлен, так как приложение, в котором работает сессия, вышло из системы или сменило учётную запись

1183</h3>1193</h3>

1184 1194 

1185Когда приложение Claude desktop или IDE размещает ваш сеанс, Claude Code получает свой токен входа из этого приложения, а не из `/login`. Когда claude.ai отклоняет этот токен, Claude Code просит приложение о новом. Если приложение отвечает, что оно вышло, или что оно теперь подписано на другую учетную запись Claude, Claude Code заканчивает сеанс [Remote Control](/docs/ru/remote-control) и отправляет приложению одну из этих строк:1195Когда вашу сессию размещает десктопное приложение Claude или IDE, Claude Code получает токен входа от этого приложения, а не от `/login`. Когда claude.ai отклоняет этот токен, Claude Code запрашивает у приложения новый. Если приложение отвечает, что оно вышло из системы или теперь вошло в другую учётную запись Claude, Claude Code завершает сессию [Remote Control](/docs/ru/remote-control) и отправляет приложению одну из следующих строк:

1186 1196 

1187```text theme={null}1197```text theme={null}

1188Remote Control stopped — the app running this session is now signed in to a different Claude account1198Remote 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 on1199Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on

1190```1200```

1191 1201 

1192Ваш локальный сеанс продолжает работу без Remote Control.1202Ваша локальная сессия продолжает работать без Remote Control.

1193 1203 

1194**Что делать:**1204**Что делать:**

1195 1205 

1196* Если приложение вышло, снова войдите в него, затем включите Remote Control обратно в приложении1206* Если приложение вышло из системы, снова войдите в него, затем включите Remote Control в приложении

1197* Если приложение переключило учетные записи, Claude Code не может продолжить завершенный сеанс под новой учетной записью. Запустите новый сеанс Remote Control под этой учетной записью.1207* Если приложение сменило учётную запись, Claude Code не может продолжить завершённую сессию под новой учётной записью. Запустите новую сессию Remote Control под этой учётной записью.

1198 1208 

1199До v2.1.238 Claude Code отправлял приложению сообщения `run /login`, перечисленные в [Remote Control couldn't refresh your login](#remote-control-couldnt-refresh-your-login) в обоих случаях.1209До версии v2.1.238 Claude Code в обоих случаях отправлял приложению сообщения `run /login`, перечисленные в разделе [Remote Control не удалось обновить ваш вход](#remote-control-couldnt-refresh-your-login).

1200 1210 

1201<h3 id="oauth-token-revoked-or-expired">1211<h3 id="oauth-token-revoked-or-expired">

1202 OAuth token revoked or expired1212 Токен OAuth отозван или истёк

1203</h3>1213</h3>

1204 1214 

1205Ваш сохраненный вход больше не действителен. Отозванный токен означает, что вы вышли везде или администратор удалил доступ; истекший токен означает, что автоматическое обновление не удалось в середине сеанса.1215Ваш сохранённый вход больше не действителен. Отозванный токен означает, что вы вышли из системы везде или администратор отозвал доступ; истёкший токен означает, что автоматическое обновление не удалось посреди сессии.

1206 1216 

1207Оба сообщения сообщают об отклонении, которое API вернул для запроса, отправленного Claude Code. Когда сохраненный вход уже был очищен после неудачного обновления, вы видите [Login expired](#login-expired) вместо этого. Если вы аутентифицируетесь с помощью долгоживущего токена в [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars), вы видите те же сообщения, когда этот токен истекает или отзывается.1217Оба сообщения сообщают об отказе, который API вернул на запрос, отправленный Claude Code. Если сохранённый вход уже был очищен после неудачного обновления, вместо этого вы увидите [Срок действия входа истёк](#login-expired). Если вы проходите аутентификацию с долгосрочным токеном в [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars), вы увидите те же сообщения, когда этот токен истечёт или будет отозван.

1208 1218 

1209```text theme={null}1219```text theme={null}

1210OAuth token revoked · Please run /login1220OAuth token revoked · Please run /login


1213 1223 

1214**Что делать:**1224**Что делать:**

1215 1225 

1216* Запустите `/login`, чтобы снова войти1226* Выполните `/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 после истечения этого токена.1227* Если вы проходите аутентификацию с переменной окружения `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)1228* Если вам многократно предлагается войти при каждом запуске, см. проверки системных часов и шаги восстановления хранилища учётных данных на 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)1229* О других сбоях, включая `403 Forbidden` и проблемы OAuth в браузере, см. [Вход и аутентификация](/docs/ru/troubleshoot-install#login-and-authentication)

1220 1230 

1221<h3 id="api-error-401-invalid-authentication-credentials">1231<h3 id="api-error-401-invalid-authentication-credentials">

1222 API Error: 401 Invalid authentication credentials1232 API Error: 401 Invalid authentication credentials

1223</h3>1233</h3>

1224 1234 

1225API распознал формат вашего учетного данные, но отклонил учетную запись или организацию позади него. Anthropic возвращает это сообщение, когда учетные данные были недавно отозваны, когда организация была отключена или удалила ваш доступ, или когда сама учетная запись была деактивирована, поэтому истекший токен не является причиной. Учетные данные могут быть вашим сохраненным входом или одобренным `ANTHROPIC_API_KEY`, и исправление отличается, поэтому начните с запуска `/status`, чтобы увидеть, какой из них активен.1235API распознал формат ваших учётных данных, но отклонил стоящую за ними учётную запись или организацию. Anthropic возвращает это сообщение, когда учётные данные были недавно отозваны, когда организация была отключена или лишила вас доступа или когда сама учётная запись была деактивирована, так что причина не в истёкшем токене. Учётными данными может быть ваш сохранённый вход или одобренный `ANTHROPIC_API_KEY`, и способы исправления различаются, поэтому начните с выполнения `/status`, чтобы узнать, какие из них активны.

1226 1236 

1227```text theme={null}1237```text theme={null}

1228Please run /login · API Error: 401 Invalid authentication credentials1238Please run /login · API Error: 401 Invalid authentication credentials


1230 1240 

1231**Что делать:**1241**Что делать:**

1232 1242 

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`.1243* Если `/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` один раз. Если учетные данные были отозваны, свежий вход заменяет его.1244* Если `/status` показывает только ваш вход, выполните `/login` один раз. Если учётные данные были отозваны, новый вход заменит их.

1235* Если то же сообщение возвращается для той же учетной записи входа, учетная запись или организация больше не активны. Проверьте учетную запись и организацию, которые сообщает `/status`, и попросите администратора вашей организации восстановить доступ.1245* Если то же сообщение возвращается для той же учётной записи входа, учётная запись или организация больше не активна. Проверьте учётную запись и организацию, которые показывает `/status`, и попросите администратора организации восстановить доступ.

1236* Если [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars) указывает на [LLM gateway](/docs/ru/llm-gateway), текст после `401` — это сообщение вашего шлюза, а не Anthropic, и `/login` не изменяет его. Исправьте учетные данные, которые ожидает ваш шлюз, вместо этого.1246* Если [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars) указывает на [LLM-шлюз](/docs/ru/llm-gateway), текст после `401` — это сообщение вашего шлюза, а не Anthropic, и `/login` его не изменит. Вместо этого исправьте учётные данные, которые ожидает ваш шлюз.

1237 1247 

1238<h3 id="login-expired">1248<h3 id="login-expired">

1239 Login expired1249 Срок действия входа истёк

1240</h3>1250</h3>

1241 1251 

1242Claude Code попытался обновить ваш сохраненный вход claude.ai, и служба OAuth отклонила сохраненный токен обновления, поэтому Claude Code очистил сохраненные учетные данные. После этого каждый запрос модели останавливается локально с этим сообщением перед тем, как достичь API, потому что только `/login` может создать новые учетные данные.1252Claude Code попытался обновить ваш сохранённый вход в claude.ai, но служба OAuth отклонила сохранённый токен обновления, поэтому Claude Code очистил сохранённые учётные данные. После этого каждый запрос к модели останавливается локально с этим сообщением ещё до того, как достигнет API, поскольку создать новые учётные данные может только `/login`.

1243 1253 

1244До v2.1.206 Claude Code отправлял запрос модели в любом случае с любыми оставшимися учетными данными в окружении, и каждая модель затем завершалась ошибкой [There's an issue with the selected model](#theres-an-issue-with-the-selected-model) или 401 вместо запроса на вход.1254До версии v2.1.206 Claude Code всё равно отправлял запрос к модели с любыми учётными данными, оставшимися в окружении, и затем каждая модель завершалась ошибкой [Проблема с выбранной моделью](#theres-an-issue-with-the-selected-model) или 401 вместо предложения войти.

1245 1255 

1246```text theme={null}1256```text theme={null}

1247Login expired · Please run /login1257Login expired · Please run /login

1248```1258```

1249 1259 

1250В [non-interactive mode](/docs/ru/headless) (`-p`) и [Agent SDK](/docs/ru/agent-sdk/overview) сообщение читается следующим образом, и код структурированной ошибки — `authentication_failed`:1260В [неинтерактивном режиме](/docs/ru/headless) (`-p`) и в [Agent SDK](/docs/ru/agent-sdk/overview) сообщение звучит следующим образом, а структурированный код ошибки — `authentication_failed`:

1251 1261 

1252```text theme={null}1262```text theme={null}

1253Failed to authenticate: OAuth session expired and could not be refreshed1263Failed to authenticate: OAuth session expired and could not be refreshed

1254```1264```

1255 1265 

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) вместо этого.1266Это не то же состояние, что [Токен OAuth отозван или истёк](#oauth-token-revoked-or-expired). Те сообщения сообщают об отказе, который вернул API. `Login expired` генерирует сам Claude Code для входа, который ему уже не удалось обновить, поэтому запрос не отправляется. Если обновление не удалось из-за того, что приостановлена сама учётная запись, а не из-за устаревшего входа, Claude Code вместо этого показывает [Ваша учётная запись заблокирована](#your-account-is-on-hold).

1257 1267 

1258Сеансы, аутентифицированные с помощью ключа API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или стороннего поставщика, не используют сохраненный вход и никогда не видят это сообщение.1268Сессии, аутентифицированные с помощью API-ключа, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или стороннего провайдера, не используют сохранённый вход и никогда не видят этого сообщения.

1259 1269 

1260Вы можете проверить это состояние перед тем, как запрос завершится ошибкой: [`/status`](/docs/ru/commands) показывает строку `Login`, читающую `Expired — log in again`, плюс организацию и электронную почту, которые она сохранила для истекшего входа. Строка появляется только, когда сохраненный вход является вашим активным учетным данием и больше не может быть обновлен. Сеансы, аутентифицированные другим способом, не показывают строку, даже если истекший вход остается сохраненным. До v2.1.210 `/status` не давал никакого указания в этом состоянии, что вход когда-либо существовал, потому что очищенное учетное данные оставило ему нечего сообщать.1270Вы можете проверить наличие этого состояния до того, как запрос завершится ошибкой: [`/status`](/docs/ru/commands) показывает строку `Login` со значением `Expired — log in again`, а также организацию и адрес электронной почты, сохранённые для истёкшего входа. Строка появляется только тогда, когда сохранённый вход является вашими активными учётными данными и больше не может быть обновлён. Сессии, аутентифицированные другим способом, не показывают эту строку, даже если истёкший вход остаётся сохранённым. До версии v2.1.210 `/status` в этом состоянии никак не указывал, что вход вообще существовал, поскольку после очистки учётных данных ему нечего было сообщить.

1261 1271 

1262**Что делать:**1272**Что делать:**

1263 1273 

1264* Запустите `/login`, чтобы снова войти. Повторная попытка без входа показывает то же сообщение при каждом запросе.1274* Выполните `/login`, чтобы войти снова. Повторные попытки без входа показывают одно и то же сообщение при каждом запросе.

1265* В неинтерактивном режиме запустите `claude` в том же окружении, завершите `/login`, затем повторно запустите вашу команду. Для автоматизации, которая не может войти интерактивно, аутентифицируйтесь с помощью `ANTHROPIC_API_KEY` или [generate a long-lived token with `claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token).1275* Если вы входите с учётной записью claude.ai в другом окне Claude Code, см. раздел [Не выполнен вход](#not-logged-in), чтобы узнать, когда эта сессия начинает использовать этот вход самостоятельно.

1266* Если вход продолжает не удаваться, см. [Login and authentication](/docs/ru/troubleshoot-install#login-and-authentication)1276* В неинтерактивном режиме запустите `claude` в том же окружении, выполните `/login`, затем повторно запустите свою команду. Для автоматизации, в которой невозможен интерактивный вход, проходите аутентификацию с `ANTHROPIC_API_KEY` или [сгенерируйте долгосрочный токен с помощью `claude setup-token`](/docs/ru/authentication#generate-a-long-lived-token).

1277* Если войти по-прежнему не удаётся, см. [Вход и аутентификация](/docs/ru/troubleshoot-install#login-and-authentication)

1267 1278 

1268<h3 id="could-not-refresh-your-login">1279<h3 id="could-not-refresh-your-login">

1269 Could not refresh your login because another Claude Code process is refreshing it1280 Не удалось обновить ваш вход, так как его обновляет другой процесс Claude Code

1270</h3>1281</h3>

1271 1282 

1272Это сообщение не означает, что ваш вход был отклонен. Ваш сохраненный вход claude.ai истек и нуждался в обновлении. Другой процесс Claude Code на той же машине держал общую блокировку обновления, или вышел и оставил ее позади, и обновление не прогрессировало, пока этот сеанс ждал. Claude Code останавливает запрос перед его отправкой:1283Это сообщение не означает, что ваш вход был отклонён. Срок действия вашего сохранённого входа в claude.ai истёк, и его нужно было обновить. Другой процесс Claude Code на той же машине удерживал общую блокировку обновления или завершился, оставив её, и пока эта сессия ждала, обновление не продвинулось. Claude Code останавливает запрос до отправки:

1273 1284 

1274```text theme={null}1285```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 /login1286Could 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```1287```

1277 1288 

1278В [non-interactive mode](/docs/ru/headless) (`-p`) и [Agent SDK](/docs/ru/agent-sdk/overview) сообщение читается следующим образом, и код структурированной ошибки — `server_error`:1289В [неинтерактивном режиме](/docs/ru/headless) (`-p`) и в [Agent SDK](/docs/ru/agent-sdk/overview) сообщение звучит следующим образом, а структурированный код ошибки — `server_error`:

1279 1290 

1280```text theme={null}1291```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 again1292Failed 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```1293```

1283 1294 

1284Сеансы, аутентифицированные с помощью ключа API, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или стороннего поставщика, не используют сохраненный вход и никогда не видят это сообщение.1295Сессии, аутентифицированные с помощью API-ключа, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ru/env-vars) или стороннего провайдера, не используют сохранённый вход и никогда не видят этого сообщения.

1285 1296 

1286**Что делать:**1297**Что делать:**

1287 1298 

1288* Попробуйте снова через минуту. Если другой процесс завершит обновление первым, этот сеанс использует обновленный вход.1299* Повторите попытку через минуту. Если другой процесс завершит обновление первым, эта сессия использует обновлённый вход.

1289* Если сообщение продолжает возвращаться, закройте другие окна и процессы Claude Code, затем повторите попытку.1300* Если сообщение продолжает появляться, закройте другие окна и процессы Claude Code, затем повторите попытку.

1290* Если оно возвращается без другого запущенного процесса Claude Code, запустите `/login`. Повторный вход не ждет блокировку обновления.1301* Если оно появляется, когда никакие другие процессы Claude Code не запущены, выполните `/login`. Повторный вход не ожидает снятия блокировки обновления.

1291 1302 

1292<h3 id="couldnt-save-your-login">1303<h3 id="couldnt-save-your-login">

1293 Couldn't save your login1304 Не удалось сохранить ваш вход

1294</h3>1305</h3>

1295 1306 

1296Вы вошли с claude.ai, но Claude Code не смог сохранить вход в его хранилище учетных данных, поэтому вход не завершился. На macOS это может произойти, когда цепочка входа блокируется, например, при сне или неактивности, после того как Claude Code уже прочитал или сохранил учетные данные в ней во время того же сеанса.1307Вы вошли с claude.ai, но Claude Code не смог сохранить вход в своё хранилище учётных данных, поэтому вход не был завершён. На macOS это может произойти, когда связка ключей входа блокируется, например при переходе в режим сна или при простое, после того как Claude Code уже прочитал или сохранил в ней учётные данные в течение той же сессии.

1297 1308 

1298```text theme={null}1309```text theme={null}

1299Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.1310Couldn'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.1311Couldn't save your login. Try logging in again.

1301```1312```

1302 1313 

1303Первая форма появляется на macOS, а вторая везде. Временный сбой хранилища учетных данных, такой как тайм-аут или нечитаемое хранилище, производит то же сообщение.1314Первая форма появляется на macOS, а вторая — на всех остальных платформах. Временный сбой хранилища учётных данных, например таймаут или нечитаемое хранилище, приводит к тому же сообщению.

1304 1315 

1305**Что делать:**1316**Что делать:**

1306 1317 

1307* На macOS разблокируйте цепочку входа, затем запустите `/login` снова1318* На macOS разблокируйте связку ключей входа, затем снова выполните `/login`

1308* На других платформах запустите `/login` снова1319* На других платформах снова выполните `/login`

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

1310 1321 

1311<h3 id="failed-to-start-oauth-callback-server">1322<h3 id="failed-to-start-oauth-callback-server">

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

1313</h3>1324</h3>

1314 1325 

1315Когда `/login`, `claude auth login`, или `claude setup-token` подписывает вас через браузер, Claude Code открывает прослушивающий порт на `127.0.0.1`, чтобы ваш браузер мог вернуть результат входа ему. Это сообщение означает, что Claude Code не смог открыть этот порт, и вход останавливается перед появлением окна браузера или URL входа:1326Когда `/login`, `claude auth login` или `claude setup-token` выполняет вход через браузер, Claude Code открывает прослушивающий порт на `127.0.0.1`, чтобы браузер мог вернуть ему результат входа. Это сообщение означает, что Claude Code не смог открыть этот порт, и вход останавливается до появления окна браузера или URL для входа:

1316 1327 

1317```text theme={null}1328```text theme={null}

1318Failed to start OAuth callback server: Failed to start server. Is port 0 in use?1329Failed to start OAuth callback server: Failed to start server. Is port 0 in use?

1319```1330```

1320 1331 

1321Если ваше сообщение заканчивается на `Is port 0 in use?`, попытка прослушивания адреса IPv4 loopback `127.0.0.1` полностью завершилась ошибкой. Потому что сбой происходит перед существованием URL входа, поток `Paste code here if prompted` недоступен как обходной путь.1332Если ваше сообщение заканчивается на `Is port 0 in use?`, попытка прослушивания на адресе обратной петли IPv4 `127.0.0.1` полностью провалилась. Поскольку сбой происходит до появления URL для входа, сценарий `Paste code here if prompted` недоступен в качестве обходного пути.

1322 1333 

1323**Что делать:**1334**Что делать:**

1324 1335 

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 выбирает между учетными данными.1336* Чтобы войти сразу без локального прослушивателя: если вы используете подписку 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`, чтобы отчет включал детали вашего окружения.1337* Чтобы вместо этого использовать вход через браузер на этой машине, Claude Code должен иметь возможность прослушивать `127.0.0.1`. Если он работает внутри песочницы, проверьте, что политика песочницы разрешает прослушивание локальных портов, затем снова выполните `/login`. Если это должно работать, но всё равно не работает, выполните `/feedback`, чтобы отчёт включил сведения о вашем окружении.

1327 1338 

1328<h3 id="claude-login-not-accepted">1339<h3 id="claude-login-not-accepted">

1329 Claude login not accepted1340 Вход в Claude не принят

1330</h3>1341</h3>

1331 1342 

1332Вы попытались запустить [cloud session](/docs/ru/claude-code-on-the-web), и сервер отказался создавать его с 401: он не принял вход Claude, который отправила эта машина, обычно потому, что вход истек или был отозван.1343Вы попытались запустить [облачную сессию](/docs/ru/claude-code-on-the-web), и сервер отказался создать её с кодом 401: он не принял вход в Claude, отправленный этой машиной, обычно потому, что вход истёк или был отозван.

1333 1344 

1334Первая часть строки — это собственная причина сервера, когда он дает одну. В противном случае строка читается:1345Первая часть строки — собственная причина сервера, если он её указывает. В противном случае строка выглядит так:

1335 1346 

1336```text theme={null}1347```text theme={null}

1337Claude login not accepted · Run /login, then try again1348Claude login not accepted · Run /login, then try again


1339 1350 

1340**Что делать:**1351**Что делать:**

1341 1352 

1342* Запустите `/login`, завершите вход, затем запустите сеанс снова1353* Выполните `/login`, завершите вход, затем снова запустите сессию

1343 1354 

1344<h3 id="artifacts-need-a-claude-ai-login">1355<h3 id="artifacts-need-a-claude-ai-login">

1345 Artifacts need a claude.ai login1356 Для артефактов требуется вход в claude.ai

1346</h3>1357</h3>

1347 1358 

1348Claude Code отказал в публикации или чтении [artifact](/docs/ru/artifacts), потому что сеанс не имеет входа claude.ai, который он может использовать для артефактов.1359Claude Code отказался публиковать или читать [артефакт](/docs/ru/artifacts), потому что в сессии нет входа в claude.ai, который можно использовать для артефактов.

1349 1360 

1350Каждая форма сообщения начинается с одних и тех же слов, за которыми следует средство, которое зависит от того, как ваш сеанс аутентифицируется. Без конкурирующего учетного данные он читается:1361Каждая форма сообщения начинается с одних и тех же слов, за которыми следует способ исправления, зависящий от того, как аутентифицируется ваша сессия. При отсутствии конкурирующих учётных данных сообщение звучит так:

1351 1362 

1352```text theme={null}1363```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.1364Artifacts 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 1366 

1356**Что делать:**1367**Что делать:**

1357 1368 

1358* Запустите `/login` и выберите **Claude account with subscription**. Опция **Anthropic Console account** не предоставляет учетные данные claude.ai.1369* Выполните `/login` и выберите **Claude account with subscription**. Вариант **Anthropic Console account** не предоставляет учётные данные claude.ai.

1359* Когда сообщение называет учетное данные, которое имеет приоритет, такое как `ANTHROPIC_API_KEY`, параметр `apiKeyHelper` или ключ Console, сохраненный предыдущим `/login`, удалите его так, как говорит сообщение, затем запустите `/login`1370* Если в сообщении названы учётные данные, имеющие приоритет, например `ANTHROPIC_API_KEY`, настройка `apiKeyHelper` или ключ Console, сохранённый предыдущим `/login`, удалите их так, как указано в сообщении, затем выполните `/login`

1360* Когда сообщение говорит, что этот удаленный сеанс аутентифицируется через машину, которая его запустила, войдите в claude.ai на этой машине, затем переподключите сеанс1371* Если в сообщении сказано, что эта удалённая сессия аутентифицируется через машину, которая её запустила, войдите в claude.ai на той машине, затем переподключите сессию

1361* Когда сообщение говорит, что учетные данные вводятся окружением хоста сеанса, вы не можете изменить его в этом сеансе; запустите сеанс, который подписан на claude.ai1372* Если в сообщении сказано, что учётные данные внедряются окружением хоста сессии, вы не можете изменить их в этой сессии; запустите сессию, в которой выполнен вход в claude.ai

1362* См. [Availability](/docs/ru/artifacts#availability) для других требований, которые имеют артефакты, такие как план, поставщик модели и политика организации1373* Другие требования к артефактам, такие как тарифный план, провайдер модели и политика организации, см. в разделе [Доступность](/docs/ru/artifacts#availability)

1363 1374 

1364<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1375<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1365 Administrator policy requires a Cloud gateway sign-in1376 Политика администратора требует входа через облачный шлюз

1366</h3>1377</h3>

1367 1378 

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). Вы видите одно из двух сообщений:1379[Управляемые настройки](/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 1380 

1370```text theme={null}1381```text theme={null}

1371Not signed in to the Cloud gateway — run /login.1382Not signed in to the Cloud gateway — run /login.

1372```1383```

1373 1384 

1374Запросы модели завершаются ошибкой с этим сообщением, когда сеанс не имеет входа шлюза, например, потому что вы не запустили `/login` с момента достижения политики машины.1385Запросы к модели завершаются с этим сообщением, когда в сессии нет входа через шлюз, например потому, что вы не выполняли `/login` с момента, как политика дошла до машины.

1375 1386 

1376Если машина также содержит учетные данные, выданные Anthropic, и параметры управления установили `forceLoginMethod` или `forceLoginOrgUUID`, Claude Code вместо этого выходит при запуске. Это учетное данные может быть переменной `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN`, параметром `apiKeyHelper` или ключом API, сохраненным более ранним входом Claude Console. Сообщение начинается:1387Если на машине также хранятся учётные данные, выданные Anthropic, а управляемые настройки задают `forceLoginMethod` или `forceLoginOrgUUID`, Claude Code вместо этого завершает работу при запуске. Такими учётными данными может быть переменная `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN`, настройка `apiKeyHelper` или API-ключ, сохранённый при предыдущем входе в Claude Console. Сообщение начинается так:

1377 1388 

1378```text theme={null}1389```text theme={null}

1379Administrator policy requires a Cloud gateway sign-in on this machine; the1390Administrator policy requires a Cloud gateway sign-in on this machine; the


1383 1394 

1384**Что делать:**1395**Что делать:**

1385 1396 

1386* Запустите `/login` и завершите вход на экране **Cloud gateway**1397* Выполните `/login` и завершите вход на экране **Cloud gateway**

1387* Для сообщения при запуске удалите параметр `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`, который вы настроили. Чтобы удалить сохраненный ключ API Console, запустите `claude auth logout`, который также удаляет сохраненный вход claude.ai. Если вы выберете облачного поставщика с `CLAUDE_CODE_USE_*`, сеанс затем запускается без входа. В противном случае запустите `claude` и запустите `/login`1398* В случае сообщения при запуске удалите настроенные вами `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или настройку `apiKeyHelper`. Чтобы удалить сохранённый API-ключ Console, выполните `claude auth logout`, который также удаляет сохранённый вход в claude.ai. Если вы выбираете облачного провайдера с помощью `CLAUDE_CODE_USE_*`, сессия затем запускается без входа. В противном случае запустите `claude` и выполните `/login`

1388* Если вы считаете, что машина не должна требовать шлюз, попросите администратора, который управляет ею, удалить `forceLoginMethod` и `forceLoginGatewayUrl` из его параметров управления1399* Если вы считаете, что машина не должна требовать шлюз, попросите управляющего ею администратора удалить `forceLoginMethod` и `forceLoginGatewayUrl` из её управляемых настроек

1389 1400 

1390На v2.1.265 регрессия также показала первое сообщение в некоторых конфигурациях LLM-gateway и прокси, которые аутентифицируются с помощью ключа API, `apiKeyHelper` или пользовательских заголовков, даже без требования администратора на машине. Обновитесь до v2.1.266 или более поздней версии. Вам не нужно менять вашу конфигурацию.1401В версии v2.1.265 из-за регрессии первое сообщение также показывалось в некоторых конфигурациях с LLM-шлюзом и прокси, которые аутентифицируются с помощью API-ключа, `apiKeyHelper` или пользовательских заголовков, даже при отсутствии требования администратора на машине. Обновитесь до v2.1.266 или более поздней версии. Изменять конфигурацию не нужно.

1391 1402 

1392До v2.1.261 на машинах, которые установили `forceLoginMethod` на `"gateway"`, Claude Code использовал оставшийся сохраненный вход вместо того, чтобы завершить запросы модели ошибкой, и сообщал о настроенном учетном данные окружения с `This machine's managed settings require a first-party login` вместо сообщения при запуске. До v2.1.265 машина, чьи параметры управления установили только `forceLoginGatewayUrl`, не требовала входа шлюза, и Claude Code использовал оставшееся учетное данные там.1403До версии v2.1.261 на машинах, где для `forceLoginMethod` задано значение `"gateway"`, Claude Code использовал оставшийся сохранённый вход вместо того, чтобы завершать запросы к модели с ошибкой, и сообщал о настроенных в окружении учётных данных с помощью `This machine's managed settings require a first-party login` вместо сообщения при запуске. До версии v2.1.265 машина, управляемые настройки которой задавали только `forceLoginGatewayUrl`, не требовала входа через шлюз, и Claude Code использовал там оставшиеся учётные данные.

1393 1404 

1394<h3 id="your-account-is-on-hold">1405<h3 id="your-account-is-on-hold">

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

1396</h3>1407</h3>

1397 1408 

1398Учетная запись Claude позади вашего входа была приостановлена. Claude Code показывает первое сообщение, когда он пытается обновить ваш сохраненный вход и узнает о задержке, и второе, когда завершенный вход в браузер сообщает об этом:1409Учётная запись Claude, стоящая за вашим входом, приостановлена. Claude Code показывает первое сообщение, когда пытается обновить ваш сохранённый вход и узнаёт о блокировке, а второе — когда о ней сообщает вход, выполненный вами в браузере:

1399 1410 

1400```text theme={null}1411```text theme={null}

1401Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted1412Your 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/restricted1413Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted

1403```1414```

1404 1415 

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), чьи шаги восстановления не могут очистить задержку.1416Повторный вход с той же учётной записью не убирает сообщение, потому что блокировка наложена на учётную запись, а не на вход. В [неинтерактивном режиме](/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 1417 

1407**Что делать:**1418**Что делать:**

1408 1419 

1409* Откройте ссылку в сообщении, чтобы просмотреть детали задержки или подать апелляцию1420* Откройте ссылку из сообщения, чтобы просмотреть подробности блокировки или обжаловать её

1410* Если у вас есть другая учетная запись Claude или ключ API, на который не влияет задержка, вы можете продолжить работу, пока задержка разрешается: запустите `/login` с этой учетной записью, или установите ключ с `ANTHROPIC_API_KEY`1421* Если у вас есть другая учётная запись Claude или API-ключ, на которые блокировка не распространяется, вы можете продолжать работу, пока блокировка разрешается: выполните `/login` с этой учётной записью или задайте ключ с помощью `ANTHROPIC_API_KEY`

1411 1422 

1412<h3 id="anthropic-profile-login-expired">1423<h3 id="anthropic-profile-login-expired">

1413 Anthropic profile login expired1424 Срок действия входа в профиль Anthropic истёк

1414</h3>1425</h3>

1415 1426 

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

1417 1428 

1418```text theme={null}1429```text theme={null}

1419Anthropic profile login expired · Re-authenticate your Anthropic profile1430Anthropic 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 profile1431Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile

1421```1432```

1422 1433 

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`, или стороннего поставщика, никогда не видят это сообщение.1434Это сообщение появляется только тогда, когда активные учётные данные поступают из профиля учётных данных Anthropic — профиля, который вы выбираете с помощью переменной окружения `ANTHROPIC_PROFILE`, который Claude Code обнаруживает как активный профиль в вашем каталоге конфигурации Anthropic или который Claude Code записал, когда вы [вошли без API-ключа](/docs/ru/authentication#sign-in-without-an-api-key). Сессии, аутентифицирующиеся с помощью API-ключа, Bearer-токена, такого как `ANTHROPIC_AUTH_TOKEN`, или стороннего провайдера, никогда не видят этого сообщения.

1424 1435 

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 его обнаружил:1436На машине, которая [предлагает вход без ключа](/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 1437 

1427* Когда вы явно установили `ANTHROPIC_PROFILE`, сообщение заканчивается `Re-authenticate your Anthropic profile`.1438* Если вы задали `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` в этом случае тоже.1439* Если Claude Code обнаружил профиль в вашем каталоге конфигурации, сообщение предлагает `/login`, поскольку Claude Code отдаёт приоритет работающему `/login` над обнаруженным профилем и затем проходит аутентификацию с вашей учётной записью claude.ai или Console. До версии v2.1.234 Claude Code и в этом случае показывал форму `Re-authenticate your Anthropic profile`.

1429 1440 

1430**Что делать:**1441**Что делать:**

1431 1442 

1432* Снова войдите в профиль, затем повторите попытку: на машине, которая [offers the keyless sign-in](/docs/ru/authentication#sign-in-without-an-api-key), запустите `/login` и выберите учетную запись Anthropic Console для профиля, который написали вход без ключа Console или CLI платформы Claude `ant auth login`; для других профилей используйте инструмент, который их создал1443* Снова войдите в профиль, затем повторите попытку: на машине, которая [предлагает вход без ключа](/docs/ru/authentication#sign-in-without-an-api-key), выполните `/login` и выберите учётную запись Anthropic Console для профиля, записанного входом в Console без ключа или командой `ant auth login` из Claude Platform CLI; для других профилей используйте инструмент, который их создал

1433* Если администратор подготовил учетные данные профиля, попросите его выдать новые1444* Если учётные данные профиля предоставил администратор, попросите его выдать новые

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

1435* Чтобы перестать использовать профиль, отмените установку `ANTHROPIC_PROFILE`, если вы его установили, затем аутентифицируйтесь другим способом, такой как `/login` или `ANTHROPIC_API_KEY`1446* Чтобы перестать использовать профиль, удалите `ANTHROPIC_PROFILE`, если вы её задавали, затем пройдите аутентификацию другим способом, например с помощью `/login` или `ANTHROPIC_API_KEY`

1436 1447 

1437<h3 id="oauth-scope-requirement">1448<h3 id="oauth-scope-requirement">

1438 OAuth scope requirement1449 Требование к scope OAuth

1439</h3>1450</h3>

1440 1451 

1441Сохраненный токен предшествует области разрешения, которая требуется более новой функции:1452Сохранённый токен был выдан до появления scope разрешений, который нужен более новой функции:

1442 1453 

1443```text theme={null}1454```text theme={null}

1444OAuth token does not meet scope requirement: user:profile1455OAuth token does not meet scope requirement: user:profile


1446 1457 

1447**Что делать:**1458**Что делать:**

1448 1459 

1449* Запустите `/login`, чтобы получить новый токен с текущими областями. Вам не нужно сначала выходить.1460* Выполните `/login`, чтобы получить новый токен с текущими scope. Предварительно выходить из системы не нужно.

1450 1461 

1451<h3 id="claude-ai-rejected-the-session-token">1462<h3 id="claude-ai-rejected-the-session-token">

1452 claude.ai rejected the session token1463 claude.ai отклонил токен сессии

1453</h3>1464</h3>

1454 1465 

1455Запрос [claude.ai connector](/docs/ru/mcp#use-mcp-servers-from-claude-ai) завершился ошибкой, потому что claude.ai отклонил токен из вашего входа Claude Code. Отклоненный токен — это ваш вход, а не собственная авторизация соединителя в claude.ai, поэтому повторная авторизация соединителя не разрешает это. В `/mcp` соединитель показывает как `session token rejected` и его представление деталей читается:1466Запрос [коннектора claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) завершился ошибкой, потому что claude.ai отклонил токен из вашего входа в Claude Code. Отклонённый токен — это ваш вход, а не собственная авторизация коннектора в claude.ai, поэтому повторная авторизация коннектора проблему не решает. В `/mcp` коннектор отображается как `session token rejected`, а в его подробном представлении указано:

1456 1467 

1457```text theme={null}1468```text theme={null}

1458claude.ai rejected the session token. Run /login, then reconnect.1469claude.ai rejected the session token. Run /login, then reconnect.


1460 1471 

1461**Что делать:**1472**Что делать:**

1462 1473 

1463* Запустите `/login`, чтобы снова войти1474* Выполните `/login`, чтобы войти снова

1464* Переподключите соединитель из `/mcp`, или запустите `/mcp reconnect <server>`. Переподключение перед повторным входом оставляет соединитель в том же состоянии. Опция **Reconnect** панели `/mcp` сообщает `your claude.ai session token was rejected`; введенная форма `/mcp reconnect <server>` сообщает об успешном переподключении, даже если токен все еще отклонен.1475* Переподключите коннектор из `/mcp` или выполните `/mcp reconnect <server>`. Переподключение до повторного входа оставляет коннектор в том же состоянии. Вариант **Reconnect** на панели `/mcp` сообщает `your claude.ai session token was rejected`; набранная форма `/mcp reconnect <server>` сообщает об успешном переподключении, даже если токен по-прежнему отклоняется.

1465 1476 

1466До v2.1.222 Claude Code отметил соединитель как нуждающийся в аутентификации вместо этого, что указывал вас на поток авторизации соединителя, даже если его завершение не разрешало состояние.1477До версии v2.1.222 Claude Code вместо этого помечал коннектор как требующий аутентификации, что направляло вас в процесс авторизации коннектора, хотя его прохождение не устраняло проблему.

1467 1478 

1468<h3 id="mcp-server-needs-you-to-sign-in-again">1479<h3 id="mcp-server-needs-you-to-sign-in-again">

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

1470</h3>1481</h3>

1471 1482 

1472Удаленный [MCP server](/docs/ru/mcp) отклонил учетные данные при вызове инструмента в середине сеанса, обычно потому, что вход или токен истек, или потому что токену не хватает разрешения, которое требует инструмент. Вызов инструмента завершается ошибкой, и `/mcp` отмечает сервер как [needing authentication](/docs/ru/mcp#authenticate-with-remote-mcp-servers).1483Удалённый [MCP-сервер](/docs/ru/mcp) отклонил учётные данные при вызове инструмента посреди сессии, обычно потому, что вход или токен истёк или потому, что токену не хватает разрешения, необходимого инструменту. Вызов инструмента завершается ошибкой, и `/mcp` помечает сервер как [требующий аутентификации](/docs/ru/mcp#authenticate-with-remote-mcp-servers).

1473 1484 

1474Для сервера, на который вы входите из Claude Code, включая соединитель claude.ai, вход истек или был отозван:1485Для сервера, в который вы входите из Claude Code, включая коннектор claude.ai, вход истёк или был отозван:

1475 1486 

1476```text theme={null}1487```text theme={null}

1477MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)1488MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)

1478```1489```

1479 1490 

1480Запустите `/mcp`, выберите сервер и снова войдите из его меню.1491Выполните `/mcp`, выберите сервер и снова войдите из его меню.

1481 1492 

1482Для сервера, настроенного со скриптом [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication), Claude Code уже повторно запустил помощника и повторил вызов один раз перед отображением этого:1493Для сервера, настроенного со скриптом [`headersHelper`](/docs/ru/mcp#use-dynamic-headers-for-custom-authentication), Claude Code уже перезапустил помощника и один раз повторил вызов, прежде чем показать это сообщение:

1483 1494 

1484```text theme={null}1495```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)1496MCP 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```1497```

1487 1498 

1488Проверьте, что помощник возвращает учетные данные, которые сервер принимает, затем переподключитесь из `/mcp`, который снова запускает помощника.1499Убедитесь, что помощник возвращает учётные данные, которые принимает сервер, затем переподключитесь из `/mcp`, что снова запустит помощника.

1489 1500 

1490Для сервера со статическим заголовком `Authorization` в его конфигурации:1501Для сервера со статическим заголовком `Authorization` в конфигурации:

1491 1502 

1492```text theme={null}1503```text theme={null}

1493MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)1504MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)

1494```1505```

1495 1506 

1496Обновите значение заголовка, где сервер настроен, затем переподключитесь из `/mcp`.1507Обновите значение заголовка там, где настроен сервер, затем переподключитесь из `/mcp`.

1497 1508 

1498До v2.1.273 истекший вход, `headersHelper` и случаи заголовка `Authorization` все показали `MCP server "<name>" requires re-authorization (token expired)`.1509До версии v2.1.273 во всех случаях — с истёкшим входом, с `headersHelper` и с заголовком `Authorization` — показывалось `MCP server "<name>" requires re-authorization (token expired)`.

1499 1510 

1500Сервер также может отказать вызову инструмента с HTTP 403 `insufficient_scope`, чтобы попросить вас авторизовать область, иногда ту, которую ваш токен уже указывает. Сообщение называет эту область:1511Сервер также может отклонить вызов инструмента с HTTP 403 `insufficient_scope`, чтобы попросить вас авторизовать scope, иногда такой, который ваш токен уже содержит. Сообщение называет этот scope:

1501 1512 

1502```text theme={null}1513```text theme={null}

1503MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate1514MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate

1504```1515```

1505 1516 

1506Запустите `/mcp`, выберите сервер и аутентифицируйтесь снова из его меню.1517Выполните `/mcp`, выберите сервер и снова пройдите аутентификацию из его меню.

1507 1518 

1508Когда конфигурация сервера не устанавливает ни [`oauth.scopes`](/docs/ru/mcp#restrict-oauth-scopes), ни [`authServerMetadataUrl`](/docs/ru/mcp#override-oauth-metadata-discovery), Claude Code запрашивает область, которую назвал сервер. С любым параметром Claude Code запрашивает области этого параметра вместо этого. Если вы закрепили `oauth.scopes`, добавьте отсутствующую область в этот список перед повторной аутентификацией.1519Если в конфигурации сервера не задано ни [`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 1520 

1510До v2.1.274 этот случай показал сообщение `needs you to sign in again`, и до v2.1.273 он показал `requires re-authorization (token expired)` как другие случаи.1521До версии v2.1.274 в этом случае показывалось сообщение `needs you to sign in again`, а до версии v2.1.273 — `requires re-authorization (token expired)`, как и в других случаях.

1511 1522 

1512<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">1523<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">

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

1514</h3>1525</h3>

1515 1526 

1516Claude Code отказал в запуске входа OAuth для удаленного MCP сервера, потому что настроенный `url` сервера не разбирается как URL. Если Claude Code не имеет более конкретной проблемы конфигурации для сообщения сервера, запуск [`claude mcp login <name>`](/docs/ru/mcp#authenticate-from-the-command-line) в вашей оболочке выводит отказ как:1527Claude Code отказался начинать вход OAuth для удалённого MCP-сервера, потому что настроенный для сервера `url` не разбирается как URL. Если у Claude Code нет более конкретной проблемы конфигурации для этого сервера, выполнение [`claude mcp login <name>`](/docs/ru/mcp#authenticate-from-the-command-line) в оболочке выводит отказ так:

1517 1528 

1518```text theme={null}1529```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.1530Couldn'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 1532 

1522**Что делать:**1533**Что делать:**

1523 1534 

1524* Установите запись `url` на реальную конечную точку сервера, где сервер настроен, или установите переменную окружения, которую его [`${VAR}` reference](/docs/ru/mcp#environment-variable-expansion-in-mcp-json) называет, затем запустите вход снова.1535* Задайте для `url` записи реальный эндпоинт сервера там, где настроен сервер, или задайте переменную окружения, названную в его [ссылке `${VAR}`](/docs/ru/mcp#environment-variable-expansion-in-mcp-json), затем снова выполните вход.

1525 1536 

1526<h3 id="issuer-mismatch-in-authorization-response">1537<h3 id="issuer-mismatch-in-authorization-response">

1527 Issuer mismatch in authorization response1538 Несоответствие издателя в ответе авторизации

1528</h3>1539</h3>

1529 1540 

1530Во время [MCP OAuth sign-in](/docs/ru/mcp#authenticate-with-remote-mcp-servers) сервер авторизации перенаправил обратно в Claude Code с параметром `iss`, который не называет издателя, которого Claude Code ожидал от метаданных OAuth сервера. Неправильный издатель на этом шаге — это то, как выглядит атака смешивания сервера авторизации, поэтому Claude Code завершает вход ошибкой вместо обмена кодом авторизации. Claude Code показывает ошибку в меню сервера `/mcp` после входа в браузер:1541Во время [входа MCP OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers) сервер авторизации перенаправил обратно в Claude Code с параметром `iss`, который не соответствует издателю, ожидаемому Claude Code по метаданным OAuth сервера. Неверный издатель на этом этапе — признак атаки с подменой сервера авторизации (mix-up), поэтому Claude Code прерывает вход вместо обмена кода авторизации. Claude Code показывает ошибку в меню сервера `/mcp` после входа в браузере:

1531 1542 

1532```text theme={null}1543```text theme={null}

1533Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"1544Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"

1534```1545```

1535 1546 

1536`expected` — это издатель из метаданных OAuth сервера, и `received` — это значение `iss`, которое перенаправление несло. Вход, чье перенаправление не несет параметр `iss`, проходит проверку, если только метаданные сервера не устанавливают `authorization_response_iss_parameter_supported`, в этом случае Claude Code завершает вход ошибкой.1547`expected` — это издатель из метаданных OAuth сервера, а `received` — значение `iss`, переданное в перенаправлении. Вход, перенаправление которого не содержит параметра `iss`, проходит проверку, если только метаданные сервера не задают `authorization_response_iss_parameter_supported` — в этом случае Claude Code прерывает вход.

1537 1548 

1538**Что делать:**1549**Что делать:**

1539 1550 

1540* Попробуйте вход снова из `/mcp`1551* Повторите вход из `/mcp`

1541* Если ошибка повторяется, сообщите об этом оператору сервера. Исправление находится на стороне сервера: сервер авторизации должен вернуть того же издателя в параметре `iss`, который он объявляет в своих метаданных1552* Если ошибка повторяется, сообщите о ней оператору сервера. Исправление выполняется на стороне сервера: сервер авторизации должен возвращать в параметре `iss` того же издателя, которого он объявляет в своих метаданных

1542* Чтобы подключиться, пока сервер исправляется, запустите Claude Code с [`MCP_SDK_GENERATION=v1`](/docs/ru/env-vars), чьи [runtime](/docs/ru/mcp#mcp-client-runtimes) не запускают эту проверку. Это удаляет защиту от атак смешивания, поэтому предпочитайте исправление на стороне сервера1553* Чтобы подключиться, пока сервер исправляется, запустите Claude Code с [`MCP_SDK_GENERATION=v1`](/docs/ru/env-vars), [среда выполнения](/docs/ru/mcp#mcp-client-runtimes) которого не выполняет эту проверку. Это отключает защиту от атак с подменой, поэтому предпочтительно исправление на стороне сервера

1543 1554 

1544До v2.1.232 Claude Code использовал только v2 runtime в постепенном развертывании или когда вы установили `MCP_SDK_GENERATION=v2`.1555До версии v2.1.232 Claude Code использовал среду выполнения v2 только в рамках постепенного развёртывания или при установке `MCP_SDK_GENERATION=v2`.

1545 1556 

1546<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">1557<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">

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

1548</h3>1559</h3>

1549 1560 

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 обновляет токен сервера.1561В [среде выполнения 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 1562 

1552В его полной форме сообщение поступает из MCP SDK и цитирует конечную точку токена, которую он отказал. В журнале отладки оно следует `Error during auth completion:` для входа или `Token refresh failed:` для обновления. В вашей оболочке `claude mcp login <name>` выводит его после `Couldn't complete authentication for "<name>":`, и в сеансе `/mcp` показывает его под меню сервера:1563В полной форме сообщение исходит от MCP SDK и цитирует отклонённый эндпоинт токенов. В отладочном логе оно следует за `Error during auth completion:` при входе или за `Token refresh failed:` при обновлении. В оболочке `claude mcp login <name>` выводит его после `Couldn't complete authentication for "<name>":`, а в сессии `/mcp` показывает его в меню сервера:

1553 1564 

1554```text theme={null}1565```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).1566Refusing 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```1567```

1557 1568 

1558Claude Code рассматривает URL сервера, который имеет строку запроса или длинный случайный сегмент пути, как возможно секретный. Для такого сервера он редактирует ошибки входа, которые MCP SDK вызывает перед его отображением или логированием. Эта ошибка затем читается как короткое имя, которое может измениться между выпусками, такое как `io`, за которым следует `from the MCP SDK for` и отредактированный URL сервера. Другие ошибки из MCP SDK принимают ту же форму там. Отредактированное сообщение может быть этой ошибкой только, когда конечная точка токена сервера — это простой `http://` по адресу, отличному от `localhost`, `127.0.0.1` или `::1`.1569Claude Code считает URL сервера, содержащий строку запроса или длинный случайно выглядящий сегмент пути, потенциально секретным. Для такого сервера он маскирует ошибки входа, генерируемые MCP SDK, прежде чем показать их или записать в лог. В этом случае данная ошибка выглядит как короткое имя, которое может меняться между выпусками, например `io`, за которым следуют `from the MCP SDK for` и замаскированный URL сервера. Другие ошибки MCP SDK там принимают такую же форму. Замаскированное сообщение может означать эту ошибку, только если эндпоинт токенов сервера — обычный `http://` по адресу, отличному от `localhost`, `127.0.0.1` или `::1`.

1559 1570 

1560**Что делать:**1571**Что делать:**

1561 1572 

1562* Обслуживайте эту конечную точку токена через HTTPS, например, поместив сервер за обратный прокси или туннель, который завершает TLS и настраивает сервер на объявление адреса `https://`1573* Обслуживайте этот эндпоинт токенов по 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), поэтому предпочитайте обслуживание конечной точки через HTTPS1574* Чтобы подключиться без изменения сервера, запустите 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 1575 

1565<h3 id="aws-credentials-expired-or-invalid">1576<h3 id="aws-credentials-expired-or-invalid">

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

1567</h3>1578</h3>

1568 1579 

1569Ваш токен сеанса AWS истек или был отклонен. Это сообщение появляется при 401 из [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) или [Mantle endpoint](/docs/ru/amazon-bedrock#use-the-mantle-endpoint), что является тем, как эти поставщики сообщают об истекшем токене безопасности.1580Срок действия вашего токена сессии AWS истёк, или он был отклонён. Это сообщение появляется при ответе 401 от [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) или [эндпоинта Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint) — именно так эти провайдеры сообщают об истёкшем токене безопасности.

1570 1581 

1571Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `AWS credentials expired or invalid`:1582Подсказка по действию в середине зависит от вашей настройки. Неизменной частью является начальное `AWS credentials expired or invalid`:

1572 1583 

1573```text theme={null}1584```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 ...1585AWS 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```1586```

1576 1587 

1577До v2.1.273 это сообщение появлялось только, когда был настроен `awsAuthRefresh`.1588До версии v2.1.273 это сообщение появлялось только при настроенном `awsAuthRefresh`.

1578 1589 

1579**Что делать:**1590**Что делать:**

1580 1591 

1581* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором1592* Если в подсказке сказано, что учётные данные управляются этим окружением, учётными данными владеет приложение, запустившее Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору

1582* Если [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration) установлен, запустите команду, названную в сообщении, такую как `aws sso login --profile myprofile`, в другом терминале и завершите вход в браузер, затем повторите попытку. В противном случае обновите учетные данные AWS, которые вы используете сами: ваш вход SSO, ключи доступа, ключ API или токен прокси1593* Если задан [`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)1594* Если в интерактивной сессии задан `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` в той же оболочке и профиле1595* Если ошибка повторяется после успешного выполнения команды обновления, проверьте действительность идентификатора вне Claude Code с помощью `aws sts get-caller-identity` в той же оболочке и с тем же профилем

1585 1596 

1586<h3 id="aws-authentication-failed">1597<h3 id="aws-authentication-failed">

1587 AWS authentication failed1598 Ошибка аутентификации AWS

1588</h3>1599</h3>

1589 1600 

1590Ваш поставщик AWS вернул 403, или [Amazon Bedrock](/docs/ru/amazon-bedrock) вернул 401.1601Ваш провайдер AWS вернул 403, или [Amazon Bedrock](/docs/ru/amazon-bedrock) вернул 401.

1591 1602 

1592Amazon Bedrock сообщает об истекшем токене безопасности как 403, но 403 — это также то, как он сообщает об отказе в авторизации, такой как `AccessDeniedException` из отсутствующего разрешения IAM. Claude Code не может различить эти две причины.1603Amazon Bedrock сообщает об истёкшем токене безопасности кодом 403, но кодом 403 он также сообщает об отказе в авторизации, например `AccessDeniedException` из-за отсутствующего разрешения IAM. Claude Code не может различить эти две причины.

1593 1604 

1594401 из Amazon Bedrock также приземляется здесь, а не в [AWS credentials expired or invalid](#aws-credentials-expired-or-invalid), потому что Amazon Bedrock не сообщает об истекшем токене как 401. 401 из этой конечной точки обычно поступает из чего-то еще в пути запроса, такого как корпоративный прокси.1605Ответ 401 от Amazon Bedrock также попадает сюда, а не в раздел [Учётные данные AWS истекли или недействительны](#aws-credentials-expired-or-invalid), потому что Amazon Bedrock не сообщает об истёкшем токене кодом 401. Ответ 401 от этого эндпоинта обычно исходит от чего-то другого на пути запроса, например от корпоративного прокси.

1595 1606 

1596Обновление учетных данных исправляет истекший токен и не может исправить другие причины, поэтому сообщение предлагает оба:1607Обновление учётных данных исправляет истёкший токен, но не может устранить другие причины, поэтому сообщение предлагает оба варианта:

1597 1608 

1598```text theme={null}1609```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 ...1610AWS 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```1611```

1601 1612 

1602Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `AWS authentication failed`.1613Подсказка по действию в середине зависит от вашей настройки. Неизменной частью является начальное `AWS authentication failed`.

1603 1614 

1604Когда 403 — это ответ Amazon Bedrock, что у вас нет доступа к модели с указанным ID модели, подсказка вместо этого говорит вам включить модель для вашей учетной записи и региона в консоли Amazon Bedrock.1615Если 403 — это ответ Amazon Bedrock о том, что у вас нет доступа к модели с указанным идентификатором, подсказка вместо этого предлагает включить модель для вашей учётной записи и региона в консоли Amazon Bedrock.

1605 1616 

1606До v2.1.273 это сообщение появлялось только, когда был настроен `awsAuthRefresh`.1617До версии v2.1.273 это сообщение появлялось только при настроенном `awsAuthRefresh`.

1607 1618 

1608**Что делать:**1619**Что делать:**

1609 1620 

1610* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором1621* Если в подсказке сказано, что учётные данные управляются этим окружением, учётными данными владеет приложение, запустившее Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору

1611* Обновите ваши учетные данные AWS на случай, если истекшие учетные данные являются причиной: запустите команду [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration), названную в сообщении, когда она установлена, или обновите ваш вход SSO, ключи доступа, ключ API или токен прокси сами1622* Обновите учётные данные AWS на случай, если причина в их истечении: выполните названную в сообщении команду [`awsAuthRefresh`](/docs/ru/amazon-bedrock#advanced-credential-configuration), если она задана, или самостоятельно обновите вход SSO, ключи доступа, API-ключ или токен прокси

1612* Если ваши учетные данные текущие, подтвердите разрешения IAM в [IAM configuration](/docs/ru/amazon-bedrock#iam-configuration), прикреплены к личности, которую вы используете, и что выбранная модель включена для вашей учетной записи и региона1623* Если ваши учётные данные актуальны, убедитесь, что разрешения IAM из раздела [Конфигурация IAM](/docs/ru/amazon-bedrock#iam-configuration) назначены используемому вами идентификатору и что выбранная модель включена для вашей учётной записи и региона

1613* Запустите `aws sts get-caller-identity`, чтобы подтвердить, какую личность используют ваши запросы1624* Выполните `aws sts get-caller-identity`, чтобы проверить, какой идентификатор используют ваши запросы

1614 1625 

1615<h3 id="google-cloud-credentials-expired-or-invalid">1626<h3 id="google-cloud-credentials-expired-or-invalid">

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

1617</h3>1628</h3>

1618 1629 

1619Ваши учетные данные Google Cloud для [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) истекли или были отклонены: запрос вернул 401, что является тем, как Agent Platform сообщает об истечении учетных данных.1630Ваши учётные данные Google Cloud для [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) истекли или были отклонены: запрос вернул 401 — именно так Agent Platform сообщает об истечении учётных данных.

1620 1631 

1621Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `Google Cloud credentials expired or invalid`:1632Подсказка по действию в середине зависит от вашей настройки. Неизменной частью является начальное `Google Cloud credentials expired or invalid`:

1622 1633 

1623```text theme={null}1634```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 ...1635Google 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 1637 

1627**Что делать:**1638**Что делать:**

1628 1639 

1629* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором1640* Если в подсказке сказано, что учётные данные управляются этим окружением, учётными данными владеет приложение, запустившее Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору

1630* Если вы аутентифицируетесь с учетными данными по умолчанию приложения, запустите команду [`gcpAuthRefresh`](/docs/ru/google-vertex-ai#advanced-credential-configuration), названную в сообщении, или `gcloud auth application-default login`, и завершите вход, затем повторите попытку1641* Если вы проходите аутентификацию с учётными данными приложения по умолчанию, выполните названную в сообщении команду [`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`, затем повторите попытку1642* Если вы направляете трафик через [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)1643* Если вы проходите аутентификацию с файлом ключа сервисного аккаунта, убедитесь, что `GOOGLE_APPLICATION_CREDENTIALS` указывает на действительный ключ. См. [Настройка учётных данных GCP](/docs/ru/google-vertex-ai#3-configure-gcp-credentials)

1633* Если ошибка повторяется после обновления, подтвердите, что личность работает вне Claude Code с помощью `gcloud auth application-default print-access-token` в той же оболочке1644* Если ошибка повторяется после обновления, проверьте работоспособность идентификатора вне Claude Code с помощью `gcloud auth application-default print-access-token` в той же оболочке

1634 1645 

1635До v2.1.273 401 из Agent Platform показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, которое не может обновить учетные данные Google Cloud.1646До версии v2.1.273 ответ 401 от Agent Platform вместо этого приводил к общему сообщению `Please run /login` или `Failed to authenticate`, которые не могут обновить учётные данные Google Cloud.

1636 1647 

1637<h3 id="google-cloud-authentication-failed">1648<h3 id="google-cloud-authentication-failed">

1638 Google Cloud authentication failed1649 Ошибка аутентификации Google Cloud

1639</h3>1650</h3>

1640 1651 

1641[Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) вернул 403, который он использует для отказов в авторизации, а не истекших учетных данных. Обычно личность, с которой вы аутентифицируетесь, не имеет разрешения IAM, или модель не включена для вашего проекта.1652[Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) вернул 403 — этот код он использует для отказов в авторизации, а не для истёкших учётных данных. Обычно у идентификатора, с которым вы проходите аутентификацию, нет разрешения IAM, или модель не включена для вашего проекта.

1642 1653 

1643Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `Google Cloud authentication failed`:1654Подсказка по действию в середине зависит от вашей настройки. Неизменной частью является начальное `Google Cloud authentication failed`:

1644 1655 

1645```text theme={null}1656```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 ...1657Google 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 1659 

1649**Что делать:**1660**Что делать:**

1650 1661 

1651* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором1662* Если в подсказке сказано, что учётные данные управляются этим окружением, учётными данными владеет приложение, запустившее Claude Code, и остальные шаги здесь неприменимы: повторите попытку или обратитесь к администратору

1652* Подтвердите роли в [IAM configuration](/docs/ru/google-vertex-ai#iam-configuration), предоставлены личности, с которой вы аутентифицируетесь1663* Убедитесь, что роли из раздела [Конфигурация IAM](/docs/ru/google-vertex-ai#iam-configuration) назначены идентификатору, с которым вы проходите аутентификацию

1653* Подтвердите, что модель включена для вашего проекта. См. [Request model access](/docs/ru/google-vertex-ai#2-request-model-access)1664* Убедитесь, что модель включена для вашего проекта. См. [Запрос доступа к модели](/docs/ru/google-vertex-ai#2-request-model-access)

1654 1665 

1655До v2.1.273 403 из Agent Platform показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, которое не может обновить учетные данные Google Cloud.1666До версии v2.1.273 ответ 403 от Agent Platform вместо этого приводил к общему сообщению `Please run /login` или `Failed to authenticate`, которые не могут обновить учётные данные Google Cloud.

1656 1667 

1657<h3 id="microsoft-foundry-authentication-failed">1668<h3 id="microsoft-foundry-authentication-failed">

1658 Microsoft Foundry authentication failed1669 Microsoft Foundry authentication failed

1659</h3>1670</h3>

1660 1671 

1661[Microsoft Foundry](/docs/ru/microsoft-foundry) вернул 401 или 403: учетные данные Azure в запросе были отклонены, или личность позади них не имеет доступа к ресурсу Foundry. `/login` не может выпускать учетные данные Azure. Подсказка действия в середине варьируется в зависимости от вашей установки. Стабильная часть — это ведущий `Microsoft Foundry authentication failed`:1672[Microsoft Foundry](/docs/ru/microsoft-foundry) вернул ошибку 401 или 403: учётные данные Azure в запросе были отклонены, либо стоящая за ними идентичность не имеет доступа к ресурсу Foundry. `/login` не может выпускать учётные данные Azure. Подсказка о действии в середине сообщения зависит от вашей конфигурации. Неизменной остаётся начальная часть `Microsoft Foundry authentication failed`:

1662 1673 

1663```text theme={null}1674```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 ...1675Microsoft 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 1677 

1667**Что делать:**1678**Что делать:**

1668 1679 

1669* Если подсказка говорит, что учетные данные управляются этим окружением, приложение, которое запустило Claude Code, владеет учетным данием, и другие шаги здесь не применяются: повторите попытку, или свяжитесь с администратором1680* Если в подсказке сказано, что учётные данные управляются этой средой, то учётными данными владеет приложение, запустившее 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 по умолчанию могла снова войти1681* Обновите учётные данные, которые вы настроили в разделе [Настройка учётных данных 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)1682* Если учётные данные актуальны, убедитесь, что у идентичности есть доступ к ресурсу Foundry. См. [Настройка Azure RBAC](/docs/ru/microsoft-foundry#azure-rbac-configuration)

1672 1683 

1673До v2.1.273 401 или 403 из Microsoft Foundry показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, которое не может обновить учетные данные Azure.1684До версии v2.1.273 при ошибке 401 или 403 от Microsoft Foundry вместо этого отображалось общее сообщение `Please run /login` или `Failed to authenticate`, которое не может обновить учётные данные Azure.

1674 1685 

1675<h3 id="could-not-load-aws-or-google-cloud-credentials">1686<h3 id="could-not-load-aws-or-google-cloud-credentials">

1676 Could not load AWS or Google Cloud credentials1687 Could not load AWS or Google Cloud credentials

1677</h3>1688</h3>

1678 1689 

1679Claude Code не смог получить пригодные учетные данные из цепочки поставщика учетных данных AWS или из ваших учетных данных приложения Google по умолчанию на машине, на которой он работает, поэтому ни один запрос не достиг вашего облачного поставщика. Claude Code очищает свои кэшированные учетные данные и повторяет попытку дважды перед отображением этого сообщения. Деталь после `·` называет конкретную причину, такую как истекший сеанс SSO, отсутствующие учетные данные приложения по умолчанию, сообщаемые как `Could not load the default credentials`, или отозванный вход, сообщаемый как `invalid_grant`:1690Claude Code не удалось получить пригодные учётные данные из цепочки поставщиков учётных данных AWS или из учётных данных приложения Google по умолчанию на машине, где он запущен, поэтому ни один запрос не дошёл до вашего облачного провайдера. Прежде чем показать это сообщение, Claude Code очищает кэшированные учётные данные и дважды повторяет попытку. Подробности после `·` указывают конкретную причину, например истёкшую сессию SSO, отсутствующие учётные данные приложения по умолчанию, о которых сообщается как `Could not load the default credentials`, или отозванный вход, о котором сообщается как `invalid_grant`:

1680 1691 

1681```text theme={null}1692```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.1693API 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.1694API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.

1684```1695```

1685 1696 

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`.1697В [неинтерактивном режиме](/docs/ru/headless) с `-p` и в [Agent SDK](/docs/ru/agent-sdk/overview) структурированный код ошибки — `cloud_credential_error`. До версии v2.1.267 сообщение показывало только текст подробностей после `API Error:`, а структурированным кодом был `server_error` или `unknown`.

1687 1698 

1688**Что делать:**1699**Что делать:**

1689 1700 

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 Code1701* Выполните команду входа вашего провайдера, например `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) вместо этого1702* Если в подробностях указано `AWS default-chain credential resolve timed out`, значит цепочка зависла, а не завершилась с ошибкой, поэтому следуйте вместо этого инструкциям из раздела [AWS default-chain credential resolve timed out](#aws-default-chain-credential-resolve-timed-out)

1692 1703 

1693<h3 id="aws-default-chain-credential-resolve-timed-out">1704<h3 id="aws-default-chain-credential-resolve-timed-out">

1694 AWS default-chain credential resolve timed out1705 AWS default-chain credential resolve timed out

1695</h3>1706</h3>

1696 1707 

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) и повторяет попытку перед тем, как эта ошибка проявляется, поэтому к тому времени, когда вы ее видите, цепь зависла при повторных попытках.1708Цепочка поставщиков учётных данных 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 1709 

1699```text theme={null}1710```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.1711API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.

1701```1712```

1702 1713 

1703Распространенные причины — это команда `credential_process` в вашем профиле AWS, которая ждет входа, который она не может получить, и контейнер или VM, чей сервис метаданных экземпляра (IMDS) никогда не отвечает на зонд цепи.1714Типичные причины — команда `credential_process` в вашем профиле AWS, которая ожидает ввода, который не может получить, а также контейнер или виртуальная машина, служба метаданных экземпляра (IMDS) которых так и не отвечает на проверку цепочки.

1704 1715 

1705До v2.1.267 сообщение читалось `API Error: AWS default-chain credential resolve timed out`.1716До версии v2.1.267 сообщение выглядело как `API Error: AWS default-chain credential resolve timed out`.

1706До v2.1.207 зависшая цепь оставляла запрос ожидающим неопределенно долго вместо завершения ошибкой.1717До версии v2.1.207 зависшая цепочка оставляла запрос в бесконечном ожидании вместо завершения с ошибкой.

1707 1718 

1708**Что делать:**1719**Что делать:**

1709 1720 

1710* Запустите `aws sts get-caller-identity` в той же оболочке с тем же `AWS_PROFILE`. Если он также зависает, исправьте профиль; команда `credential_process`, которая интерактивно подсказывает, — это распространенная причина.1721* Выполните `aws sts get-caller-identity` в той же оболочке с тем же `AWS_PROFILE`. Если эта команда тоже зависает, исправьте профиль; частая причина — команда `credential_process`, которая запрашивает ввод в интерактивном режиме.

1711* Завершите шаг входа перед запуском Claude Code, например `aws sso login --profile myprofile`1722* Выполните вход до запуска Claude Code, например `aws sso login --profile myprofile`

1712* Если ваша цепь запускает интерактивный вход, который законно требует более 60 секунд, такой как SSO с MFA через обертку, такую как `aws-vault`, поднимите лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars)1723* Если ваша цепочка выполняет интерактивный вход, которому действительно требуется больше 60 секунд, например SSO с MFA через обёртку вроде `aws-vault`, увеличьте лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars)

1713 1724 

1714<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">1725<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">

1715 Bedrock setup verification timed out waiting for AWS1726 Bedrock setup verification timed out waiting for AWS

1716</h3>1727</h3>

1717 1728 

1718Вызов AWS во время [Bedrock setup wizard](/docs/ru/amazon-bedrock#sign-in-with-bedrock) шага проверки учетных данных, такой как поиск учетных данных или проверка личности, не завершился в течение 60-секундного лимита. Мастер перестает ждать и завершает шаг проверки ошибкой:1729Обращение к AWS во время проверки учётных данных в [мастере настройки Bedrock](/docs/ru/amazon-bedrock#sign-in-with-bedrock), например поиск учётных данных или проверка идентичности, не завершилось в пределах 60-секундного лимита. Мастер прекращает ожидание, и шаг проверки завершается с ошибкой:

1719 1730 

1720```text theme={null}1731```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.1732Timed 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```1733```

1723 1734 

1724Число отражает ваш лимит: 60 секунд по умолчанию, или значение, которое вы установили в [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars).1735Число отражает ваш лимит: 60 секунд по умолчанию или значение, заданное в [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars).

1725 1736 

1726Распространенные причины — это сеть или прокси, которые зависают запросы к AWS, включая обновление токена SSO, и помощник учетных данных, который все еще ждет входа, который вы не можете видеть. Поднимите лимит только, когда помощник законно требует больше времени.1737Типичные причины — сеть или прокси, которые задерживают запросы к AWS, включая обновление токена SSO, а также вспомогательная программа учётных данных, которая всё ещё ожидает ввода, который вы не видите. Увеличивайте лимит, только если вспомогательной программе действительно нужно больше времени.

1727 1738 

1728Один зависший запрос к AWS также может завершиться ошибкой на его собственном тайм-ауте для каждого запроса, который показывает более короткое сообщение на том же шаге:1739Отдельный зависший запрос к AWS также может завершиться ошибкой по собственному таймауту запроса, и тогда на том же шаге отображается более короткое сообщение:

1729 1740 

1730```text theme={null}1741```text theme={null}

1731A request to AWS timed out. Check your network and proxy settings, then try again.1742A request to AWS timed out. Check your network and proxy settings, then try again.

1732```1743```

1733 1744 

1734Когда те же тайм-ауты происходят на шаге закрепления модели, мастер отмечает модель как `unreachable` вместо отображения любого сообщения.1745Если такие же таймауты возникают на шаге закрепления модели, мастер помечает модель как `unreachable` вместо отображения любого из этих сообщений.

1735 1746 

1736**Что делать:**1747**Что делать:**

1737 1748 

1738* Запустите `aws sts get-caller-identity` в той же оболочке. Если он также зависает, зависание находится вне Claude Code, в вашей сети, вашем прокси или помощнике учетных данных в вашем профиле AWS; исправьте это сначала.1749* Выполните `aws sts get-caller-identity` в той же оболочке. Если эта команда тоже зависает, проблема находится вне Claude Code — в вашей сети, прокси или вспомогательной программе учётных данных в профиле AWS; сначала устраните её.

1739* Завершите любой интерактивный вход перед открытием мастера, например `aws sso login --profile myprofile`1750* Выполните интерактивный вход до открытия мастера, например `aws sso login --profile myprofile`

1740* Если помощник учетных данных в вашем профиле AWS законно требует более 60 секунд для подсказки, поднимите лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars)1751* Если вспомогательной программе учётных данных в вашем профиле AWS действительно нужно больше 60 секунд, чтобы запросить у вас ввод, увеличьте лимит в миллисекундах с помощью [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ru/env-vars)

1741 1752 

1742<h3 id="cloud-gateway-session-expired">1753<h3 id="cloud-gateway-session-expired">

1743 Cloud gateway session expired1754 Cloud gateway session expired

1744</h3>1755</h3>

1745 1756 

1746Вы вошли через [Claude apps gateway](/docs/ru/claude-apps-gateway), и сеанс шлюза, сохраненный на этой машине, истек и не смог быть обновлен, или шлюз больше его не принимает, например, после [JWT secret is replaced](/docs/ru/claude-apps-gateway-deploy#jwt-secret-rotation) шлюза. Если вы видите эту строку при запуске `claude` интерактивно, сеанс открылся без входа в шлюз:1757Вы вошли через [шлюз приложений Claude](/docs/ru/claude-apps-gateway), и сессия шлюза, сохранённая на этой машине, истекла и не может быть продлена, либо шлюз её больше не принимает, например после [замены JWT-секрета](/docs/ru/claude-apps-gateway-deploy#jwt-secret-rotation) шлюза. Если вы видите эту строку при интерактивном запуске `claude`, значит сессия открылась без входа в шлюз:

1747 1758 

1748```text theme={null}1759```text theme={null}

1749Cloud gateway session expired — run /login to reconnect.1760Cloud gateway session expired — run /login to reconnect.

1750```1761```

1751 1762 

1752Та же строка может появиться в середине сеанса, когда учетные данные шлюза истекают и Claude Code не может их обновить.1763Та же строка может появиться посреди сессии, когда учётные данные шлюза истекают и Claude Code не может их продлить.

1753 1764 

1754В [non-interactive](/docs/ru/headless) запуске, фоновом или другом автоматическом сеансе, или подкоманде `claude`, отличной от `claude auth`, Claude Code вместо этого выходит с этим сообщением, когда шлюз больше не принимает сеанс:1765В [неинтерактивном](/docs/ru/headless) запуске, фоновой или другой автоматической сессии либо в подкоманде `claude`, отличной от `claude auth`, Claude Code вместо этого завершает работу с таким сообщением, когда шлюз больше не принимает сессию:

1755 1766 

1756```text theme={null}1767```text theme={null}

1757Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.1768Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.


1759 1770 

1760**Что делать:**1771**Что делать:**

1761 1772 

1762* Запустите `/login` в сеансе и завершите вход в браузер1773* Выполните `/login` в сессии и завершите вход в браузере

1763* Для неинтерактивного запуска запустите `claude` в том же окружении, запустите `/login`, затем повторно запустите вашу команду1774* При неинтерактивном запуске запустите `claude` в той же среде, выполните `/login`, затем повторно выполните свою команду

1764 1775 

1765<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">1776<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">

1766 Sign-in timed out while waiting for you to continue1777 Sign-in timed out while waiting for you to continue

1767</h3>1778</h3>

1768 1779 

1769Во время входа [Claude apps gateway](/docs/ru/claude-apps-gateway) шлюз назвал учетную запись, которая вошла, и Claude Code попросил вас подтвердить ее перед сохранением учетных данных. Вы оставили подтверждение открытым после истечения срока действия входа, и шлюз не выдал токен обновления, который мог бы его обновить, поэтому Claude Code ничего не сохранил, когда вы продолжили:1780Во время входа через [шлюз приложений Claude](/docs/ru/claude-apps-gateway) шлюз назвал учётную запись, под которой был выполнен вход, и Claude Code попросил вас подтвердить её перед сохранением учётных данных. Вы оставили подтверждение открытым дольше срока действия самого входа, а шлюз не выдал токен обновления, с помощью которого его можно было бы продлить, поэтому, когда вы продолжили, Claude Code ничего не сохранил:

1770 1781 

1771```text theme={null}1782```text theme={null}

1772Sign-in timed out while waiting for you to continue. Try again.1783Sign-in timed out while waiting for you to continue. Try again.


1774 1785 

1775**Что делать:**1786**Что делать:**

1776 1787 

1777* Запустите `/login` снова и подтвердите учетную запись перед истечением срока действия входа1788* Снова выполните `/login` и подтвердите учётную запись до истечения срока действия входа

1778 1789 

1779<h3 id="gateway-refused-the-request">1790<h3 id="gateway-refused-the-request">

1780 Gateway refused the request1791 Gateway refused the request

1781</h3>1792</h3>

1782 1793 

1783Вы подписаны через [Claude apps gateway](/docs/ru/claude-apps-gateway), и запрос вернул 403: шлюз, или восходящий позади него, отказал в нем. Повторный вход не изменяет отказ, поэтому сообщение указывает на администратора вашего шлюза:1794Вы вошли через [шлюз приложений Claude](/docs/ru/claude-apps-gateway), и запрос вернул ошибку 403: его отклонил шлюз или вышестоящий сервис за ним. Повторный вход не меняет результат отказа, поэтому сообщение направляет вас к администратору шлюза:

1784 1795 

1785```text theme={null}1796```text theme={null}

1786Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...1797Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...


1788 1799 

1789**Что делать:**1800**Что делать:**

1790 1801 

1791* Попросите администратора вашего шлюза посмотреть запрос. Хвост `API Error:` несет отказ, который вернул шлюз1802* Попросите администратора шлюза найти этот запрос. Хвост `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)1803* Для администраторов: [правило контроля доступа](/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 1804 

1794До v2.1.273 403 на сеансе шлюза показал общее сообщение `Please run /login` или `Failed to authenticate` вместо этого, и повторный вход не очистил отказ.1805До версии v2.1.273 при ошибке 403 в сессии шлюза вместо этого отображалось общее сообщение `Please run /login` или `Failed to authenticate`, а повторный вход не снимал отказ.

1795 1806 

1796<h2 id="network-and-connection-errors">1807<h2 id="network-and-connection-errors">

1797 Ошибки сети и подключения1808 Ошибки сети и подключения


2852 Ошибки командной строки2863 Ошибки командной строки

2853</h2>2864</h2>

2854 2865 

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

2856 2867 

2857<h3 id="conflict-between-bg-and-print">2868<h3 id="conflict-between-bg-and-print">

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

2859</h3>2870</h3>

2860 2871 

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 эта комбинация молча создавала фоновое задание, к которому невозможно было подключиться.2872Это сообщение требует 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 2873 

2863```text theme={null}2874```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>'`.2875--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 2877 

2867**Что делать:**2878**Что делать:**

2868 2879 

2869* Удалите `-p` или `--print`. `--bg` принимает приглашение в качестве позиционального аргумента, поэтому `claude --bg "<task>"` — это полная команда. См. [Dispatch new agents from your shell](/docs/ru/agent-view#from-your-shell).2880* Уберите `-p` или `--print`. `--bg` принимает промпт как позиционный аргумент, поэтому `claude --bg "<task>"` — это полная команда. См. [Запуск новых агентов из оболочки](/docs/ru/agent-view#from-your-shell).

2870* Чтобы запустить приглашение неинтерактивно и вывести результат вместо создания фонового сеанса, удалите `--bg` и запустите `claude -p "<task>"`2881* Чтобы выполнить промпт в неинтерактивном режиме и вывести результат вместо создания фоновой сессии, уберите `--bg` и выполните `claude -p "<task>"`

2882 

2883<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">

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

2885</h3>

2886 

2887Вы передали [`--append-subagent-system-prompt`](/docs/ru/cli-reference#cli-flags) вместе с `--append-subagent-system-prompt-file` в одном вызове `claude`, поэтому `claude` завершается с кодом выхода 1 вместо запуска сессии:

2888 

2889```text theme={null}

2890Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.

2891```

2892 

2893До v2.1.283 `claude` завершался так же, когда вы передавали `--system-prompt` вместе с `--system-prompt-file` или `--append-system-prompt` вместе с `--append-system-prompt-file`, потому что эти пары конфликтовали, а не [объединялись](/docs/ru/cli-reference#system-prompt-flags). В этих версиях сообщение называет пару, которую вы объединили.

2894 

2895**Что делать:**

2896 

2897* Оставьте одну форму флага и уберите другую. Чтобы объединить фиксированный файл промпта с текстом для конкретного запуска, добавьте этот текст в файл перед запуском, а не передавайте оба флага

2871 2898 

2872<h3 id="invalid-agents-configuration">2899<h3 id="invalid-agents-configuration">

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

2874</h3>2901</h3>

2875 2902 

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 запускал сеанс в любом случае.2903Значение, переданное в `--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 2904 

2878```text theme={null}2905```text theme={null}

2879Error: Invalid --agents configuration:2906Error: Invalid --agents configuration:

2880<what failed>2907<what failed>

2881```2908```

2882 2909 

2883То, что следует после первой строки, зависит от того, как значение не прошло проверку. Claude Code выполняет эти проверки по порядку и останавливается на первой, которая не пройдена. Если ваше значение имеет два вида проблем, вы видите второе только после исправления первого:2910Что следует за первой строкой, зависит от того, на чём значение не прошло проверку. Claude Code выполняет эти проверки по порядку и останавливается на первой неудачной. Если в вашем значении есть проблемы двух видов, вторую вы увидите только после исправления первой:

2884 2911 

28851. Когда значение начинается с `{`, но не анализируется как JSON, или содержимое файла `--agents` не анализируется, Claude Code выводит одну строку `invalid JSON:` с собственным сообщением парсера JSON29121. Когда значение начинается с `{`, но не разбирается как JSON, или содержимое файла `--agents` не разбирается, Claude Code выводит одну строку `invalid JSON:` с собственным сообщением JSON-парсера

28862. Когда оно анализируется, но определение агента не соответствует схеме для [определённых в CLI подагентов](/docs/ru/sub-agents#choose-the-subagent-scope), Claude Code выводит одну строку на проблему29132. Когда значение разбирается, но определение агента не соответствует схеме для [субагентов, определённых через CLI](/docs/ru/sub-agents#choose-the-subagent-scope), Claude Code выводит по одной строке на каждую проблему

28873. Когда имя агента начинается с `-`, Claude Code выводит `<name>: agent names must not start with '-'`29143. Когда имя агента начинается с `-`, Claude Code выводит `<name>: agent names must not start with '-'`

2888 2915 

2889Когда строк проблем больше 20, Claude Code выводит первые 20 и заменяет остальные на `…and N more`.2916Когда строк с проблемами больше 20, Claude Code выводит первые 20, а остальные заменяет на `…and N more`.

2890 2917 

2891С `--print`, `--agents` также принимает [путь к файлу JSON](/docs/ru/sub-agents#choose-the-subagent-scope) вместо встроенного объекта. До версии v2.1.281 `--agents` принимал только встроенный JSON и рассматривал путь к файлу как недействительный JSON. Форма файла имеет свои отказы, выводимые вместо этого сообщения, включая следующие:2918С `--print` флаг `--agents` также принимает [путь к JSON-файлу](/docs/ru/sub-agents#choose-the-subagent-scope) вместо встроенного объекта. До v2.1.281 `--agents` принимал только встроенный JSON и считал путь к файлу недопустимым JSON. У файловой формы есть собственные отказы, которые выводятся вместо этого сообщения, в том числе следующие:

2892 2919 

2893* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code прочитал значение как путь к файлу в интерактивном сеансе. Передайте определения как встроенный JSON или добавьте `-p` для чтения из файла.2920* **`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, который ваша оболочка повредила, может не пройти таким образом. Проверьте путь или кавычки и запустите команду снова.2921* **`Error: --agents file not found: <path>`**: по этому пути файла нет. Значение, которое не начинается с `{` и не является допустимым JSON, читается как путь, поэтому так же может завершиться ошибкой встроенный JSON, искажённый вашей оболочкой. Проверьте путь или кавычки и выполните команду снова.

2895 2922 

2896**Что делать:**2923**Что делать:**

2897 2924 

2898* Исправьте каждую проблему, которую указывает сообщение, затем запустите команду снова. См. [поля, которые принимает определённый в CLI подагент](/docs/ru/sub-agents#choose-the-subagent-scope).2925* Исправьте каждую проблему, перечисленную в сообщении, затем выполните команду снова. См. [поля, которые принимает субагент, определённый через CLI](/docs/ru/sub-agents#choose-the-subagent-scope).

2899 2926 

2900<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">2927<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">

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

2902</h3>2929</h3>

2903 2930 

2904Когда вы запускаете сеанс с [`--restricted`](/docs/ru/cli-reference#cli-flags), Claude Code отказывается создавать [облачные сеансы](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) из него, потому что новый сеанс будет работать вне ограниченного процесса и не будет применять ограниченный режим. Claude Code отказывает на клиенте, перед контактом с сервером, поэтому облачный сеанс не создаётся:2931Когда вы запускаете сессию с [`--restricted`](/docs/ru/cli-reference#cli-flags), Claude Code отказывается создавать из неё [облачные сессии](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud), потому что новая сессия работала бы вне ограниченного процесса и не соблюдала бы ограниченный режим. Claude Code отказывает на стороне клиента, до обращения к серверу, поэтому облачная сессия не создаётся:

2905 2932 

2906```text theme={null}2933```text theme={null}

2907Cloud sessions cannot be created from a --restricted session: they would not enforce it.2934Cloud sessions cannot be created from a --restricted session: they would not enforce it.


2909 2936 

2910**Что делать:**2937**Что делать:**

2911 2938 

2912* Запустите задачу локально в ограниченном сеансе2939* Выполните задачу локально в ограниченной сессии

2913* Если вы контролируете способ запуска сеанса, запустите новый сеанс `claude` без `--restricted` и создайте облачный сеанс оттуда2940* Если вы управляете тем, как была запущена сессия, запустите новую сессию `claude` без `--restricted` и создайте облачную сессию из неё

2914 2941 

2915До версии v2.1.248 Claude Code не имел флага `--restricted`; более ранние версии отклоняют сам флаг с ошибкой неизвестного параметра.2942До v2.1.248 в Claude Code не было флага `--restricted`; более ранние версии отклоняют сам флаг с ошибкой неизвестного параметра.

2916 2943 

2917<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">2944<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">

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

2919</h3>2946</h3>

2920 2947 

2921Политика `allow_remote_sessions` вашей организации отключена, поэтому [облачные сеансы](/docs/ru/claude-code-on-the-web) и команды, которые их используют, недоступны:2948Политика `allow_remote_sessions` вашей организации выключена, поэтому [облачные сессии](/docs/ru/claude-code-on-the-web) и команды, которые их используют, недоступны:

2922 2949 

2923```text theme={null}2950```text theme={null}

2924Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.2951Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.

2925```2952```

2926 2953 

2927Сообщение появляется, когда вы [создаёте облачный сеанс из терминала](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) и когда вы отправляете команду, которая требует облачные сеансы, такую как `/teleport`, `/remote-env` или `/web-setup`. До версии v2.1.268 отправка одной из этих команд возвращала [`Unknown command`](#unknown-command) вместо этого.2954Сообщение появляется, когда вы [создаёте облачную сессию из терминала](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud), и когда вы отправляете команду, которой нужны облачные сессии, например `/teleport`, `/remote-env` или `/web-setup`. До v2.1.268 отправка одной из этих команд вместо этого возвращала [`Unknown command`](#unknown-command).

2928 2955 

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

2930 2957 

2931Если Claude Code ещё не загрузил политику вашей организации или не может её получить, эти команды отвечают `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.` вместо этого.2958Если Claude Code ещё не загрузил политику вашей организации или не может её получить, эти команды вместо этого отвечают `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.`

2932 2959 

2933**Что делать:**2960**Что делать:**

2934 2961 

2935* Попросите [владельца](/docs/ru/server-managed-settings#access-control) в вашей организации включить облачные сеансы в параметрах администратора Claude Code на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)2962* Попросите [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 и попробуйте снова2963* Если в сообщении сказано, что не удалось проверить политику, проверьте сетевое подключение, затем перезапустите Claude Code и попробуйте снова

2937 2964 

2938<h3 id="the-json-schema-value-is-not-a-valid-json-schema">2965<h3 id="the-json-schema-value-is-not-a-valid-json-schema">

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

2940</h3>2967</h3>

2941 2968 

2942Схема, которую вы передали в [`--json-schema`](/docs/ru/cli-reference#cli-flags) в [неинтерактивном режиме](/docs/ru/headless#get-structured-output), не прошла компиляцию JSON Schema, поэтому `claude` завершает работу с кодом 1 вместо запуска приглашения. До версии v2.1.205 недействительная схема выдавала неструктурированный вывод без ошибки, и любая схема, использующая ключевое слово `format`, рассматривалась как недействительная.2969Схема, переданная в [`--json-schema`](/docs/ru/cli-reference#cli-flags) в [неинтерактивном режиме](/docs/ru/headless#get-structured-output), не прошла компиляцию JSON Schema, поэтому `claude` завершается с кодом выхода 1 вместо выполнения промпта. До v2.1.205 недопустимая схема давала неструктурированный вывод без ошибки, а любая схема, использующая ключевое слово `format`, считалась недопустимой.

2943 2970 

2944```text theme={null}2971```text theme={null}

2945Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values2972Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values

2946```2973```

2947 2974 

2948Текст после второго двоеточия — это диагностика валидатора и указывает на ключевое слово или местоположение, которое не прошло проверку. Схемы, использующие ключевое слово `format`, такие как `"format": "email"`, действительны: Claude Code принимает `format` как аннотацию и не применяет её.2975Текст после второго двоеточия — это диагностика валидатора; она называет ключевое слово или место, где произошёл сбой. Схемы, использующие ключевое слово `format`, например `"format": "email"`, допустимы: Claude Code принимает `format` как аннотацию и не применяет его.

2949 2976 

2950Claude Code выполняет две проверки перед компиляцией схемы: он отклоняет значение, которое не анализируется как JSON, с `Error: --json-schema is not valid JSON`, и действительный JSON, который не является объектом, с `Error: --json-schema must be a JSON object`.2977Перед компиляцией схемы Claude Code выполняет две проверки: значение, которое не разбирается как JSON, отклоняется с `Error: --json-schema is not valid JSON`, а допустимый JSON, не являющийся объектом, — с `Error: --json-schema must be a JSON object`.

2951 2978 

2952**Что делать:**2979**Что делать:**

2953 2980 

2954* Исправьте часть схемы, которую указывает диагностика, затем повторно запустите команду2981* Исправьте часть схемы, названную в диагностике, затем снова выполните команду

2955* См. [Get structured output](/docs/ru/headless#get-structured-output) для рабочей схемы и команды2982* Рабочую схему и команду см. в разделе [Получение структурированного вывода](/docs/ru/headless#get-structured-output)

2956 2983 

2957<h3 id="settings-file-exceeds-the-2mib-limit">2984<h3 id="settings-file-exceeds-the-2mib-limit">

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

2959</h3>2986</h3>

2960 2987 

2961Файл, который вы передали в [`--settings`](/docs/ru/cli-reference#cli-flags), больше 2 MiB, поэтому `claude` завершает работу с кодом 1 при запуске вместо загрузки. До версии v2.1.214 Claude Code читал файл без проверки размера, и многогигабайтный файл или файл устройства, такой как `/dev/zero`, увеличивал память без ограничений.2988Файл, переданный в [`--settings`](/docs/ru/cli-reference#cli-flags), больше 2 MiB, поэтому `claude` завершается с кодом выхода 1 при запуске вместо его загрузки. До v2.1.214 Claude Code читал файл без проверки размера, и многогигабайтный файл или файл устройства вроде `/dev/zero` неограниченно увеличивал потребление памяти.

2962 2989 

2963```text theme={null}2990```text theme={null}

2964Error: Settings file exceeds the 2MiB limit: /path/to/settings.json2991Error: Settings file exceeds the 2MiB limit: /path/to/settings.json

2965```2992```

2966 2993 

2967Claude Code отклоняет путь `--settings`, который не является обычным файлом, таким же образом: устройство, FIFO или сокет сообщает `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` с последующим путём, а каталог сообщает причину `EISDIR`.2994Так же Claude Code отклоняет путь `--settings`, который не является обычным файлом: для устройства, FIFO или сокета выводится `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))`, за которым следует путь, а для каталога указывается причина `EISDIR`.

2968 2995 

2969**Что делать:**2996**Что делать:**

2970 2997 

2971* Укажите `--settings` на обычный файл JSON параметров размером менее 2 MiB. См. [Settings](/docs/ru/settings) для формата.2998* Укажите в `--settings` обычный JSON-файл настроек размером меньше 2 MiB. Формат см. в разделе [Настройки](/docs/ru/settings).

2972 2999 

2973<h3 id="the-current-directory-no-longer-exists">3000<h3 id="the-current-directory-no-longer-exists">

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

2975</h3>3002</h3>

2976 3003 

2977Вы запустили `claude` из каталога, который был удалён или перемещён после того, как ваша оболочка вошла в него, например worktree или временный каталог, удалённый другой оболочкой. Claude Code не может прочитать свой рабочий каталог, поэтому он завершает работу с кодом 1 перед запуском сеанса, как в интерактивном, так и в [неинтерактивном](/docs/ru/headless) режиме. До версии v2.1.239 Claude Code падал с минифицированным исходным кодом пакета и необработанным стеком `ENOENT ... uv_cwd` на stderr вместо этого сообщения.3004Вы запустили `claude` из каталога, который был удалён или перемещён после того, как ваша оболочка в него перешла, например из worktree или временного каталога, удалённого другой оболочкой. Claude Code не может прочитать свой рабочий каталог, поэтому завершается с кодом выхода 1 до запуска сессии — как в интерактивном, так и в [неинтерактивном](/docs/ru/headless) режиме. До v2.1.239 Claude Code вместо этого сообщения аварийно завершался, выводя в stderr минифицированный исходный код сборки и необработанный стек `ENOENT ... uv_cwd`.

2978 3005 

2979```text theme={null}3006```text theme={null}

2980The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.3007The 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.3008error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.

2982```3009```

2983 3010 

2984Причина и исправление одинаковы для обеих форм.3011Причина и способ исправления одинаковы для обеих форм.

2985 3012 

2986Когда Claude Code не может прочитать рабочий каталог по другой причине, такой как изменение разрешений, сообщение указывает код ошибки вместо этого: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`3013Когда Claude Code не может прочитать рабочий каталог по другой причине, например из-за изменения прав доступа, сообщение вместо этого называет код ошибки: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`

2987 3014 

2988На macOS `EPERM` для каталога в `~/Desktop`, `~/Documents`, `~/Downloads` или iCloud Drive обычно означает, что macOS блокирует доступ вашего приложения терминала к этой папке. Другие команды, которые читают эту папку, не работают так же: `ls` там сообщает `Operation not permitted`, даже с `sudo`.3015В macOS `EPERM` для каталога в `~/Desktop`, `~/Documents`, `~/Downloads` или iCloud Drive обычно означает, что macOS блокирует доступ вашего приложения терминала к этой папке. Другие команды, читающие эту папку, завершаются так же: `ls` в ней сообщает `Operation not permitted`, даже с `sudo`.

2989 3016 

2990**Что делать:**3017**Что делать:**

2991 3018 

2992* Перейдите в каталог, который существует, такой как ваш домашний или проектный каталог, затем запустите `claude` снова3019* Перейдите в существующий каталог, например в домашний каталог или каталог проекта, затем снова запустите `claude`

2993* Если каталог был пересоздан по тому же пути, ваша оболочка всё ещё содержит удалённый. Запустите `cd "$PWD"` или покиньте и повторно войдите в каталог, затем запустите `claude` снова3020* Если каталог был создан заново по тому же пути, ваша оболочка всё ещё держит удалённый. Выполните `cd "$PWD"` или выйдите из каталога и войдите в него снова, затем снова запустите `claude`

2994* Для `EPERM` на macOS выйдите из приложения терминала с помощью Cmd+Q, откройте его снова, вернитесь в эту папку и запустите `claude`. Если `ls` в этой папке всё ещё не работает, откройте **System Settings > Privacy & Security > Files and Folders**, включите папку для вашего приложения терминала, затем повторно откройте терминал3021* Для `EPERM` в macOS закройте приложение терминала с помощью Cmd+Q, откройте его снова, вернитесь в эту папку и запустите `claude`. Если `ls` в этой папке по-прежнему завершается ошибкой, откройте **Системные настройки > Конфиденциальность и безопасность > Файлы и папки**, включите доступ к папке для вашего приложения терминала, затем снова откройте терминал

2995 3022 

2996<h3 id="temp-directory-refused-or-cannot-be-created">3023<h3 id="temp-directory-refused-or-cannot-be-created">

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

2998</h3>3025</h3>

2999 3026 

3000На macOS и Linux Claude Code создаёт приватный временный каталог при запуске, `claude-<uid>` в системном временном каталоге или переопределении [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars). Когда каталог не может быть создан или запись, уже находящаяся по этому пути, не проходит проверки безопасности, Claude Code выводит сбой на stderr и завершает работу с кодом 1 вместо запуска сеанса:3027В macOS и Linux Claude Code при запуске создаёт приватный временный каталог `claude-<uid>` в системном временном каталоге или в каталоге, заданном переопределением [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars). Если каталог не удаётся создать или уже существующий по этому пути элемент не проходит проверки безопасности, Claude Code выводит ошибку в stderr и завершается с кодом выхода 1, не запуская сессию:

3001 3028 

3002```text wrap theme={null}3029```text wrap theme={null}

3003ENOSPC: no space left on device, mkdir '/tmp/claude-501'3030ENOSPC: no space left on device, mkdir '/tmp/claude-501'


3011 3038 

3012**Что делать:**3039**Что делать:**

3013 3040 

3014* Для `ENOSPC` освободите место на диске на томе, который содержит временный каталог3041* Для `ENOSPC` освободите место на томе, где находится временный каталог

3015* Для форм `Refusing to use it` удалите саму названную запись, а не то, на что указывает ссылка, и запустите Claude Code снова; для формы `owned by uid` только администратор или этот пользователь могут удалить её3042* Для форм с `Refusing to use it` удалите сам названный элемент, а не то, на что указывает ссылка, и снова запустите Claude Code; для формы `owned by uid` удалить его может только администратор или этот пользователь

3016* Для `is not readable` запустите `chmod 0700` на названном каталоге или удалите его и запустите снова3043* Для `is not readable` выполните `chmod 0700` для названного каталога либо удалите его и запустите снова

3017* В любом из этих случаев установите [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars) на каталог, который вы контролируете, и запустите Claude Code снова, оставив отклонённый путь в покое3044* В любом из этих случаев задайте в [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars) каталог, которым вы управляете, и снова запустите Claude Code, не трогая отклонённый путь

3018 3045 

3019<h3 id="directory-couldnt-be-resolved-to-a-real-location">3046<h3 id="directory-couldnt-be-resolved-to-a-real-location">

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

3021</h3>3048</h3>

3022 3049 

3023Вы запустили `/add-dir` для подкаталога вашего рабочего каталога, и Claude Code не смог разрешить каталог в его реальное местоположение.3050Вы выполнили `/add-dir` для подкаталога вашего рабочего каталога, и Claude Code не смог определить реальное расположение этого каталога.

3024 3051 

3025У вас уже есть доступ к файлам подкаталога рабочего каталога, поэтому `/add-dir` только загружает его skills, команды и агентов. Перед загрузкой Claude Code проверяет, что реальное местоположение каталога, с разрешёнными любыми символическими ссылками, находится внутри рабочего каталога. Когда Claude Code не может разрешить это местоположение, он ничего не загружает и показывает это сообщение:3052У вас уже есть доступ к файлам в подкаталоге рабочего каталога, поэтому `/add-dir` только загружает его скиллы, команды и агентов. Перед их загрузкой Claude Code проверяет, что реальное расположение каталога, с разрешёнными символическими ссылками, находится внутри рабочего каталога. Если Claude Code не может определить это расположение, он ничего не загружает и показывает это сообщение:

3026 3053 

3027```text theme={null}3054```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.3055packages/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 3057 

3031**Что делать:**3058**Что делать:**

3032 3059 

3033* Проверьте, что путь указывает на реальный каталог внутри рабочего каталога, затем запустите `/add-dir` снова3060* Убедитесь, что путь указывает на реальный каталог внутри рабочего каталога, затем снова выполните `/add-dir`

3034* Сообщение не изменяет ваш доступ к файлам; оно только сообщает, что содержимое `.claude/` каталога не было загружено3061* Сообщение не меняет ваш доступ к файлам; оно лишь сообщает, что содержимое `.claude/` этого каталога не было загружено

3035 3062 

3036До версии v2.1.261 это сообщение также появлялось для каждого `/add-dir <subdirectory>`, когда рабочий каталог находился на автомонтировании `/net/<host>`, где Claude Code отказывается разрешать пути по дизайну; каталог был в порядке и повторная попытка не могла помочь.3063До v2.1.261 это сообщение также появлялось для каждого `/add-dir <subdirectory>`, когда рабочий каталог находился на автомонтировании `/net/<host>`, где Claude Code намеренно не разрешает пути; с каталогом всё было в порядке, и повторная попытка не могла помочь.

3037 3064 

3038<h3 id="workspace-not-trusted-when-starting-remote-control">3065<h3 id="workspace-not-trusted-when-starting-remote-control">

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

3040</h3>3067</h3>

3041 3068 

3042Вы запустили сервер [Remote Control](/docs/ru/remote-control) в режиме с `claude remote-control` или его псевдонимом `claude rc` в каталоге, которому вы не доверяете, и команда не смогла спросить вас, доверяете ли вы ему. Например, стандартный ввод или стандартный вывод команды не является терминалом, потому что один из них перенаправлен или передан по конвейеру. Команда завершает работу с кодом 1:3069Вы запустили серверный режим [Remote Control](/docs/ru/remote-control) с помощью `claude remote-control` или его псевдонима `claude rc` в каталоге, которому вы не доверяли, и команда не смогла спросить вас, доверять ли ему. Например, стандартный ввод или стандартный вывод команды не является терминалом, потому что один из них перенаправлен или передан через конвейер. Команда завершается с кодом выхода 1:

3043 3070 

3044```text theme={null}3071```text theme={null}

3045Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.3072Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

3046```3073```

3047 3074 

3048Два варианта, которые также начинаются с `Error: Workspace not trusted.`, появляются и в терминале, который слишком мал для отображения того, что включает доверие к каталогу, или в терминале, который не сообщил свой размер. Увеличьте окно или переключитесь на обычное окно терминала, затем запустите `claude rc` снова.3075Два варианта, которые также начинаются с `Error: Workspace not trusted.`, появляются в терминале, который слишком мал, чтобы показать, что включает доверие к каталогу, или который не сообщил свой размер. Увеличьте окно или переключитесь на обычное окно терминала, затем снова выполните `claude rc`.

3049 3076 

3050В вашем домашнем каталоге сообщение отличается, потому что диалог доверия рабочего пространства никогда не сохраняет доверие для домашнего каталога, поэтому принятие его там не может удовлетворить эту проверку. До версии v2.1.214 домашний каталог показывал сообщение выше, совет которого не может там сработать.3077В домашнем каталоге сообщение другое, потому что диалоговое окно доверия к рабочему пространству никогда не сохраняет доверие для домашнего каталога, так что его принятие там не может удовлетворить эту проверку. До v2.1.214 в домашнем каталоге показывалось сообщение выше, совет из которого там не может сработать.

3051 3078 

3052```text theme={null}3079```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).3080Error: 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```3081```

3055 3082 

3056Если вы ответите `n` или нажмёте Enter на вопрос [`Trust <directory>?`](/docs/ru/remote-control#requirements), команда выведет сообщение `Remote Control did not start`, которое указывает каталог и завершит работу с кодом 1. Запустите `claude rc` снова, чтобы ответить `y`.3083Если вы ответите `n` или нажмёте Enter на [вопрос `Trust <directory>?`](/docs/ru/remote-control#requirements), команда выведет сообщение `Remote Control did not start` с названием каталога и завершится с кодом выхода 1. Снова выполните `claude rc`, чтобы ответить `y`.

3057 3084 

3058**Что делать:**3085**Что делать:**

3059 3086 

3060* Сначала доверьте каталогу из терминала: запустите `claude rc` там и ответьте `y`, или запустите `claude` там и примите [диалог доверия рабочего пространства](/docs/ru/permissions#project-allow-rules-and-workspace-trust), затем запустите вашу исходную команду снова3087* Сначала отметьте каталог как доверенный из терминала: выполните там `claude rc` и ответьте `y` или выполните там `claude` и примите [диалоговое окно доверия к рабочему пространству](/docs/ru/permissions#project-allow-rules-and-workspace-trust), затем снова выполните исходную команду

3061* В вашем домашнем каталоге перейдите в проектный каталог и запустите Remote Control там3088* В домашнем каталоге перейдите в каталог проекта и запустите Remote Control там

3062 3089 

3063До версии v2.1.284 команда никогда не спрашивала, даже в терминале.3090До v2.1.284 команда никогда не задавала вопрос, даже в терминале.

3064 3091 

3065<h3 id="not-carried-over-to-the-sessions-remote-control-starts">3092<h3 id="not-carried-over-to-the-sessions-remote-control-starts">

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

3067</h3>3094</h3>

3068 3095 

3069Вы запустили [Remote Control](/docs/ru/remote-control) с глобальным флагом `claude` перед глаголом `remote-control`, флагом, который ограничивал бы или конфигурировал сеансы, которые запускает Remote Control, такой как `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` или `--mcp-config`. Флаг, размещённый перед глаголом, никогда не достигает этих сеансов. Claude Code отказывает запуститься вместо этого, указывая флаг:3096Вы запустили [Remote Control](/docs/ru/remote-control) с глобальным флагом `claude` перед глаголом `remote-control` — таким, который ограничивал бы или настраивал сессии, запускаемые Remote Control, например `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` или `--mcp-config`. Флаг, указанный перед глаголом, никогда не доходит до этих сессий. Вместо этого Claude Code отказывается запускаться и называет флаг:

3070 3097 

3071```text theme={null}3098```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`).3099Error: `--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```3100```

3074 3101 

3075Claude Code не отказывает глобальные флаги, которые безопасно отбросить, такие как `--verbose`, `--model` или введённые оболочкой `--session-id` или `--plugin-dir`: он их игнорирует и Remote Control запускается.3102Claude Code не отклоняет глобальные флаги, которые безопасно отбросить, например `--verbose`, `--model` или добавленные обёрткой `--session-id` или `--plugin-dir`: он их игнорирует, и Remote Control запускается.

3076 3103 

3077Claude Code также отказывает запуститься для глобального флага, который он ещё не признал безопасным, поэтому флаг, добавленный в более новом выпуске, может появиться в этом сообщении до более позднего выпуска, который его отметит как безопасный.3104Claude Code также отказывается запускаться при глобальном флаге, который он пока не считает безопасным, поэтому флаг, добавленный в более новом выпуске, может появляться в этом сообщении, пока более поздний выпуск не пометит его как безопасный.

3078 3105 

3079**Что делать:**3106**Что делать:**

3080 3107 

3081* Удалите флаг перед глаголом и передайте [собственные параметры Remote Control](/docs/ru/remote-control#start-a-remote-control-session) после него; `claude remote-control --help` их перечисляет3108* Уберите флаг перед глаголом и передайте [собственные параметры 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 Control3109* Если отклонённый флаг — `--permission-mode`, выполните `claude remote-control --permission-mode <mode>`, чтобы задать режим разрешений для сессий, которые запускает Remote Control

3083 3110 

3084До версии v2.1.248 `claude remote-control` не принимал свои флаги, когда глобальный флаг шёл первым, и команда не работала с ошибкой `unknown option`.3111До v2.1.248 `claude remote-control` не принимал собственные флаги, если первым шёл глобальный флаг, и команда завершалась ошибкой `unknown option`.

3085 3112 

3086<h3 id="claude-import-is-not-yet-available-in-this-build">3113<h3 id="claude-import-is-not-yet-available-in-this-build">

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

3088</h3>3115</h3>

3089 3116 

3090Вы запустили [`claude import`](/docs/ru/cli-reference#cli-commands), и Claude Code обнаружил, что поток импорта отключен, поэтому команда завершает работу с кодом 1 вместо запуска импорта. До версии v2.1.222 сборка с отключённым потоком импорта рассматривала `import` как приглашение и запускала интерактивный сеанс вместо вывода этого сообщения.3117Вы выполнили [`claude import`](/docs/ru/cli-reference#cli-commands), и Claude Code обнаружил, что процесс импорта отключён, поэтому команда завершается с кодом выхода 1 вместо запуска импорта. До v2.1.222 сборка с отключённым процессом импорта воспринимала `import` как промпт и вместо вывода этого сообщения запускала интерактивную сессию.

3091 3118 

3092```text theme={null}3119```text theme={null}

3093`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.3120`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.

3094```3121```

3095 3122 

3096Claude Code включает `claude import` через флаг функции, который он получает от Anthropic и кэширует на диске. Это сообщение означает, что кэшированное значение отключено. Причина обычно одна из следующих:3123Claude Code включает `claude import` через флаг функции, который он получает от Anthropic и кэширует на диске. Это сообщение означает, что кэшированное значение выключено. Обычно причина одна из следующих:

3097 3124 

3098* Вы не запустили сеанс с момента установки, поэтому Claude Code ещё не получил флаг. Первый `claude import` может вывести это даже когда функция доступна вам.3125* Вы не запускали сессию после установки, поэтому 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` остаётся недоступным.3126* Вы используете 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` остаётся недоступным.3127* Вы задали `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` или [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ru/env-vars), которые отключают получение флагов функций, поэтому `claude import` остаётся недоступным.

3101 3128 

3102**Что делать:**3129**Что делать:**

3103 3130 

3104* На свежей установке запустите `claude`, дождитесь загрузки сеанса, выйдите и запустите `claude import` снова3131* В новой установке запустите `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 из него.3132* Если получение флагов функций остаётся отключённым, настройте конфигурацию самостоятельно: добавьте 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 3133 

3107<h3 id="could-not-read-claude-code-config">3134<h3 id="could-not-read-claude-code-config">

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

3109</h3>3136</h3>

3110 3137 

3111Вы запустили [`claude import`](/docs/ru/cli-reference#cli-commands) в то время как Claude Code не мог анализировать `~/.claude.json`, файл, где он хранит вашу учётную запись и состояние для каждого проекта. Подкоманда читает этот файл для проверки доступности, но не показывает диалог восстановления, который показывает интерактивный сеанс, поэтому завершает работу с кодом 1. До версии v2.1.222 `claude import` с нечитаемым файлом конфигурации запускал интерактивный сеанс, диалог восстановления которого обрабатывал файл.3138Вы выполнили [`claude import`](/docs/ru/cli-reference#cli-commands), когда Claude Code не мог разобрать `~/.claude.json` — файл, в котором он хранит ваш вход в систему и состояние для каждого проекта. Подкоманда читает этот файл для проверки доступности, но не показывает диалоговое окно восстановления, которое показывает интерактивная сессия, поэтому завершается с кодом выхода 1. До v2.1.222 `claude import` с нечитаемым файлом конфигурации запускал интерактивную сессию, диалоговое окно восстановления которой обрабатывало файл.

3112 3139 

3113```text theme={null}3140```text theme={null}

3114Could not read Claude Code config — run `claude` with no arguments to recover it.3141Could not read Claude Code config — run `claude` with no arguments to recover it.


3116 3143 

3117**Что делать:**3144**Что делать:**

3118 3145 

3119* Запустите `claude` без аргументов. Claude Code обнаруживает недействительный файл и предлагает его сбросить. Затем запустите `claude import` снова.3146* Выполните `claude` без аргументов. Claude Code обнаружит недопустимый файл и предложит сбросить его. Затем снова выполните `claude import`.

3120* Чтобы сохранить ручные правки, которые вы сделали, исправьте синтаксис JSON в `~/.claude.json` в редакторе вместо этого, затем повторно запустите `claude import`3147* Чтобы сохранить внесённые вручную изменения, вместо этого исправьте синтаксис JSON в `~/.claude.json` в редакторе, затем снова выполните `claude import`

3121 3148 

3122<h3 id="could-not-import-a-server-from-claude-desktop">3149<h3 id="could-not-import-a-server-from-claude-desktop">

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

3124</h3>3151</h3>

3125 3152 

3126Claude Code не смог добавить один из серверов, которые вы выбрали в `claude mcp add-from-claude-desktop`. Команда всё ещё импортирует другие выбранные серверы и выводит одну строку на сервер, который не смог добавить. До версии v2.1.205 первый сервер, который не прошёл, останавливал импорт.3153Claude Code не смог добавить один из серверов, выбранных вами в `claude mcp add-from-claude-desktop`. Команда всё равно импортирует остальные выбранные серверы и выводит по одной строке для каждого сервера, который не удалось добавить. До v2.1.205 первый сервер с ошибкой останавливал импорт.

3127 3154 

3128```text theme={null}3155```text theme={null}

3129Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.3156Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.

3130```3157```

3131 3158 

3132Текст после имени сервера — это причина. Наиболее распространённая — это проверка имени: Claude Desktop позволяет символы в именах серверов, такие как пробелы и точки, которые `claude mcp` ограничивает буквами, цифрами, дефисами и подчёркиваниями. Другие причины включают конфигурацию сервера, которая не проходит валидацию, и сервер, заблокированный [политикой MCP](/docs/ru/managed-mcp) вашей организации.3159Текст после имени сервера — это причина. Самая распространённая — проверка имени: Claude Desktop допускает в именах серверов символы, например пробелы и точки, тогда как `claude mcp` ограничивает их буквами, цифрами, дефисами и подчёркиваниями. Другие причины включают конфигурацию сервера, не прошедшую валидацию, и сервер, заблокированный [политикой MCP](/docs/ru/managed-mcp) вашей организации.

3133 3160 

3134**Что делать:**3161**Что делать:**

3135 3162 

3136* Переименуйте сервер в `claude_desktop_config.json`, чтобы использовать только буквы, цифры, дефисы и подчёркивания, затем запустите `claude mcp add-from-claude-desktop` снова3163* Переименуйте сервер в `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).3164* Добавьте этот сервер напрямую с помощью `claude mcp add` или `claude mcp add-json` под допустимым именем. См. [Импорт MCP-серверов из Claude Desktop](/docs/ru/mcp#import-mcp-servers-from-claude-desktop).

3138 3165 

3139<h3 id="cannot-add-mcp-server-to-the-managed-scope">3166<h3 id="cannot-add-mcp-server-to-the-managed-scope">

3140 Не удалось добавить сервер MCP в управляемую область3167 Невозможно добавить MCP-сервер в управляемую область действия

3141</h3>3168</h3>

3142 3169 

3143Вы запустили `claude mcp add` или `claude mcp add-json` с `--scope managed`. Эта область содержит серверы, которые ваша организация предоставляет через управляемый параметр [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers). Claude Code читает их из управляемых параметров только, поэтому команда не может записать сервер в эту область.3170Вы выполнили `claude mcp add` или `claude mcp add-json` с `--scope managed`. Эта область действия содержит серверы, которые ваша организация предоставляет через управляемую настройку [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers). Claude Code читает их только из управляемых настроек, поэтому команда не может записать сервер в эту область действия.

3144 3171 

3145```text theme={null}3172```text theme={null}

3146Cannot add MCP server to scope: managed3173Cannot add MCP server to scope: managed


3148 3175 

3149**Что делать:**3176**Что делать:**

3150 3177 

3151* Добавьте сервер в область, в которую вы можете писать: `local`, `user` или `project`. Без `--scope` команда использует `local`. См. [MCP installation scopes](/docs/ru/mcp#mcp-installation-scopes)3178* Добавьте сервер в область действия, доступную для записи: `local`, `user` или `project`. Без `--scope` команда использует `local`. См. [Области действия установки MCP](/docs/ru/mcp#mcp-installation-scopes)

3152* Чтобы предоставить сервер каждому пользователю в вашей организации, добавьте его в [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers) в управляемых параметрах, которые вы развёртываете3179* Чтобы предоставить сервер каждому пользователю в вашей организации, добавьте его в [`managedMcpServers`](/docs/ru/settings-reference#managedmcpservers) в развёртываемых вами управляемых настройках

3153 3180 

3154<h3 id="cant-read-mcp-json">3181<h3 id="cant-read-mcp-json">

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

3156</h3>3183</h3>

3157 3184 

3158Команда, которая читает проект [`.mcp.json`](/docs/ru/mcp#project-scope), такая как `claude mcp add` или `claude mcp add-json` с `--scope project`, или `claude mcp remove`, обнаружила, что файл в вашем текущем каталоге не является обычным файлом или больше 2 MiB, поэтому завершает работу с этой ошибкой вместо чтения файла.3185Команда, которая читает [`.mcp.json`](/docs/ru/mcp#project-scope) проекта, например `claude mcp add` или `claude mcp add-json` с `--scope project` либо `claude mcp remove`, обнаружила, что файл в текущем каталоге не является обычным файлом или больше 2 MiB, поэтому завершается с этой ошибкой вместо чтения файла.

3159 3186 

3160```text theme={null}3187```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.3188Can'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```3189```

3163 3190 

3164До версии v2.1.257 FIFO в `.mcp.json` оставлял команду ждущей вечно без вывода, и символическая ссылка на файл устройства, такой как `/dev/zero`, увеличивала память до тех пор, пока процесс не был убит.3191До v2.1.257 FIFO на месте `.mcp.json` заставлял команду бесконечно ждать без вывода, а символическая ссылка на файл устройства вроде `/dev/zero` увеличивала потребление памяти, пока процесс не был принудительно завершён.

3165 3192 

3166**Что делать:**3193**Что делать:**

3167 3194 

3168* Проверьте, что находится в `.mcp.json` в вашем текущем каталоге. Замените его обычным файлом JSON в [формате project-scope](/docs/ru/mcp#project-scope) или удалите его, затем запустите команду снова.3195* Проверьте, что находится по пути `.mcp.json` в текущем каталоге. Замените это обычным JSON-файлом в [формате области действия проекта](/docs/ru/mcp#project-scope) или удалите, затем снова выполните команду.

3169 3196 

3170<h3 id="mcp-server-was-not-saved-or-removed">3197<h3 id="mcp-server-was-not-saved-or-removed">

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

3172</h3>3199</h3>

3173 3200 

3174Вы запустили `claude mcp add`, `claude mcp add-json` или `claude mcp remove` для сервера в области `user` или `local` [scope](/docs/ru/mcp#mcp-installation-scopes). Обе области хранятся в `~/.claude.json`, и изменение не находится в этом файле, когда Claude Code читает его обратно после записи. Команда завершает работу с этой ошибкой вместо своей строки успеха.3201Вы выполнили `claude mcp add`, `claude mcp add-json` или `claude mcp remove` для сервера в [области действия](/docs/ru/mcp#mcp-installation-scopes) `user` или `local`. Обе области действия хранятся в `~/.claude.json`, и изменения нет в этом файле, когда Claude Code считывает его обратно после записи. Команда завершается с этой ошибкой вместо строки об успехе.

3175 3202 

3176```text theme={null}3203```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.3204MCP 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```3205```

3179 3206 

3180После удаления сообщение читает `was not removed from` и заканчивается с `then remove the server again`. Для сервера `local`-scope путь сопровождается каталогом проекта, к которому принадлежит запись, как `(local scope for /path/to/project)`.3207После удаления сообщение содержит `was not removed from` и заканчивается на `then remove the server again`. Для сервера с областью действия `local` за путём следует каталог проекта, к которому относится запись, в виде `(local scope for /path/to/project)`.

3181 3208 

3182До версии v2.1.283 `claude mcp add`, `claude mcp add-json` и `claude mcp remove` сообщали об успехе даже когда изменение не достигало файла.3209До v2.1.283 `claude mcp add`, `claude mcp add-json` и `claude mcp remove` сообщали об успехе, даже если изменение не попадало в файл.

3183 3210 

3184**Что делать:**3211**Что делать:**

3185 3212 

3186* Сделайте файл, который указывает сообщение, доступным для записи, или запустите команду вне песочницы, затем запустите ту же команду добавления или удаления снова.3213* Сделайте названный в сообщении файл доступным для записи или выполните команду вне песочницы, затем снова выполните ту же команду добавления или удаления.

3187 3214 

3188<h3 id="mcp-server-may-not-have-been-saved-or-removed">3215<h3 id="mcp-server-may-not-have-been-saved-or-removed">

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

3190</h3>3217</h3>

3191 3218 

3192Вы запустили `claude mcp add`, `claude mcp add-json` или `claude mcp remove` для сервера в области `user` или `local` [scope](/docs/ru/mcp#mcp-installation-scopes), и Claude Code не смог прочитать `~/.claude.json` обратно для подтверждения изменения. Изменение может быть или не быть на диске. Текст в скобках — это ошибка из этого чтения.3219Вы выполнили `claude mcp add`, `claude mcp add-json` или `claude mcp remove` для сервера в [области действия](/docs/ru/mcp#mcp-installation-scopes) `user` или `local`, и Claude Code не смог считать `~/.claude.json` обратно, чтобы подтвердить изменение. Изменение может быть, а может и не быть на диске. Текст в скобках — это ошибка этого чтения.

3193 3220 

3194```text theme={null}3221```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.3222MCP 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```3223```

3197 3224 

3198После удаления сообщение читает `may not have been removed` и заканчивается с `then remove the server again if it is still listed`.3225После удаления сообщение содержит `may not have been removed` и заканчивается на `then remove the server again if it is still listed`.

3199 3226 

3200До версии v2.1.283 команды сообщали об успехе даже когда изменение не могло быть подтверждено.3227До v2.1.283 команды сообщали об успехе, даже если изменение не удавалось подтвердить.

3201 3228 

3202**Что делать:**3229**Что делать:**

3203 3230 

3204* Запустите `claude mcp get <name>` для проверки того, находится ли изменение на диске. Для сервера `local`-scope запустите его из каталога проекта, к которому принадлежит сервер, так как локальная область — это для каждого проекта.3231* Выполните `claude mcp get <name>`, чтобы проверить, есть ли изменение на диске. Для сервера с областью действия `local` выполните её из каталога проекта, к которому относится сервер, поскольку локальная область действия задаётся для каждого проекта отдельно.

3205* Если сервер отсутствует после добавления или всё ещё указан после удаления, запустите ту же команду добавления или удаления снова.3232* Если после добавления сервер отсутствует или после удаления по-прежнему присутствует в списке, снова выполните ту же команду добавления или удаления.

3206 3233 

3207<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">3234<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">

3208 Сервер размещён Anthropic и не поддерживает локальный OAuth3235 Сервер размещён Anthropic и не поддерживает локальный OAuth

3209</h3>3236</h3>

3210 3237 

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).3238Вы начали вход для 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 3239 

3213```text theme={null}3240```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.3241"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```3242```

3216 3243 

3217Claude Code сопоставляет эти хосты по URL, поэтому сообщение появляется, когда сервер, который вы добавили с `claude mcp add` или в `.mcp.json`, указывает на один из них.

3218 

3219**Что делать:**3244**Что делать:**

3220 3245 

3221* Удалите вашу запись с `claude mcp remove <name>`, чтобы она не могла скрыть соединитель claude.ai по тому же URL3246* Удалите свою запись с помощью `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.ai3247* После удаления подключите сервис на [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 3248 

3224<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">3249<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">

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

3226</h3>3251</h3>

3227 3252 

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) для сервера:3253MCP-сервер, для которого заголовок `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 3254 

3230```text theme={null}3255```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.3256Server 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```3257```

3233 3258 

3234Claude Code повторно запускает помощника при каждой попытке соединения, поэтому повторная попытка после временного отклонения, такого как гонка ротации токена, может успешно выполниться с новым учётным данным.3259Claude Code заново запускает хелпер при каждой попытке подключения, поэтому повторная попытка после временного отказа, например из-за гонки при ротации токена, может завершиться успешно со свежими учётными данными.

3235 3260 

3236**Что делать:**3261**Что делать:**

3237 3262 

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`, которое принимает конечная точка сервера3263* Запустите команду `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**3264* После исправления хелпера или источника его учётных данных выберите сервер в `/mcp` и нажмите **Reconnect**

3240 3265 

3241До версии v2.1.248 Claude Code запускал обнаружение OAuth для сервера, чей помощник предоставлял заголовок `Authorization`. Это обнаружение могло не пройти с `Incompatible auth server: does not support dynamic client registration` вместо сообщения об отклонённом учётном данном.3266До v2.1.248 Claude Code выполнял обнаружение OAuth для сервера, хелпер которого предоставлял заголовок `Authorization`. Это обнаружение могло завершиться ошибкой `Incompatible auth server: does not support dynamic client registration` вместо сообщения об отклонённых учётных данных.

3242 3267 

3243<h3 id="mcp-permission-prompt-tool-not-found">3268<h3 id="mcp-permission-prompt-tool-not-found">

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

3245</h3>3270</h3>

3246 3271 

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 запуск не ждал завершения подключения сервера, поэтому медленно запускающийся, но здоровый сервер выдавал эту ошибку тоже.3272Инструмента, переданного в [`--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 3273 

3249```text theme={null}3274```text theme={null}

3250Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none3275Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none

3251```3276```

3252 3277 

3253Список после `Available MCP tools:` указывает инструменты MCP, которые были подключены.3278Список после `Available MCP tools:` называет инструменты MCP, которые были подключены.

3254 3279 

3255**Что делать:**3280**Что делать:**

3256 3281 

3257* Проверьте, что сервер запускается и остаётся подключённым: запустите `claude mcp list` в том же каталоге и подтвердите, что сервер указан как подключённый3282* Убедитесь, что сервер запускается и остаётся подключённым: выполните `claude mcp list` в том же каталоге и проверьте, что сервер указан как подключённый

3258* Подтвердите, что имя инструмента соответствует имени `mcp__<server>__<tool>`, которое предоставляет сервер3283* Убедитесь, что имя инструмента совпадает с именем `mcp__<server>__<tool>`, которое предоставляет сервер

3259* Если серверу требуется больше 30 секунд для запуска, увеличьте [`MCP_TIMEOUT`](/docs/ru/env-vars)3284* Если серверу для запуска нужно больше 30 секунд, увеличьте [`MCP_TIMEOUT`](/docs/ru/env-vars)

3260 3285 

3261<h3 id="oauth-callback-port-is-already-in-use">3286<h3 id="oauth-callback-port-is-already-in-use">

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

3263</h3>3288</h3>

3264 3289 

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 выбирает доступный порт.3290Когда вы входите в удалённый 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 3291 

3267```text theme={null}3292```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.3293OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.

3269```3294```

3270 3295 

3271На Windows предложенная команда вместо этого `netstat -ano | findstr :<port>`.3296В Windows вместо этого предлагается команда `netstat -ano | findstr :<port>`.

3272 3297 

3273**Что делать:**3298**Что делать:**

3274 3299 

3275* Запустите команду из сообщения, чтобы найти процесс, занимающий порт, и остановите его или дождитесь его завершения3300* Выполните команду из сообщения, чтобы найти процесс, занимающий порт, и остановите его или дождитесь его завершения

3276* Если другой программе постоянно нужен этот порт, зарегистрируйте другой URI перенаправления с сервером и установите его порт с `MCP_OAUTH_CALLBACK_PORT` или `--callback-port`, в зависимости от того, что вы используете3301* Если этот порт постоянно нужен другой программе, зарегистрируйте на сервере другой URI перенаправления и задайте его порт с помощью `MCP_OAUTH_CALLBACK_PORT` или `--callback-port` — того, что вы используете

3277* Затем запустите вход снова, например выбрав сервер в `/mcp`3302* Затем снова начните вход, например выбрав сервер в `/mcp`

3278 3303 

3279<h3 id="no-available-ports-for-oauth-redirect">3304<h3 id="no-available-ports-for-oauth-redirect">

3280 Нет доступных портов для перенаправления OAuth3305 Нет доступных портов для перенаправления OAuth

3281</h3>3306</h3>

3282 3307 

3283Когда вы входите на удалённый сервер MCP с [OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers), Claude Code запускает локальный слушатель для получения обратного вызова входа. Вход не работает с этим сообщением, когда Claude Code не может привязать локальный порт для него. Что-то на машине препятствует прослушиванию на `127.0.0.1`, например программное обеспечение безопасности или политика песочницы, которая запрещает локальные слушатели.3308Когда вы входите в удалённый MCP-сервер через [OAuth](/docs/ru/mcp#authenticate-with-remote-mcp-servers), Claude Code запускает локальный прослушиватель для получения обратного вызова входа. Вход завершается этим сообщением, когда Claude Code не может привязать для него локальный порт. Что-то на компьютере мешает ему прослушивать `127.0.0.1`, например защитное ПО или политика песочницы, запрещающая локальные прослушиватели.

3284 3309 

3285```text theme={null}3310```text theme={null}

3286No available ports for OAuth redirect3311No available ports for OAuth redirect

3287```3312```

3288 3313 

3289До версии v2.1.268 Claude Code не переходил на порт, назначенный операционной системой, поэтому сообщение также появлялось, когда только самостоятельно выбранные порты не могли быть привязаны. Это может произойти на хостах Windows, где Hyper-V резервирует диапазоны портов, которые охватывают порты, которые Claude Code выбирает.3314До v2.1.268 Claude Code не переключался на порт, назначаемый операционной системой, поэтому сообщение также появлялось, когда не удавалось привязать только выбранные им самим порты. Такое может происходить на хостах Windows, где Hyper-V резервирует диапазоны портов, охватывающие порты, из которых выбирает Claude Code.

3290 3315 

3291**Что делать:**3316**Что делать:**

3292 3317 

3293* Проверьте, блокирует ли программное обеспечение безопасности или политика песочницы процессы от прослушивания на `127.0.0.1`, и разрешите Claude Code привязать локальный порт3318* Проверьте, не блокирует ли защитное ПО или политика песочницы прослушивание `127.0.0.1` процессами, и разрешите Claude Code привязывать локальный порт

3294* Затем запустите вход снова, например выбрав сервер в `/mcp`3319* Затем снова начните вход, например выбрав сервер в `/mcp`

3295 3320 

3296<h3 id="security-review-fails-without-origin-head">3321<h3 id="security-review-fails-without-origin-head">

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

3298</h3>3323</h3>

3299 3324 

3300[`/security-review`](/docs/ru/commands#all-commands) строит контекст своего обзора, сравнивая вашу ветку с `origin/HEAD`, локальной ссылкой, которая записывает, какая ветка является стандартной на вашем удалённом `origin`. Когда эта ссылка не существует, команды git, которые собирают diff, не работают и обзор останавливается перед началом.3325[`/security-review`](/docs/ru/commands#all-commands) формирует контекст ревью, вычисляя diff вашей ветки относительно `origin/HEAD` — локальной ссылки, которая записывает, какая ветка является веткой по умолчанию в вашем удалённом репозитории `origin`. Когда этой ссылки нет, git-команды, собирающие diff, завершаются ошибкой, и ревью останавливается, не начавшись.

3301 3326 

3302```text theme={null}3327```text theme={null}

3303Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]3328Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]


3306'git <command> [<revision>...] -- [<file>...]'3331'git <command> [<revision>...] -- [<file>...]'

3307```3332```

3308 3333 

3309Сообщение может цитировать `git log` или другой `git diff` вместо этого. Git создаёт `origin/HEAD` только когда удалённый сервер объявляет стандартную ветку и ваш refspec получения её охватывает, что полный `git clone` удалённого с коммитами делает. Ссылка отсутствует в этих установках:3334В сообщении вместо этого может цитироваться `git log` или другая команда `git diff`. Git создаёт `origin/HEAD`, только когда удалённый репозиторий объявляет ветку по умолчанию и ваш refspec для fetch её охватывает, что происходит при полном `git clone` удалённого репозитория с коммитами. Ссылка отсутствует в следующих конфигурациях:

3310 3335 

3311* Получение одной ветки или получение CI, которое получает слишком узкий refspec3336* Однобранчевый checkout или checkout в CI, который получает слишком узкий refspec

3312* Удалённый сервер, чей HEAD на стороне сервера указывает на ветку, которую никто не отправил3337* Удалённый репозиторий, HEAD которого на сервере указывает на ветку, которую никто не отправлял

3313* Репозиторий без удалённого `origin` или того, из которого вы никогда не получали3338* Репозиторий без удалённого репозитория `origin` или такой, из которого вы ни разу не выполняли fetch

3314 3339 

3315Claude Code показывает ту же ошибку для любого skill, который [вводит динамический контекст](/docs/ru/skills#when-an-injected-command-fails), и неудачная введённая команда прерывает вызов этого skill. Две похожие строки срабатывают перед запуском команды вообще:3340Claude Code показывает ту же ошибку для любого скилла, который [внедряет динамический контекст](/docs/ru/skills#when-an-injected-command-fails), и неудачно выполненная внедрённая команда прерывает вызов этого скилла. Две родственные строки срабатывают ещё до выполнения команды:

3316 3341 

3317* `Shell command permission check failed for pattern "..."`: проверка разрешения команды не позволила это. [Permission checks on injected commands](/docs/ru/skills#permission-checks-on-injected-commands) охватывает, какие результаты прерывают в каждом режиме разрешений и как предварительно одобрить команду с `allowed-tools`3342* `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)3343* ``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 3344 

3320**Что делать:**3345**Что делать:**

3321 3346 

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`.3347* Создайте ссылку, указав ветку по умолчанию вашего удалённого репозитория: `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 как выше.3348* Если вы не хотите указывать ветку, выполните `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 до тех пор, пока ветка не отличается от неё.3349* Если у репозитория нет удалённого репозитория, добавьте его с помощью `git remote add origin <url>` и выполните fetch перед созданием ссылки. Если удалённый репозиторий пуст, сначала отправьте свою ветку с помощью `git push -u origin HEAD` и укажите эту ветку в команде set-head; тогда `origin/HEAD` будет указывать на только что отправленную ветку, поэтому `/security-review` будет видеть пустой diff, пока ваша ветка от неё не разойдётся.

3325 3350 

3326<h3 id="input-must-be-provided-when-using-print">3351<h3 id="input-must-be-provided-when-using-print">

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

3328</h3>3353</h3>

3329 3354 

3330Bare `claude` нужен stdout, чтобы быть терминалом для запуска интерактивного UI. Когда stdout перенаправлен или консоль не является реальным терминалом, такой как PowerShell ISE и некоторые панели вывода IDE, `claude` запускает [неинтерактивно](/docs/ru/headless) вместо этого. Это тот же режим, что и `claude -p`, который требует приглашение, поэтому сообщение указывает `--print` даже когда вы не передали флаг. Передача `-p`/`--print` без приглашения и ничего не передано на stdin выдаёт ту же ошибку везде.3355Для запуска интерактивного интерфейса `claude` без аргументов требуется, чтобы stdout был терминалом. Когда stdout перенаправлен или консоль не является настоящим терминалом, как в PowerShell ISE и некоторых панелях вывода IDE, `claude` вместо этого работает в [неинтерактивном режиме](/docs/ru/headless). Это тот же режим, что и `claude -p`, которому требуется промпт, поэтому сообщение называет `--print`, даже если вы не передавали этот флаг. Передача `-p`/`--print` без промпта и без данных через конвейер в stdin вызывает ту же ошибку где угодно.

3331 3356 

3332```text theme={null}3357```text theme={null}

3333Error: Input must be provided either through stdin or as a prompt argument when using --print3358Error: Input must be provided either through stdin or as a prompt argument when using --print


3335 3360 

3336**Что делать:**3361**Что делать:**

3337 3362 

3338* Для интерактивного использования запустите `claude` в реальном терминале: Windows Terminal или консоль PowerShell вместо ISE и интегрированный терминал вашего IDE вместо панели вывода3363* Для интерактивной работы запускайте `claude` в настоящем терминале: в Windows Terminal или консоли PowerShell, а не в ISE, и во встроенном терминале IDE, а не в панели вывода

3339* Для одноразового использования передайте приглашение: `claude -p "your question"` или передайте его с `echo "your question" | claude -p`3364* Для однократного использования передайте промпт: `claude -p "your question"` или передайте его через конвейер: `echo "your question" | claude -p`

3340 3365 

3341<h3 id="input-contained-only-whitespace">3366<h3 id="input-contained-only-whitespace">

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

3343</h3>3368</h3>

3344 3369 

3345В [неинтерактивном режиме](/docs/ru/headless) Claude Code отказывает приглашению, состоящему полностью из пробелов, табуляций или новых строк вместо его отправки, потому что API отклоняет сообщения без видимого текста. Какое сообщение вы видите, зависит от того, откуда пришло пустое приглашение:3370В [неинтерактивном режиме](/docs/ru/headless) Claude Code отклоняет промпт, состоящий только из пробелов, табуляций или переводов строк, вместо его отправки, потому что API отклоняет сообщения без видимого текста. Какое сообщение вы увидите, зависит от того, откуда пришёл пустой промпт:

3346 3371 

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`3372* **Аргумент промпта или 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.`3373* **Сообщение, отправленное в работающую сессию `--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 3374 

3350До версии v2.1.229 Claude Code отправлял сообщение только с пробелами в API, который отклонял запрос с ошибкой 400.3375До v2.1.229 Claude Code отправлял сообщение из одних пробельных символов в API, который отклонял запрос с ошибкой 400.

3351 3376 

3352**Что делать:**3377**Что делать:**

3353 3378 

3354* Включите видимый текст в приглашение. Если скрипт строит приглашение из переменной или файла, проверьте, что источник не пуст перед вызовом Claude Code.3379* Включите в промпт видимый текст. Если скрипт формирует промпт из переменной или файла, перед вызовом Claude Code проверьте, что источник не пуст.

3355 3380 

3356<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">3381<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">

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

3358</h3>3383</h3>

3359 3384 

3360Ваша программа отправила более 268,435,456 символов на stdin без новой строки в запуск `claude -p --input-format stream-json`, поэтому Claude Code выводит эту ошибку на stderr и завершает работу с кодом 1 вместо буферизации большего ввода. Сообщение указывает этот бюджет как `256M`. До версии v2.1.257 Claude Code буферизировал такой ввод без ограничений, увеличивая память до тех пор, пока процесс не упал или не был убит.3385Ваша программа отправила в stdin запуска `claude -p --input-format stream-json` более 268 435 456 символов без перевода строки, поэтому Claude Code выводит эту ошибку в stderr и завершается с кодом выхода 1 вместо буферизации дальнейшего ввода. В сообщении этот лимит указан как `256M`. До v2.1.257 Claude Code буферизовал такой ввод без ограничений, увеличивая потребление памяти, пока процесс не аварийно завершался или не был принудительно завершён.

3361 3386 

3362```text theme={null}3387```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.3388Error: 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```3389```

3365 3390 

3366Ввод такой длины без новой строки обычно означает, что производитель вообще не является производителем stream-json, такой как двоичный файл или простой вывод журнала, передаваемый случайно. Одно сообщение сверх бюджета не проходит ту же проверку.3391Ввод такой длины без перевода строки обычно означает, что источник вообще не является источником stream-json, например по ошибке через конвейер передан двоичный файл или обычный вывод лога. Отдельное сообщение, превышающее лимит, не проходит ту же проверку.

3367 3392 

3368**Что делать:**3393**Что делать:**

3369 3394 

3370* Проверьте, что передаётся на stdin. С [`--input-format stream-json`](/docs/ru/cli-reference#cli-flags) каждое сообщение должно быть одной строкой JSON, завершённой новой строкой3395* Проверьте, что передаётся в stdin. С [`--input-format stream-json`](/docs/ru/cli-reference#cli-flags) каждое сообщение должно быть одной JSON-строкой, завершающейся переводом строки

3371* Чтобы отправить простой текст вместо этого, удалите `--input-format stream-json`; `claude -p` читает простой текстовый запрос из stdin по умолчанию3396* Чтобы вместо этого отправить обычный текст, уберите `--input-format stream-json`; по умолчанию `claude -p` читает текстовый промпт из stdin

3372 3397 

3373<h3 id="unknown-command">3398<h3 id="unknown-command">

3374 Неизвестная команда3399 Неизвестная команда

3375</h3>3400</h3>

3376 3401 

3377В интерактивном сеансе терминала вы отправили имя `/`, которое не соответствует ни одной команде в этом сеансе, поэтому Claude Code сообщает имя вместо запуска чего-либо:3402В интерактивной сессии терминала вы отправили имя с `/`, которое не совпадает ни с одной командой в этой сессии, поэтому Claude Code сообщает это имя вместо выполнения чего-либо:

3378 3403 

3379```text theme={null}3404```text theme={null}

3380Unknown command: /hepl. Did you mean /help?3405Unknown command: /hepl. Did you mean /help?

3381```3406```

3382 3407 

3383Claude Code предлагает ближайшее имя команды или псевдоним, который меню указывает в этом сеансе. Когда ничего не близко, сообщение заканчивается после имени. Причина обычно одна из следующих:3408Claude Code предлагает ближайшее имя команды или псевдоним из тех, что перечислены в меню в этой сессии. Если близкого варианта нет, сообщение заканчивается после имени. Обычно причина одна из следующих:

3384 3409 

3385* Опечатка, такая как `/hepl` для `/help`. [How the command menu matches what you type](/docs/ru/commands#how-the-command-menu-matches-what-you-type) охватывает выбор близкого совпадения перед отправкой3410* Опечатка, например `/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)3411* Команда существует, но недоступна в этой сессии, потому что не выполнено какое-то требование, например к платформе, тарифу или способу аутентификации. Разделы устранения неполадок для [`/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), который не установлен или не подключен в этом сеансе3412* Команда из [плагина](/docs/ru/plugins/overview) или [MCP-сервера](/docs/ru/mcp#use-mcp-prompts-as-commands), который не установлен или не подключён в этой сессии

3388 3413 

3389Claude Code отвечает на несовпадающее имя `/` таким образом только в интерактивном сеансе терминала. В каждом другом сеансе он отправляет приглашение Claude как обычное сообщение вместо этого, с примечанием, что команда не запустилась и список команд, которые Claude может запустить в сеансе. Эти сеансы включают:3414Claude Code отвечает так на несовпавшее имя с `/` только в интерактивной сессии терминала. Во всех остальных сессиях он вместо этого отправляет промпт Claude как обычное сообщение с пометкой о том, что команда не выполнилась, и списком команд, которые Claude может выполнить в сессии. К таким сессиям относятся:

3390 3415 

3391* запуски `-p`3416* Запуски с `-p`

3392* приложения [Agent SDK](/docs/ru/agent-sdk/overview)3417* Приложения на [Agent SDK](/docs/ru/agent-sdk/overview)

3393* вкладка Code [Desktop app](/docs/ru/desktop)3418* Вкладка Code в [приложении Desktop](/docs/ru/desktop)

3394* панель чата [VS Code extension](/docs/ru/vs-code)3419* Панель чата [расширения VS Code](/docs/ru/vs-code)

3395* [облачные сеансы](/docs/ru/claude-code-on-the-web) и [routines](/docs/ru/routines)3420* [Облачные сессии](/docs/ru/claude-code-on-the-web) и [routines](/docs/ru/routines)

3396 3421 

3397Для встроенной команды, которая не может запуститься в одном из этих сеансов, Claude Code всё ещё отвечает, что команда недоступна вместо отправки её Claude. До версии v2.1.274 только облачные сеансы и routines отправляли несовпадающее имя Claude. До версии v2.1.273 они также отвечали `Unknown command`.3422Для встроенной команды, которая не может выполняться в одной из этих сессий, Claude Code по-прежнему отвечает, что команда недоступна, а не отправляет её Claude. До v2.1.274 несовпавшее имя отправляли Claude только облачные сессии и routines. До v2.1.273 они тоже отвечали `Unknown command`.

3398 3423 

3399Claude Code не рассматривает каждое приглашение, которое начинается с `/`, как команду. Он отправляет приглашение Claude как обычное сообщение, когда первое слово после `/` начинается с пунктуации, такой как `/--`, который открывает комментарий Lean doc, или является путём, такой как `/var/log/syslog`.3424Claude Code не считает командой каждый промпт, начинающийся с `/`. Он отправляет промпт Claude как обычное сообщение, когда первое слово после `/` начинается со знака препинания, как `/--`, открывающий doc-комментарий Lean, или является путём, например `/var/log/syslog`.

3400 3425 

3401До версии v2.1.236, если вы нажали `Enter` в то время как меню команд указывало близкое совпадение для имени, которое вы ввели, Claude Code запускал это совпадение, поэтому опечатка, такая как `/hepl`, запускала `/help` вместо выдачи этого сообщения.3426До v2.1.236, если вы нажимали `Enter`, когда меню команд показывало близкое совпадение для введённого имени, Claude Code выполнял это совпадение, поэтому опечатка вроде `/hepl` запускала `/help` вместо вывода этого сообщения.

3402 3427 

3403**Что делать:**3428**Что делать:**

3404 3429 

3405* Запустите предложенное имя или введите `/` с последующей частью имени, чтобы увидеть, что доступно в этом сеансе3430* Выполните предложенное имя или введите `/` и часть имени, чтобы увидеть, что доступно в этой сессии

3406* Если Claude Code сообщает о документированной команде как неизвестной, проверьте её строку в [справочнике команд](/docs/ru/commands) для требования, которое она указывает3431* Если Claude Code сообщает, что документированная команда неизвестна, проверьте её строку в [справочнике команд](/docs/ru/commands) на указанное там требование

3407 3432 

3408<h3 id="diff-is-too-large-for-ultrareview">3433<h3 id="diff-is-too-large-for-ultrareview">

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

3410</h3>3435</h3>

3411 3436 

3412Diff между вашей веткой и базовой веткой, включая незафиксированные и поставленные в очередь изменения, превышает лимиты размера для [ultrareview](/docs/ru/ultrareview), поэтому `/code-review ultra` и подкоманда `claude ultrareview` отказывают обзор перед запуском облачного сеанса. Отклонённый обзор не использует бесплатный запуск и не выставляет счёт за кредиты использования. Сообщение указывает действующие лимиты, размер вашего diff и файлы, которые вносят наибольшее количество изменённых строк. До версии v2.1.216 сообщение показывало только необработанную статистику diff.3437Diff между вашей веткой и базовой веткой, включая незакоммиченные и проиндексированные изменения, превышает лимиты размера для [ultrareview](/docs/ru/ultrareview), поэтому `/code-review ultra` и подкоманда `claude ultrareview` отклоняют ревью до запуска облачной сессии. Отклонённое ревью не расходует бесплатный запуск и не списывает кредиты использования. Сообщение называет действующие лимиты, размер вашего diff и файлы, дающие больше всего изменённых строк. До v2.1.216 сообщение показывало только необработанную статистику diff.

3413 3438 

3414```text theme={null}3439```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.3440Diff 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```3441```

3417 3442 

3418Обзор pull request применяет те же лимиты; эта форма сообщения начинается с `PR #<N> is too large for ultrareview` и указывает количество файлов и строк PR.3443Для ревью pull request действуют те же лимиты; в этом случае сообщение начинается с `PR #<N> is too large for ultrareview` и называет количество файлов и строк в PR.

3419 3444 

3420**Что делать:**3445**Что делать:**

3421 3446 

3422* Передайте базовую ветку ближе к вашей работе, такую как `/code-review ultra develop`, поэтому обзор охватывает только diff против этой ветки3447* Передайте базовую ветку, более близкую к вашей работе, например `/code-review ultra develop`, чтобы ревью охватывало только diff относительно этой ветки

3423* Разделите изменение на меньшие ветки и обзорьте каждую. Файлы, которые сообщение указывает, вносят наибольшее количество изменённых строк, поэтому начните с перемещения их в свою собственную ветку.3448* Разделите изменение на ветки поменьше и проведите ревью каждой. Названные в сообщении файлы дают больше всего изменённых строк, поэтому начните с переноса их в отдельную ветку.

3424 3449 

3425<h3 id="could-not-find-merge-base-with-the-base-branch">3450<h3 id="could-not-find-merge-base-with-the-base-branch">

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

3427</h3>3452</h3>

3428 3453 

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.3454`/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 3455 

3431```text theme={null}3456```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.3457Could 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```3458```

3434 3459 

3435Подсказка после первого предложения зависит от того, что Claude Code наблюдал:3460Подсказка после первого предложения зависит от того, что обнаружил Claude Code:

3436 3461 

3437* **Вы не передали базовую ветку**: Claude Code сравнил с стандартной веткой репозитория и предлагает передать вашу базу явно, как в примере выше3462* **Вы не передали базовую ветку**: Claude Code выполнил сравнение с веткой репозитория по умолчанию и предлагает явно передать вашу базовую ветку, как в примере выше

3438* **Вы передали базовую ветку, которая уже была в вашем клоне**: подсказка читает ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3463* **Вы передали базовую ветку, которая уже была в вашем клоне**: подсказка гласит ``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`.3464* **Вы передали базовую ветку, которой не было в вашем клоне**: 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 3465 

3441**Что делать:**3466**Что делать:**

3442 3467 

3443* Если другая ветка является вашей реальной базой, передайте её явно: `/code-review ultra <branch>`3468* Если настоящая базовая ветка другая, передайте её явно: `/code-review ultra <branch>`

3444* Если ваш клон может не иметь полную историю, запустите `git fetch --unshallow origin` и повторно запустите обзор3469* Если в вашем клоне может не быть полной истории, выполните `git fetch --unshallow origin` и снова запустите ревью

3445 3470 

3446<h3 id="your-checkout-has-no-branches">3471<h3 id="your-checkout-has-no-branches">

3447 Ваш checkout не имеет веток3472 В вашем checkout нет веток

3448</h3>3473</h3>

3449 3474 

3450Checkout может иметь коммиты, но не иметь веток: если вы запустите `git init` с последующим `git fetch <url>` и `git checkout FETCH_HEAD`, вы получите отсоединённый HEAD без ссылок. Claude Code упаковывает ваш репозиторий как git bundle для загрузки его для [ultrareview](/docs/ru/ultrareview), и он не может упаковать репозиторий, который не имеет веток или других ссылок, поэтому `/code-review ultra` и подкоманда `claude ultrareview` отказывают обзор перед запуском облачного сеанса.3475В 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 3476 

3452```text theme={null}3477```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.3478Your 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```3479```

3455 3480 

3456До версии v2.1.221 Claude Code пытался обзорить каждый отслеживаемый файл в этом checkout, и загрузка не работала.3481До v2.1.221 Claude Code пытался провести ревью всех отслеживаемых файлов в таком checkout, и загрузка завершалась ошибкой.

3457 3482 

3458**Что делать:**3483**Что делать:**

3459 3484 

3460* Создайте ветку в вашем текущем коммите с `git checkout -b <name>`, затем повторно запустите обзор3485* Создайте ветку на текущем коммите с помощью `git checkout -b <name>`, затем снова запустите ревью

3461 3486 

3462<h3 id="no-github-account-is-connected-to-your-claude-account">3487<h3 id="no-github-account-is-connected-to-your-claude-account">

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

3464</h3>3489</h3>

3465 3490 

3466Вы запустили `/code-review ultra <PR#>` или `claude ultrareview <PR#>`, и перед созданием облачного сеанса Claude Code спрашивает сервер, может ли [аккаунт GitHub, подключённый к вашему аккаунту Claude](/docs/ru/ultrareview#review-a-pull-request), достичь репозитория PR. Ни один аккаунт не подключен или соединение истекло, поэтому облачный клон не работал бы и Claude Code отказывает запуск. Claude Code не тратит бесплатный запуск и не выставляет счёт за кредиты использования для отклонённого запуска.3491Вы выполнили `/code-review ultra <PR#>` или `claude ultrareview <PR#>`, и перед созданием облачной сессии Claude Code спрашивает у сервера, может ли [учётная запись GitHub, подключённая к вашей учётной записи Claude](/docs/ru/ultrareview#review-a-pull-request), получить доступ к репозиторию PR. Учётная запись не подключена или подключение истекло, поэтому клонирование в облаке завершилось бы ошибкой, и Claude Code отклоняет запуск. За отклонённый запуск Claude Code не расходует бесплатный запуск и не списывает кредиты использования.

3467 3492 

3468```text theme={null}3493```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).3494Ultrareview 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```3495```

3471 3496 

3472Когда [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal) недоступен в вашем сеансе, сообщение указывает только ссылку claude.ai.3497Когда [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal) недоступна в вашей сессии, сообщение называет только ссылку на claude.ai.

3473 3498 

3474**Что делать:**3499**Что делать:**

3475 3500 

3476* Запустите `/web-setup` для подключения вашего входа GitHub CLI к вашему аккаунту Claude или подключите аккаунт на [claude.ai/connect-github](https://claude.ai/connect-github)3501* Выполните `/web-setup`, чтобы подключить вход GitHub CLI к вашей учётной записи Claude, или подключите учётную запись на [claude.ai/connect-github](https://claude.ai/connect-github)

3477* Повторно запустите обзор через минуту после подключения3502* Запустите ревью снова через минуту после подключения

3478 3503 

3479До версии v2.1.248 Claude Code не проверял это перед запуском.3504До v2.1.248 Claude Code не проверял это перед запуском.

3480 3505 

3481<h3 id="your-connected-github-account-cant-see-the-repository">3506<h3 id="your-connected-github-account-cant-see-the-repository">

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

3483</h3>3508</h3>

3484 3509 

3485Вы запустили `/code-review ultra <PR#>` или `claude ultrareview <PR#>`, и [аккаунт GitHub, подключённый к вашему аккаунту Claude](/docs/ru/ultrareview#review-a-pull-request), не может прочитать репозиторий PR, поэтому облачный клон не работал бы и Claude Code отказывает запуск. Claude Code не тратит бесплатный запуск и не выставляет счёт за кредиты использования для отклонённого запуска.3510Вы выполнили `/code-review ultra <PR#>` или `claude ultrareview <PR#>`, и [учётная запись GitHub, подключённая к вашей учётной записи Claude](/docs/ru/ultrareview#review-a-pull-request), не может прочитать репозиторий PR, поэтому клонирование в облаке завершилось бы ошибкой, и Claude Code отклоняет запуск. За отклонённый запуск Claude Code не расходует бесплатный запуск и не списывает кредиты использования.

3486 3511 

3487```text theme={null}3512```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.3513Your 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```3514```

3490 3515 

3491Когда [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal) недоступен в вашем сеансе, сообщение указывает только установку приложения.3516Когда [`/web-setup`](/docs/ru/web-quickstart#connect-from-your-terminal) недоступна в вашей сессии, сообщение называет только установку приложения.

3492 3517 

3493**Что делать:**3518**Что делать:**

3494 3519 

3495* Если ваш локальный CLI `gh` может прочитать репозиторий, запустите `/web-setup` для подключения этого входа к вашему аккаунту Claude3520* Если ваш локальный CLI `gh` может прочитать репозиторий, выполните `/web-setup`, чтобы подключить этот вход к вашей учётной записи Claude

3496* Повторно запустите обзор после изменения3521* Запустите ревью снова после изменения

3497 3522 

3498До версии v2.1.248 Claude Code не проверял это перед запуском.3523До v2.1.248 Claude Code не проверял это перед запуском.

3499 3524 

3500<h3 id="the-github-app-preflight-failed-transiently">3525<h3 id="the-github-app-preflight-failed-transiently">

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

3502</h3>3527</h3>

3503 3528 

3504Вы запустили [облачный сеанс](/docs/ru/claude-code-on-the-web) из локального репозитория, и два шага не прошли вместе. Claude Code не смог построить или загрузить bundle вашего репозитория. Перед загрузкой он проверил, может ли облачный сервис клонировать репозиторий из GitHub, и вместо определённого ответа эта проверка закончилась ошибкой, которую повторная попытка могла бы очистить, такой как ошибка сети, тайм-аут или временная ошибка сервера. Полное сообщение начинается с того, что остановило bundle, например `Could not upload repo bundle (<error>)`, и заканчивается предложением проверки:3529Вы запустили [облачную сессию](/docs/ru/claude-code-on-the-web) из локального репозитория, и одновременно не удались два шага. Claude Code не смог собрать или загрузить bundle вашего репозитория. Перед загрузкой он проверил, может ли облачный сервис клонировать репозиторий с GitHub, и вместо определённого ответа эта проверка завершилась ошибкой, которую может устранить повторная попытка, например сетевой ошибкой, таймаутом или временной ошибкой сервера. Полное сообщение начинается с того, что помешало созданию bundle, например `Could not upload repo bundle (<error>)`, и заканчивается предложением о предварительной проверке:

3505 3530 

3506```text theme={null}3531```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 instead3532Could 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 3534 

3510**Что делать:**3535**Что делать:**

3511 3536 

3512* Повторно запустите команду через момент. Когда проверка GitHub пройдёт, Claude Code может запустить сеанс из клона GitHub, поэтому неудачная загрузка больше не блокирует запуск3537* Повторите команду через некоторое время. Когда проверка GitHub пройдёт, Claude Code сможет запустить сессию из клона GitHub, и неудачная загрузка больше не будет блокировать запуск

3513* Если повторные попытки продолжают не работать, начало сообщения указывает, что остановило загрузку. Когда эта причина — это что-то, что вы можете исправить, исправьте это, чтобы сеанс мог запуститься из вашего локального репозитория вместо этого3538* Если повторные попытки продолжают завершаться ошибкой, начало сообщения называет, что помешало загрузке. Если эту причину можно устранить, устраните её, чтобы сессия могла запуститься из вашего локального репозитория

3514 3539 

3515До версии v2.1.251 Claude Code заканчивал сообщение с `Please set up GitHub on https://claude.ai/code` даже когда проверка GitHub не прошла только временно, и совет по установке не может очистить временный сбой.3540До v2.1.251 Claude Code завершал сообщение фразой `Please set up GitHub on https://claude.ai/code`, даже если проверка GitHub не прошла лишь временно, а совет по настройке не может устранить временный сбой.

3516 3541 

3517<h3 id="the-repository-upload-cant-follow-a-git-setting">3542<h3 id="the-repository-upload-cant-follow-a-git-setting">

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

3519</h3>3544</h3>

3520 3545 

3521Вы запустили [облачный сеанс, который загружает ваш локальный репозиторий](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github), или [ultrareview](/docs/ru/ultrareview) ветки, и загрузка не может следовать одному из параметров git, которые решают, какие правила атрибутов применяются к вашим файлам. Если загрузка прошла и пропустила правило, файл, который git преобразует перед сохранением, такой как тот, который чистый фильтр шифрует, может достичь облака как он находится на диске. Claude Code отказывает загрузку вместо этого, и ничего не загружается:3546Вы запустили [облачную сессию, которая загружает ваш локальный репозиторий](/docs/ru/claude-code-on-the-web#send-local-repositories-without-github), или [ultrareview](/docs/ru/ultrareview) ветки, и загрузка не может учесть одну из настроек git, определяющих, какие правила атрибутов применяются к вашим файлам. Если бы загрузка продолжилась и пропустила правило, файл, который git преобразует перед сохранением, например шифруемый clean-фильтром, мог бы попасть в облако в том виде, в каком он лежит на диске. Вместо этого Claude Code отклоняет загрузку, и ничего не загружается:

3522 3547 

3523```text theme={null}3548```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.3549Not 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```3550```

3526 3551 

3527Сообщение указывает параметр и где он установлен, и заканчивается исправлением для случая, который вы попали. Тот же отказ появляется для `core.attributesFile` и `attr.tree`, каждый со своим исправлением.3552Сообщение называет настройку и место, где она задана, и заканчивается способом исправления для вашего случая. Такой же отказ появляется для `core.attributesFile` и `attr.tree`, каждый со своим способом исправления.

3528 3553 

3529Сообщение может указывать файл конфигурации, который ваша конфигурация git вытягивает через директиву `include` или `includeIf`, даже когда условие этой директивы не применяется к этому репозиторию.3554Сообщение может называть файл конфигурации, который ваша конфигурация git подключает через директиву `include` или `includeIf`, даже если условие этой директивы к данному репозиторию не относится.

3530 3555 

3531**Что делать:**3556**Что делать:**

3532 3557 

3533* Примените исправление в финальном предложении сообщения3558* Примените исправление из последнего предложения сообщения

3534 3559 

3535<h3 id="github-isnt-connected-to-your-claude-account">3560<h3 id="github-isnt-connected-to-your-claude-account">

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

3537</h3>3562</h3>

3538 3563 

3539Вы запустили [облачный сеанс](/docs/ru/claude-code-on-the-web) из вашего локального репозитория, например с `/autofix-pr`. Ни один аккаунт GitHub не подключен к вашему аккаунту Claude или соединение истекло, поэтому Claude Code отказывает запуск:3564Вы запустили [облачную сессию](/docs/ru/claude-code-on-the-web) из локального репозитория, например с помощью `/autofix-pr`. К вашей учётной записи Claude не подключена учётная запись GitHub или подключение истекло, поэтому Claude Code отклоняет запуск:

3540 3565 

3541```text theme={null}3566```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-github3567GitHub 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```3568```

3544 3569 

3545Когда вы создаёте routine с [`/schedule`](/docs/ru/routines), то же сообщение появляется как примечание по установке, которое указывает репозиторий; примечание не блокирует создание routine.3570Когда вы создаёте routine с помощью [`/schedule`](/docs/ru/routines), то же сообщение появляется как примечание по настройке с названием репозитория; это примечание не блокирует создание routine.

3546 3571 

3547**Что делать:**3572**Что делать:**

3548 3573 

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) для того, как два отличаются.3574* Выполните `/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* Повторно запустите команду через минуту после подключения3575* Повторите команду через минуту после подключения

3551 3576 

3552До версии v2.1.268 Claude Code сообщал об этом как о временном сбое проверки Claude GitHub App и предлагал повторить попытку или установить приложение; ни один не подключает аккаунт GitHub.3577До v2.1.268 Claude Code сообщал об этом как о временном сбое проверки Claude GitHub App и предлагал повторить попытку или установить приложение; ни то, ни другое не подключает учётную запись GitHub.

3553 3578 

3554<h3 id="single-sign-on-authorization-needed">3579<h3 id="single-sign-on-authorization-needed">

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

3556</h3>3581</h3>

3557 3582 

3558Вы запустили [`/install-github-app`](/docs/ru/github-actions#quick-setup) и выбрали репозиторий, организация которого применяет SAML единый вход. Перед установкой Claude Code проверяет ваш доступ к репозиторию с GitHub CLI, и GitHub отклонил эту проверку, потому что ваш токен `gh` ещё не авторизован для организации. Мастер показывает предупреждение с шагами для авторизации:3583Вы выполнили [`/install-github-app`](/docs/ru/github-actions#quick-setup) и выбрали репозиторий, организация которого требует единый вход SAML. Перед настройкой Claude Code проверяет ваш доступ к репозиторию с помощью GitHub CLI, и GitHub отклонил эту проверку, потому что ваш токен `gh` ещё не авторизован для организации. Мастер показывает предупреждение с шагами для авторизации:

3559 3584 

3560```text theme={null}3585```text theme={null}

3561Single sign-on authorization needed3586Single sign-on authorization needed


3564 3589 

3565**Что делать:**3590**Что делать:**

3566 3591 

3567* Повторно авторизуйте ваш вход GitHub CLI с областями `repo` и `workflow`, запустив `gh auth refresh -h github.com -s repo,workflow`, и авторизуйте организацию, когда GitHub запросит единый вход3592* Повторно авторизуйте вход 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** на токене и авторизуйте организацию3593* Если вы проходите аутентификацию с персональным токеном доступа в `GH_TOKEN`, откройте [github.com/settings/tokens](https://github.com/settings/tokens), выберите **Configure SSO** для токена и авторизуйте организацию

3569* Запустите `/install-github-app` снова3594* Снова выполните `/install-github-app`

3570 3595 

3571До версии v2.1.273 Claude Code показывал предупреждение `Admin permissions required` для этого условия вместо этого.3596До v2.1.273 в этой ситуации Claude Code вместо этого показывал предупреждение `Admin permissions required`.

3572 3597 

3573<h3 id="failed-to-resume-the-conversation">3598<h3 id="failed-to-resume-the-conversation">

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

3575</h3>3600</h3>

3576 3601 

3577Claude Code не смог прочитать или обработать сохранённую стенограмму для сеанса, который вы выбрали из [`claude --resume` picker](/docs/ru/sessions#use-the-session-picker), поэтому он заканчивает процесс вместо продолжения в частично загруженном состоянии. Сообщение включает команду для повторной попытки:3602Claude Code не смог прочитать или обработать сохранённый транскрипт сессии, выбранной вами в [окне выбора `claude --resume`](/docs/ru/sessions#use-the-session-picker), поэтому завершает процесс, а не продолжает работу в частично загруженном состоянии. Сообщение содержит команду для повторной попытки:

3578 3603 

3579```text theme={null}3604```text theme={null}

3580Failed to resume the conversation.3605Failed to resume the conversation.

3581Run claude --resume <session-id> to retry, or claude to start a new session.3606Run claude --resume <session-id> to retry, or claude to start a new session.

3582```3607```

3583 3608 

3584Claude Code завершает работу с кодом 1 после показа сообщения. Picker `/resume` внутри работающего сеанса сообщает `Failed to resume conversation` в разговоре вместо этого, и ваш текущий сеанс продолжает работать. До версии v2.1.216 неудачное возобновление из picker `claude --resume` оставалось на спиннере `Resuming conversation…` бесконечно вместо показа этого сообщения.3609После показа сообщения Claude Code завершается с кодом выхода 1. Окно выбора `/resume` внутри работающей сессии вместо этого сообщает `Failed to resume conversation` в диалоге, и ваша текущая сессия продолжает работать. До v2.1.216 неудачное возобновление из окна выбора `claude --resume` бесконечно оставалось на индикаторе `Resuming conversation…` вместо показа этого сообщения.

3585 3610 

3586**Что делать:**3611**Что делать:**

3587 3612 

3588* Запустите `claude --resume <session-id>` с ID сеанса из сообщения для повторной попытки3613* Выполните `claude --resume <session-id>` с ID сессии из сообщения, чтобы повторить попытку

3589* Если каждая повторная попытка не работает так же, запустите `claude update` и возобновите снова. Версии до v2.1.275 не работают при возобновлении, когда сохранённая стенограмма содержит запись, которую они не могут прочитать.3614* Если каждая повторная попытка завершается одинаково, выполните `claude update` и снова возобновите сессию. Версии до v2.1.275 не могут возобновить сессию, если сохранённый транскрипт содержит запись, которую они не могут прочитать.

3590* Если повторная попытка не работает снова, запустите `claude` для запуска нового сеанса3615* Если повторная попытка снова завершается ошибкой, выполните `claude`, чтобы начать новую сессию

3591 3616 

3592<h3 id="no-conversation-found-with-the-session-id">3617<h3 id="no-conversation-found-with-the-session-id">

3593 Разговор не найден с ID сеанса3618 Диалог с указанным ID сессии не найден

3594</h3>3619</h3>

3595 3620 

3596Вы передали ID сеанса в `claude --resume <session-id>` и ни одна сохранённая стенограмма не совпала с ним:3621Вы передали ID сессии в `claude --resume <session-id>`, и ни один сохранённый транскрипт ему не соответствует:

3597 3622 

3598```text theme={null}3623```text theme={null}

3599No conversation found with session ID: <session-id>3624No conversation found with session ID: <session-id>

3600```3625```

3601 3626 

3602Claude Code завершает работу с кодом 1 после показа сообщения. Claude Code [ищет текущий проект сначала, затем каждый другой проект на этой машине](/docs/ru/sessions#resume-a-session) для ID. До версии v2.1.223 поиск остановился в текущем каталоге проекта и его git worktrees, поэтому возобновите из каталога, в котором сеанс в последний раз работал.3627После показа сообщения Claude Code завершается с кодом выхода 1. Claude Code [ищет ID сначала в текущем проекте, затем во всех остальных проектах на этом компьютере](/docs/ru/sessions#resume-a-session). До v2.1.223 поиск ограничивался текущим каталогом проекта и его git worktree, поэтому возобновляйте сессию из каталога, в котором она работала в последний раз.

3603 3628 

3604Распространённые причины:3629Распространённые причины:

3605 3630 

3606* **Неправильно введённый ID**: для неинтерактивного запуска ID — это поле `session_id` вывода [`--output-format json`](/docs/ru/headless#get-structured-output)3631* **Опечатка в 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)3632* **Удалённый транскрипт**: Claude Code удаляет транскрипты по истечении [срока хранения](/docs/ru/sessions#where-transcripts-are-stored), по умолчанию 30 дней, в соответствии с [правилами очистки по сроку хранения](/docs/ru/claude-directory#cleaned-up-automatically)

3608* **Другая машина**: Claude Code хранит стенограммы локально, поэтому возобновите сеанс на машине, где он работал3633* **Другой компьютер**: Claude Code хранит транскрипты локально, поэтому возобновляйте сессию на компьютере, где она выполнялась

3609* **Дублирующиеся копии**: если вы скопировали каталог проекта под `~/.claude/projects`, поэтому две стенограммы несут один и тот же ID, Claude Code сообщает это сообщение вместо возобновления одной копии произвольно3634* **Дублирующиеся копии**: если вы скопировали каталог проекта в `~/.claude/projects` так, что два транскрипта имеют один и тот же ID, Claude Code выводит это сообщение, а не возобновляет произвольно одну из копий

3610 3635 

3611**Что делать:**3636**Что делать:**

3612 3637 

3613* Для интерактивного сеанса откройте [picker сеанса](/docs/ru/sessions#use-the-session-picker) с `claude --resume` и нажмите `Ctrl+A` для расширения на каждый проект на этой машине, затем выберите сеанс3638* Для интерактивной сессии откройте [окно выбора сессий](/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`, который выводит ваш исходный запуск3639* Сессии, созданные с помощью `claude -p` или [Agent SDK](/docs/ru/agent-sdk/overview), не отображаются в окне выбора, поэтому перепроверьте ID по `session_id`, который вывел ваш исходный запуск

3615 3640 

3616<h3 id="windows-reported-an-error-ebadf">3641<h3 id="windows-reported-an-error-ebadf">

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

3618</h3>3643</h3>

3619 3644 

3620Вы возобновили сеанс на Windows, его сохранённый [файл стенограммы](/docs/ru/sessions#where-transcripts-are-stored) открылся нормально, и чтение его затем не прошло с системной ошибкой EBADF. Системная ошибка не говорит, почему чтение не прошло, поэтому сообщение предлагает вероятные причины и что попробовать:3645Вы возобновили сессию в Windows, её сохранённый [файл транскрипта](/docs/ru/sessions#where-transcripts-are-stored) открылся нормально, но затем чтение завершилось системной ошибкой EBADF. Системная ошибка не объясняет, почему чтение не удалось, поэтому сообщение предлагает вероятные причины и варианты действий:

3621 3646 

3622```text theme={null}3647```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.3648Windows 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```3649```

3625 3650 

3626Сообщение следует за собственной строкой сбоя команды, такой как `Failed to resume session <session-id>`. Команда `claude --resume` или [`claude -p`](/docs/ru/headless) завершает работу с кодом 1 после показа. После `/resume` внутри сеанса ваш текущий сеанс продолжает работать.3651Это сообщение следует за собственной строкой об ошибке команды, например `Failed to resume session <session-id>`. Команда `claude --resume` или [`claude -p`](/docs/ru/headless) завершается с кодом 1 после его вывода. После `/resume` внутри сессии ваша текущая сессия продолжает работать.

3627 3652 

3628**Что делать:**3653**Что делать:**

3629 3654 

3630* Исключите папку, которая содержит ваши стенограммы сеанса, из программного обеспечения, которое сканирует или перехватывает чтение файлов, такого как инструменты безопасности, шифрования или управления конечными точками. Стенограммы находятся под `%USERPROFILE%\.claude\projects` по умолчанию или под каталогом, который [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars) указывает3655* Исключите папку с транскриптами сессий из обработки программами, которые сканируют или перехватывают чтение файлов, например средствами безопасности, шифрования или управления конечными устройствами. По умолчанию транскрипты хранятся в `%USERPROFILE%\.claude\projects` или в каталоге, указанном в [`CLAUDE_CONFIG_DIR`](/docs/ru/env-vars)

3631* Если вы не можете добавить исключение, добавьте Claude Code в разрешённые приложения этого программного обеспечения вместо этого3656* Если добавить исключение невозможно, добавьте Claude Code в список разрешённых приложений этой программы

3632* Возобновите сеанс снова3657* Снова возобновите сессию

3633 3658 

3634До версии v2.1.282 сбой пришёл без объяснения: `claude --resume <session-id>` закончился на `Failed to resume session <session-id>`, и запуск `-p` выводил только текст системной ошибки, такой как `Failed to resume session: EBADF: bad file descriptor, read`.3659До v2.1.282 ошибка не сопровождалась объяснением: `claude --resume <session-id>` завершался сообщением `Failed to resume session <session-id>`, а запуск с `-p` выводил только текст системной ошибки, например `Failed to resume session: EBADF: bad file descriptor, read`.

3635 3660 

3636<h3 id="cannot-switch-renderers-in-this-session">3661<h3 id="cannot-switch-renderers-in-this-session">

3637 Не удалось переключить рендереры в этом сеансе3662 Cannot switch renderers in this session

3638</h3>3663</h3>

3639 3664 

3640Когда вы переключаете рендереры, Claude Code перезапускает свой процесс. Вы запустили [`/tui`](/docs/ru/fullscreen#enable-fullscreen-rendering) в сеансе, который Claude Code отказывает перезапустить, поэтому он не переключается и ничего не сохраняет. Какое сообщение вы видите, говорит вам причину:3665При переключении рендерера Claude Code перезапускает свой процесс. Вы выполнили [`/tui`](/docs/ru/fullscreen#enable-fullscreen-rendering) в сессии, которую Claude Code отказывается перезапускать, поэтому переключение не происходит и ничего не сохраняется. Причину можно определить по тому, какое сообщение вы видите:

3641 3666 

3642* `Cannot switch renderers while work is running in the background`: у вас есть фоновая работа, которая перезапуск бросил бы, такая как фоновая оболочка или подагент. Дождитесь завершения работы или остановите её с [`/tasks`](/docs/ru/commands), затем запустите `/tui fullscreen` или `/tui default` снова3667* `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 перезапускал в любом случае и перезапущенный сеанс работал без них3668* `Cannot switch renderers in this session`: у сессии есть ограничения, которые Claude Code не может передать перезапущенному процессу. До v2.1.234 Claude Code всё равно выполнял перезапуск, и перезапущенная сессия работала без этих ограничений

3644 3669 

3645В сообщении ограничений часть в скобках указывает найденные ограничения:3670В сообщении об ограничениях часть в скобках называет ограничения, обнаруженные Claude Code:

3646 3671 

3647```text theme={null}3672```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.3673Cannot 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 3675 

3651Каждая причина, которую сообщение может показать в скобках:3676Каждая причина, которую сообщение может показать в скобках:

3652 3677 

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)3678* `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 вместо этого запрашивает снова3679* `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`. Ни один флаг не существует для правил ask3680* `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`: обновление разрешений добавило правило или путь каталога в середине сеанса. Командная строка перезапущенного процесса не может нести его текст как то же значение3681* `permission rules a command line cannot carry intact` и `added directories a command line cannot carry intact`: обновление разрешений добавило правило или путь к каталогу в середине сессии. Командная строка перезапущенного процесса не может передать его текст как то же самое значение

3657 3682 

3658**Что делать:**3683**Что делать:**

3659 3684 

3660* В сеансе, запущенном без этих ограничений, запустите `/tui fullscreen` или `/tui default` для переключения обратно. Claude Code сохраняет параметр [`tui`](/docs/ru/settings-reference#tui) там3685* В сессии, запущенной без этих ограничений, выполните `/tui fullscreen` или `/tui default`, чтобы переключиться обратно. Там Claude Code сохранит [настройку `tui`](/docs/ru/settings-reference#tui)

3661 3686 

3662<h3 id="couldnt-open-claude-desktop">3687<h3 id="couldnt-open-claude-desktop">

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

3664</h3>3689</h3>

3665 3690 

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.3691Вы выполнили [`/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 3692 

3668Текст в скобках указывает команду, которая не прошла, с её кодом выхода и первой строкой её вывода ошибки, когда она их выдала. На macOS эта команда — это `open`, как в этом примере; на Windows это `rundll32`:3693Текст в скобках называет команду, завершившуюся ошибкой, с её кодом выхода и первой строкой вывода ошибок, если они были. В macOS это команда `open`, как в этом примере; в Windows — `rundll32`:

3669 3694 

3670```text theme={null}3695```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.3696Error: 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 3698 

3674**Что делать:**3699**Что делать:**

3675 3700 

3676* Откройте Claude Desktop самостоятельно, затем запустите `/desktop` или `claude --desktop` снова3701* Откройте Claude Desktop самостоятельно, затем снова выполните `/desktop` или `claude --desktop`

3677* Чтобы прочитать полный вывод ошибки этой команды, включите отладочное логирование с `/debug` и запустите `/desktop` снова, или запустите `claude --desktop --debug-file <path>`, затем проверьте журнал отладки3702* Чтобы прочитать полный вывод ошибок неудавшейся команды, включите отладочное логирование с помощью `/debug` и снова выполните `/desktop` либо выполните `claude --desktop --debug-file <path>`, затем проверьте отладочный лог

3678 3703 

3679До версии v2.1.285 сообщение заканчивалось `Open Claude Desktop and run /desktop again.` До версии v2.1.275 это было `Failed to open Claude Desktop. Please try opening it manually.` и не говорило, что не прошло.3704До v2.1.285 сообщение заканчивалось словами `Open Claude Desktop and run /desktop again.` До v2.1.275 оно выглядело как `Failed to open Claude Desktop. Please try opening it manually.` и не сообщало, что именно не удалось.

3680 3705 

3681<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3706<h3 id="terminal-setup-left-your-zed-keymap-unchanged">

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

3683</h3>3708</h3>

3684 3709 

3685Вы запустили [`/terminal-setup`](/docs/ru/terminal-config#enter-multiline-prompts) в Zed, и Claude Code не смог завершить обновление вашего Zed `keymap.json`, поэтому оставил файл как он был.3710Вы выполнили [`/terminal-setup`](/docs/ru/terminal-config#enter-multiline-prompts) в Zed, и Claude Code не смог завершить обновление вашего файла Zed `keymap.json`, поэтому оставил файл как есть.

3686 3711 

3687Каждое сообщение указывает путь к вашей keymap и заканчивается блоком сочетания клавиш для добавления самостоятельно:3712Каждое сообщение указывает путь к вашей раскладке клавиш и заканчивается блоком сочетания клавиш, который нужно добавить самостоятельно:

3688 3713 

3689```text theme={null}3714```text theme={null}

3690Couldn't update your Zed keymap, so it was left unchanged.3715Couldn't update your Zed keymap, so it was left unchanged.


3692{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }3717{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }

3693```3718```

3694 3719 

3695Первая строка сообщения указывает причину:3720Первая строка сообщения называет причину:

3696 3721 

3697* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code не смог прочитать файл, например из-за разрешений файла3722* `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.`: файл прочитался нормально, но не анализируется как массив блоков сочетаний клавиш, даже с разрешёнными комментариями `//` и конечными запятыми3723* `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` рядом с ним, поэтому ничего не изменил3724* `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 отбросил его вместо записи. Блок сочетания клавиш с дублированным ключом может вызвать это3725* `Couldn't update your Zed keymap, so it was left unchanged.`: объединённый результат не прошёл проверку как корректная раскладка клавиш с этим сочетанием, поэтому Claude Code отбросил его вместо записи. Причиной может быть блок сочетаний клавиш с повторяющимся ключом

3701 3726 

3702**Что делать:**3727**Что делать:**

3703 3728 

3704* Скопируйте блок из сообщения в массив верхнего уровня в вашем `keymap.json` по пути, который указывает сообщение3729* Скопируйте блок из сообщения в массив верхнего уровня в вашем `keymap.json` по пути, указанному в сообщении

3705* Для `isn't a readable list of keybindings`, исправьте ошибку синтаксиса или сделайте значение верхнего уровня файла массивом, затем запустите `/terminal-setup` снова3730* Для `isn't a readable list of keybindings` исправьте синтаксическую ошибку или сделайте значение верхнего уровня в файле массивом, затем снова выполните `/terminal-setup`

3706 3731 

3707До версии v2.1.247 `/terminal-setup` не мог анализировать Zed keymap, которая использовала комментарии `//` или конечные запятые, и она заменила весь файл только своим собственным сочетанием клавиш при сообщении о сочетании как установленном. Чтобы восстановить keymap, которую более ранняя версия заменила, используйте файл резервной копии `.bak`, описанный в [Enter multiline prompts](/docs/ru/terminal-config#enter-multiline-prompts).3732До v2.1.247 `/terminal-setup` не мог разобрать раскладку клавиш Zed, в которой использовались комментарии `//` или завершающие запятые, и заменял весь файл только своим сочетанием клавиш, сообщая при этом, что сочетание установлено. Чтобы восстановить раскладку клавиш, заменённую более ранней версией, используйте резервную копию `.bak`, описанную в разделе [Ввод многострочных промптов](/docs/ru/terminal-config#enter-multiline-prompts).

3708 3733 

3709<h3 id="skill-usage-reports-are-not-available-on-this-connection">3734<h3 id="skill-usage-reports-are-not-available-on-this-connection">

3710 Отчёты об использовании Skill недоступны на этом соединении3735 Отчёты об использовании скиллов недоступны через это подключение

3711</h3>3736</h3>

3712 3737 

3713Вы запустили [`/skill-doctor`](/docs/ru/skills#find-unused-skills) через [Remote Control](/docs/ru/remote-control), с вашего телефона или браузера. Claude Code не отправляет отчёт об использовании skill через Remote Control и отвечает этим сообщением вместо этого:3738Вы выполнили [`/skill-doctor`](/docs/ru/skills#find-unused-skills) через [Remote Control](/docs/ru/remote-control) с телефона или в браузере. Claude Code не отправляет отчёт об использовании скиллов через Remote Control и вместо этого отвечает следующим сообщением:

3714 3739 

3715```text theme={null}3740```text theme={null}

3716Skill usage reports are not available on this connection.3741Skill usage reports are not available on this connection.


3718 3743 

3719**Что делать:**3744**Что делать:**

3720 3745 

3721* Запустите `/skill-doctor` в терминале на машине, где работает сеанс, или запустите `claude -p "/skill-doctor"` там3746* Выполните `/skill-doctor` в терминале на машине, где работает сессия, или выполните там `claude -p "/skill-doctor"`

3722 3747 

3723<h3 id="custom-output-styles-cant-be-selected-over-remote-control">3748<h3 id="custom-output-styles-cant-be-selected-over-remote-control">

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

3725</h3>3750</h3>

3726 3751 

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) получает тот же ответ, что и имя, которое не существует:3752Вы выполнили [`/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 3753 

3729```text theme={null}3754```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.3755Custom 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**Что делать:**3758**Что делать:**

3734 3759 

3735* Выберите встроенный стиль, например `/output-style concise`3760* Выберите встроенный стиль, например `/output-style concise`

3736* Чтобы использовать пользовательский стиль, установите [`outputStyle`](/docs/ru/settings-reference#outputstyle) в `.claude/settings.local.json` проекта или запустите `/output-style <style>` в собственном терминале сеанса, если он есть3761* Чтобы использовать пользовательский стиль, задайте [`outputStyle`](/docs/ru/settings-reference#outputstyle) в файле `.claude/settings.local.json` проекта или выполните `/output-style <style>` в собственном терминале сессии, если он есть

3737 3762 

3738<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">3763<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">

3739 Стили вывода сохраняются в локальные параметры, которые этот сеанс не загружает3764 Стили вывода сохраняются в локальные настройки, которые эта сессия не загружает

3740</h3>3765</h3>

3741 3766 

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 отказывает вместо записи параметра, который не имел бы эффекта:3767Вы попытались переключить [стиль вывода](/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 3768 

3744```text theme={null}3769```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.3770Output 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 3772 

3748**Что делать:**3773**Что делать:**

3749 3774 

3750* Добавьте `local` в источники параметров сеанса и переключитесь снова3775* Добавьте `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)3776* Задайте ключ [`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 3777 

3753<h2 id="plugin-errors">3778<h2 id="plugin-errors">

3754 Ошибки плагинов3779 Ошибки плагинов


4473До версии 2.1.285 проверка с ограничением скорости сообщалась с сообщением `Unable to verify` вместо этого.4498До версии 2.1.285 проверка с ограничением скорости сообщалась с сообщением `Unable to verify` вместо этого.

4474 4499 

4475<h2 id="background-session-errors">4500<h2 id="background-session-errors">

4476 Ошибки фоновых сеансов4501 Ошибки фоновых сессий

4477</h2>4502</h2>

4478 4503 

4479[Фоновые сеансы](/docs/ru/agent-view) работают без собственного интерактивного терминала, поэтому команды, которым он требуется, ведут себя там иначе. Эти сообщения появляются в стенограмме фонового сеанса, в терминале, подключённом к нему, в сеансе или оболочке, из которой вы его запустили, или, для [записей worktree-guard](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) ниже, в любом сеансе, изолированном в worktree, или в работающем изолированном подагенте worktree; где сообщение относится к одной поверхности, его запись это указывает.4504[Фоновые сессии](/docs/ru/agent-view) работают без собственного интерактивного терминала, поэтому команды, которым он требуется, ведут себя в них иначе. Эти сообщения появляются в транскрипте фоновой сессии, в терминале, подключённом к ней, в сессии или оболочке, из которой вы её запустили, или, для [записей о защите worktree](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) ниже, в любой сессии, изолированной в worktree, или при работе субагента, изолированного в worktree; если сообщение относится только к одному интерфейсу, это указано в соответствующей записи.

4480 4505 

4481<h3 id="commands-refused-in-a-background-session">4506<h3 id="commands-refused-in-a-background-session">

4482 Команды, отклонённые в фоновом сеансе4507 Команды, отклонённые в фоновой сессии

4483</h3>4508</h3>

4484 4509 

4485Команды, которые открывают интерактивный диалог, не могут это делать, пока к фоновому сеансу не подключён терминал. `/install-github-app`, список параметров `/mcp` и действия аутентификации в меню сервера MCP отвечают сообщением. Для `/install-github-app` и списка параметров `/mcp` сеанс также появляется под **Needs input** в [представлении агента](/docs/ru/agent-view), чтобы вы могли его найти, подключиться и запустить команду снова. Пока терминал подключён, эти команды работают нормально.4510Команды, которые открывают интерактивное диалоговое окно, не могут этого сделать, пока к фоновой сессии не подключён терминал. `/install-github-app`, список настроек `/mcp` и действия аутентификации в меню MCP-сервера отвечают сообщением. Для `/install-github-app` и списка настроек `/mcp` сессия также появляется в разделе **Needs input** в [представлении агента](/docs/ru/agent-view), чтобы вы могли найти её, подключиться и запустить команду снова. Пока терминал подключён, эти команды работают как обычно.

4486 4511 

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 обновления вместо открытия браузера.4512До версии 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 4513 

4489Формулировка называет команду. Список параметров `/mcp` сообщает:4514В формулировке указывается команда. Список настроек `/mcp` сообщает:

4490 4515 

4491```text theme={null}4516```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.4517Can'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 4519 

4495**Что делать:**4520**Что делать:**

4496 4521 

4497* Подключитесь к сеансу из представления агента и запустите команду снова4522* Подключитесь к сессии из представления агента и запустите команду снова

4498* Или используйте форму, которую называет сообщение, например `/mcp reconnect <server>`, `/mcp enable` или `/mcp disable`, которые работают без подключения4523* Или используйте форму, указанную в сообщении, например `/mcp reconnect <server>`, `/mcp enable` или `/mcp disable`, которые работают без подключения

4499 4524 

4500<h3 id="write-or-command-blocked-because-the-path-cannot-be-safely-resolved">4525<h3 id="write-or-command-blocked-because-the-path-cannot-be-safely-resolved">

4501 Запись или команда заблокирована, потому что путь не может быть безопасно разрешён4526 Запись или команда заблокирована, потому что путь невозможно безопасно разрешить

4502</h3>4527</h3>

4503 4528 

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). Она разрешает символические ссылки перед проверкой того, что операция не достигает общей проверки, и когда разрешение не удаётся, она блокирует операцию вместо того, чтобы позволить ей туда попасть. Сообщение называет формы пути, которые она отклоняет, и как повторить попытку:4529Claude обратился к файлу или рабочему каталогу через написание пути, которое [защита изоляции в 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 4530 

4506```text theme={null}4531```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.4532This 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```4533```

4509 4534 

4510Заблокированная команда сообщает ту же причину для своего рабочего каталога и заканчивается `re-run the command from its direct symlink-free path`. До версии 2.1.217 защита сравнивала написания пути без разрешения символических ссылок, поэтому эти написания не блокировались и запись, маршрутизированная через символическую ссылку, могла попасть в общую проверку.4535Заблокированная команда сообщает ту же причину для своего рабочего каталога, и сообщение заканчивается на `re-run the command from its direct symlink-free path`. До версии 2.1.217 защита сравнивала написания путей без разрешения символических ссылок, поэтому такие написания не блокировались, и запись через символическую ссылку могла попасть в общую рабочую копию.

4511 4536 

4512**Что делать:**4537**Что делать:**

4513 4538 

4514* Обычно ничего: полное сообщение идёт к Claude как ошибка инструмента, и Claude повторяет попытку с прямым путём, который он называет. Для заблокированного редактирования файла представление разговора показывает только короткую строку `Error editing file`; полное сообщение появляется в представлении стенограммы, которое вы открываете с помощью `Ctrl+O`. Заблокированная команда выводит его в выходные данные команды.4539* Обычно ничего: полное сообщение передаётся Claude как ошибка инструмента, и Claude повторяет попытку с указанным в нём прямым путём. Для заблокированного редактирования файла в представлении диалога показывается только короткая строка `Error editing file`; полное сообщение появляется в представлении транскрипта, которое открывается сочетанием `Ctrl+O`. Заблокированная команда выводит его в своём выводе.

4515* Если блокировка повторяется на том же файле, путь, вероятно, проходит через зафиксированную символическую ссылку, цель которой содержит `..`, например `docs/current -> ../README.md`; попросите Claude отредактировать целевой файл по его реальному пути вместо ссылки4540* Если блокировка повторяется для одного и того же файла, путь, вероятно, проходит через закоммиченную символическую ссылку, цель которой содержит `..`, например `docs/current -> ../README.md`; попросите Claude отредактировать целевой файл по его реальному пути, а не через ссылку

4516 4541 

4517<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">4542<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">

4518 Запись или команда заблокирована, потому что путь называет сетевое расположение4543 Запись или команда заблокирована, потому что путь указывает на сетевое расположение

4519</h3>4544</h3>

4520 4545 

4521Claude обратился к файлу или рабочему каталогу через путь, который называет диск, которого нет на вашей машине, общую папку UNC, например `\\server\share\file`, или путь автомонтирования `/net`, в то время как проверка сеанса находится на локальном диске. Та же [защита изоляции worktree](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) не может проверить, что такой путь остаётся вне общей проверки, поэтому она блокирует операцию. Изоляция сеанса в worktree не снимает блокировку. Сообщение называет форму пути для использования вместо этого:4546Claude обратился к файлу или рабочему каталогу через путь, указывающий на диск, которого нет на вашем компьютере, на общий ресурс UNC, например `\\server\share\file`, или на путь автомонтирования `/net`, тогда как рабочая копия сессии находится на локальном диске. Та же [защита изоляции в worktree](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) не может проверить, что такой путь не затрагивает общую рабочую копию, поэтому блокирует операцию. Изоляция сессии в worktree не снимает блокировку. Сообщение называет форму пути, которую следует использовать вместо этого:

4522 4547 

4523```text theme={null}4548```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.4549This 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```4550```

4526 4551 

4527Заблокированная команда сообщает ту же причину для своего рабочего каталога и заканчивается `re-run the command from its local, plainly-spelled path`. До версии 2.1.217 защита сравнивала только текст пути, поэтому обращение к файлу внутри проверки через путь UNC или `/net` не блокировалось.4552Заблокированная команда сообщает ту же причину для своего рабочего каталога, и сообщение заканчивается на `re-run the command from its local, plainly-spelled path`. До версии 2.1.217 защита сравнивала только текст пути, поэтому обращение к файлу внутри рабочей копии через путь UNC или `/net` не блокировалось.

4528 4553 

4529**Что делать:**4554**Что делать:**

4530 4555 

4531* Обычно ничего: Claude повторяет попытку с локальным написанием, которое просит сообщение4556* Обычно ничего: Claude повторяет попытку с локальным написанием пути, которое запрашивает сообщение

4532 4557 

4533<h3 id="command-blocked-by-the-worktree-isolation-checks">4558<h3 id="command-blocked-by-the-worktree-isolation-checks">

4534 Команда заблокирована проверками изоляции worktree4559 Команда заблокирована проверками изоляции в worktree

4535</h3>4560</h3>

4536 4561 

4537Claude запустил команду Bash или Monitor в [сеансе, изолированном в worktree](/docs/ru/worktrees#how-claude-code-enforces-isolation), и Claude Code отклонил её по одной из двух причин:4562Claude запустил команду Bash или Monitor в [сессии, изолированной в worktree](/docs/ru/worktrees#how-claude-code-enforces-isolation), и Claude Code отклонил её по одной из двух причин:

4538 4563 

4539* Команда указывает git на основную проверку.4564* Команда направляет git на основную рабочую копию.

4540* Claude Code не может проверить из текста команды, что любой git, который запускает команда, остаётся внутри worktree. Команда, которая никогда не называет git, всё ещё может быть отклонена по этой причине, потому что расширение косвенного обращения переменной, такого как `${!name}`, или запуск подстановки функции Bash, такой как `${ command; }`, производит значение во время выполнения, которое само может быть командой.4565* Claude Code не может проверить по тексту команды, что любой запускаемый ею git остаётся внутри worktree. Команда, в которой git вообще не упоминается, тоже может быть отклонена по этой причине, потому что раскрытие косвенной ссылки на переменную, например `${!name}`, или выполнение подстановки функции Bash, например `${ command; }`, порождает во время выполнения значение, которое само может быть командой.

4541 4566 

4542Середина сообщения называет то, что не могло быть проверено:4567Средняя часть сообщения называет то, что не удалось проверить:

4543 4568 

4544```text wrap theme={null}4569```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.4570This 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 4572 

4548**Что делать:**4573**Что делать:**

4549 4574 

4550* Обычно ничего: Claude читает сообщение и переписывает команду так, как просит его последнее предложение4575* Обычно ничего: Claude читает сообщение и переписывает команду так, как просит последнее предложение

4551* Если команда, которую вы просили, продолжает отклоняться, напишите отмеченное значение буквально: замените косвенное обращение или подстановку его значением и запустите git как отдельную простую команду из внутри worktree4576* Если запрошенная вами команда продолжает отклоняться, запишите отмеченное значение буквально: замените косвенную ссылку или подстановку её значением и запустите git отдельной простой командой изнутри worktree

4552* Чтобы действовать на основной проверке намеренно, запустите команду самостоятельно в терминале вне сеанса4577* Чтобы намеренно выполнить действие в основной рабочей копии, запустите команду самостоятельно в терминале вне сессии

4553 4578 

4554<h3 id="this-session-has-no-saved-transcript">4579<h3 id="this-session-has-no-saved-transcript">

4555 Этот сеанс не имеет сохранённой стенограммы4580 У этой сессии нет сохранённого транскрипта

4556</h3>4581</h3>

4557 4582 

4558Вы подключились к остановленному [фоновому сеансу](/docs/ru/agent-view), который был отправлен в фон из другого разговора с `←` или `/background` и остановлен до завершения его первого ответа. До завершения этого первого ответа разговор всё ещё существует только в сеансе, из которого он был отправлен в фон, поэтому `claude attach` отказывает в запуске остановленного сеанса вместо того, чтобы начать пустой разговор с тем же ID сеанса. Сообщение заканчивается командой `claude respawn` для этого сеанса:4583Вы подключились к остановленной [фоновой сессии](/docs/ru/agent-view), которая была переведена в фон из другого диалога с помощью `←` или `/background` и остановлена до завершения первого ответа. Пока первый ответ не завершён, диалог существует только в сессии, из которой он был переведён в фон, поэтому `claude attach` отказывается запускать остановленную сессию, а не начинает пустой диалог под тем же ID сессии. Сообщение заканчивается командой `claude respawn` для этой сессии:

4559 4584 

4560```text theme={null}4585```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.4586This 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```4587```

4563 4588 

4564Открытие той же строки сеанса в [представлении агента](/docs/ru/agent-view) показывает `Press enter again to restart this session fresh` ниже списка, и второе нажатие `Enter` на строке перезапускает сеанс с пустым разговором. До версии 2.1.212 открытие строки показывало сообщение об отказе без способа перезапуска из представления агента. До версии 2.1.211 открытие остановленного сеанса молча запускало этот пустой разговор и могло повторно запустить исходный запрос сеанса.4589При открытии строки той же сессии в [представлении агента](/docs/ru/agent-view) вместо этого под списком показывается `Press enter again to restart this session fresh`, и повторное нажатие `Enter` на строке перезапускает сессию с пустым диалогом. До версии 2.1.212 при открытии строки показывалось сообщение об отказе без возможности перезапуска из представления агента. До версии 2.1.211 открытие остановленной сессии молча запускало пустой диалог и могло повторно выполнить исходный промпт сессии.

4565 4590 

4566**Что делать:**4591**Что делать:**

4567 4592 

4568* Разговор, который вы отправили в фон, остаётся нетронутым: возобновите его с помощью [`claude --resume`](/docs/ru/sessions) или продолжайте работать в нём4593* Диалог, из которого вы перевели сессию в фон, не пострадал: возобновите его с помощью [`claude --resume`](/docs/ru/sessions) или продолжайте работать в нём

4569* Чтобы запустить остановленный сеанс заново, запустите `claude respawn <id>` с ID из сообщения или нажмите `Enter` дважды на его строке в представлении агента4594* Чтобы всё же запустить остановленную сессию заново, выполните `claude respawn <id>` с ID из сообщения или дважды нажмите `Enter` на её строке в представлении агента

4570* Если сеанс завершил ответ и вы всё ещё видите этот отказ в версии до 2.1.214, нечитаемая папка в `~/.claude/projects` могла заставить сканирование стенограммы пропустить сохранённый разговор; обновитесь до версии 2.1.214 или позже, которая допускает нечитаемые папки во время сканирования4595* Если сессия завершила ответ, а вы всё равно видите этот отказ в версии до 2.1.214, нечитаемая папка в `~/.claude/projects` могла привести к тому, что при сканировании транскриптов сохранённый диалог был пропущен; обновитесь до версии 2.1.214 или новее, которая допускает нечитаемые папки при сканировании

4571 4596 

4572<h3 id="this-session-is-running-in-another-terminal">4597<h3 id="this-session-is-running-in-another-terminal">

4573 Этот сеанс работает в другом терминале4598 Эта сессия запущена в другом терминале

4574</h3>4599</h3>

4575 4600 

4576Вы открыли строку остановленного сеанса в [представлении агента](/docs/ru/agent-view), и его сохранённый разговор уже открыт в другом живом процессе Claude Code на этой машине, поэтому Claude Code отказывает в запуске второго процесса, который писал бы в ту же стенограмму. Какое сообщение вы видите, зависит от [того, что держит разговор](/docs/ru/agent-view#opening-a-session-says-the-conversation-is-already-open):4601Вы открыли строку остановленной сессии в [представлении агента](/docs/ru/agent-view), а её сохранённый диалог уже открыт в другом работающем процессе Claude Code на этом компьютере, поэтому Claude Code отказывается запускать второй процесс, который записывал бы в тот же транскрипт. Какое сообщение вы увидите, зависит от того, [что удерживает диалог](/docs/ru/agent-view#opening-a-session-says-the-conversation-is-already-open):

4577 4602 

4578```text theme={null}4603```text theme={null}

4579Can't open — this session is running in another terminal4604Can'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 again4605This conversation is already open in another running Claude session — use that one, or close it and try again

4581```4606```

4582 4607 

4583* **`running in another terminal`**: терминал держит разговор, например тот, где вы возобновили его с помощью `claude --resume` или `/resume`. Строка также показывает `Open in a terminal`.4608* **`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) для того же разговора, который ещё не вышел.4609* **`already open in another running Claude session`**: его удерживает другой неинтерактивный процесс Claude Code, например процесс [фоновой сессии](/docs/ru/agent-view#the-supervisor-process) для того же диалога, который ещё не завершился.

4585 4610 

4586Claude Code сохраняет ответ, который вы напечатали при открытии строки, и отправляет его как следующий запрос сеанса, когда сеанс в следующий раз запустится.4611Claude Code сохраняет ответ, который вы ввели при открытии строки, и отправляет его как следующий промпт сессии при её следующем запуске.

4587 4612 

4588**Что делать:**4613**Что делать:**

4589 4614 

4590* Продолжите разговор в процессе, который его имеет, или выйдите из этого процесса и откройте строку снова4615* Продолжите диалог в процессе, в котором он открыт, или завершите этот процесс и снова откройте строку

4591 4616 

4592До версии 2.1.248 существовал только отказ `already open in another running Claude session`: разговор, возобновленный в терминале, не считался открытым, и открытие строки запускало второй процесс Claude Code, пишущий в тот же разговор.4617До версии 2.1.248 существовал только отказ `already open in another running Claude session`: диалог, возобновлённый в терминале, не считался открытым, и при открытии строки запускался второй процесс Claude Code, записывающий в тот же диалог.

4593 4618 

4594<h3 id="this-sessions-saved-conversation-is-no-longer-on-disk">4619<h3 id="this-sessions-saved-conversation-is-no-longer-on-disk">

4595 Сохранённый разговор этого сеанса больше не находится на диске4620 Сохранённый диалог этой сессии больше не находится на диске

4596</h3>4621</h3>

4597 4622 

4598Вы открыли [фоновый сеанс](/docs/ru/agent-view), который завершился, пока фоновая служба была отключена, и [очистка стенограммы](/docs/ru/settings-reference#cleanupperioddays) с тех пор удалила его сохранённый разговор, например после того, как машина была отключена в течение недель. Открытие такой строки обычно [возобновляет её сохранённый разговор](/docs/ru/agent-view#sessions-show-as-failed-after-shutdown). Когда нечего возобновлять, Claude Code отказывает вместо того, чтобы повторно запустить исходный запрос сеанса без вопроса:4623Вы открыли [фоновую сессию](/docs/ru/agent-view), которая завершилась, пока фоновая служба была выключена, и с тех пор [очистка транскриптов](/docs/ru/settings-reference#cleanupperioddays) удалила её сохранённый диалог, например после того, как компьютер был выключен несколько недель. Открытие такой строки обычно [возобновляет её сохранённый диалог](/docs/ru/agent-view#sessions-show-as-failed-after-shutdown). Когда возобновлять нечего, Claude Code отказывает, а не выполняет исходный промпт сессии повторно без вашего ведома:

4599 4624 

4600```text theme={null}4625```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.4626This 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```4627```

4603 4628 

4604`claude attach <id>` выводит этот текст. В представлении агента нижний колонтитул короче и заканчивается `ctrl+x deletes the row`.4629`claude attach <id>` выводит этот текст. В представлении агента нижняя строка короче и заканчивается на `ctrl+x deletes the row`.

4605 4630 

4606**Что делать:**4631**Что делать:**

4607 4632 

4608* Запустите `claude rm <id>` для удаления строки. Когда применяется один из [сохраняемых случаев](/docs/ru/agent-view#what-deleting-a-session-removes), `claude rm` сохраняет строку и worktree вместо этого и называет причину4633* Выполните `claude rm <id>`, чтобы удалить строку. Если применим один из [случаев сохранения](/docs/ru/agent-view#what-deleting-a-session-removes), `claude rm` вместо этого сохраняет строку и worktree и называет причину

4609* Чтобы запустить исходный запрос сеанса снова как новый разговор, запустите `claude respawn <id>`4634* Чтобы снова выполнить исходный промпт сессии в новом диалоге, выполните `claude respawn <id>`

4610 4635 

4611До версии 2.1.248 открытие такой строки повторно запускало исходный запрос сеанса вместо отказа, вытягивая задачу, которая была неделю назад, на передний план.4636До версии 2.1.248 открытие такой строки вместо отказа повторно выполняло исходный промпт сессии, возвращая на передний план задачу многонедельной давности.

4612 4637 

4613<h3 id="worktree-has-commits-that-are-not-pushed-anywhere">4638<h3 id="worktree-has-commits-that-are-not-pushed-anywhere">

4614 Worktree имеет коммиты, которые не отправлены никуда4639 В worktree есть коммиты, которые никуда не отправлены

4615</h3>4640</h3>

4616 4641 

4617Вы попытались удалить [фоновый сеанс](/docs/ru/agent-view#what-deleting-a-session-removes), чей worktree содержит коммиты, которые Claude Code не может подтвердить, что они сохранены где-то ещё. Claude Code сохраняет worktree и строку сеанса вместо того, чтобы уничтожить коммиты без присмотра. `claude rm` называет ветвь и неотправленные коммиты и говорит, как действовать:4642Вы попытались удалить [фоновую сессию](/docs/ru/agent-view#what-deleting-a-session-removes), worktree которой содержит коммиты, сохранность которых где-либо ещё Claude Code не может подтвердить. Claude Code сохраняет worktree и строку сессии, а не уничтожает коммиты незаметно для вас. `claude rm` называет ветку и неотправленные коммиты и сообщает, как действовать дальше:

4618 4643 

4619```text theme={null}4644```text theme={null}

4620kept 7c5dcf5d — its worktree is still at "/home/you/project/.claude/worktrees/fix-login"4645kept 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.4646 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@0123456789abcdef0123456789abcdef4647 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef

4623```4648```

4624 4649 

4625Когда Claude Code не может суммировать коммиты, сообщение читается `The worktree has unpushed commits` вместо этого. В [представлении агента](/docs/ru/agent-view) строка сеанса показывает `not deleted` с той же причиной.4650Если Claude Code не может составить сводку коммитов, строка с подробностями вместо этого гласит `The worktree has unpushed commits`. В [представлении агента](/docs/ru/agent-view) строка сессии показывает `not deleted` с той же причиной.

4626 4651 

4627Коммиты на удалённом хранилище не блокируют удаление. Также не блокируют коммиты на локальной копии ветви по умолчанию вашего удалённого хранилища `origin`, пока эта ветвь проверена в вашей основной проверке, в самом каталоге репозитория, а не в worktree.4652Коммиты, находящиеся в удалённом репозитории, не блокируют удаление. Не блокируют его и коммиты в локальной копии ветки по умолчанию удалённого репозитория `origin`, если эта ветка извлечена в вашей основной рабочей копии, то есть в самом каталоге репозитория, а не в worktree.

4628 4653 

4629**Что делать:**4654**Что делать:**

4630 4655 

4631* Чтобы сохранить коммиты, отправьте ветвь worktree или объедините её в ветвь по умолчанию, проверенную в вашей основной проверке, затем удалите сеанс снова4656* Чтобы сохранить коммиты, отправьте ветку worktree или выполните её слияние с веткой по умолчанию, извлечённой в основной рабочей копии, затем снова удалите сессию

4632* Чтобы отклонить коммиты, запустите команду `claude rm <id> --discard-unpushed`, которую выводит сообщение, или нажмите `Ctrl+X` дважды на строке сеанса в представлении агента снова. Это удаляет сеанс и worktree вместе с его ветвью, неотправленными коммитами и любыми незафиксированными изменениями. Если worktree получил коммит с момента отказа, Claude Code сохраняет его снова и показывает обновленное состояние4657* Чтобы отбросить коммиты, выполните команду `claude rm <id> --discard-unpushed`, выведенную в сообщении, или снова дважды нажмите `Ctrl+X` на строке сессии в представлении агента. Это удаляет сессию и worktree вместе с его веткой, неотправленными коммитами и любыми незакоммиченными изменениями. Если после отказа в worktree появился новый коммит, Claude Code снова сохраняет его и показывает обновлённое состояние

4633* Когда сообщение говорит, что worktree также записан другим завершённым сеансом, удаление снова не отклоняет его: отправьте коммиты, затем удалите сеанс снова4658* Если в сообщении сказано, что worktree также записан за другой завершённой сессией, повторное удаление не отбрасывает его: отправьте коммиты, затем снова удалите сессию

4634 4659 

4635До версии 2.1.268 `claude rm` помещал сводку коммитов на саму строку `kept`. Когда `claude rm` не мог суммировать коммиты, строка `kept` читалась `worktree has commits that are not pushed anywhere` вместо сводки.4660До версии 2.1.268 `claude rm` помещал сводку коммитов прямо в строку `kept`. Если `claude rm` не мог составить сводку коммитов, строка `kept` вместо сводки гласила `worktree has commits that are not pushed anywhere`.

4636 4661 

4637До версии 2.1.260 сообщение не называло ветвь или коммиты, и удаление снова отклонялось так же: удаление сеанса без отправки означало удаление worktree самостоятельно с помощью `git worktree remove --force <path>`, затем запуск `claude rm <id>` снова.4662До версии 2.1.260 сообщение не называло ветку и коммиты, а повторное удаление отклонялось точно так же: чтобы удалить сессию без отправки коммитов, нужно было самостоятельно удалить worktree командой `git worktree remove --force <path>`, а затем снова выполнить `claude rm <id>`.

4638 4663 

4639До версии 2.1.248 ветвь по умолчанию, проверенная в вашей основной проверке, не считалась: ветвь, которую вы уже объединили там, всё ещё вызывала этот отказ, пока её коммиты не достигали удалённого хранилища.4664До версии 2.1.248 ветка по умолчанию, извлечённая в основной рабочей копии, не учитывалась: ветка, слияние которой вы уже там выполнили, всё равно вызывала этот отказ, пока её коммиты не попадали в удалённый репозиторий.

4640 4665 

4641<h3 id="terminal-host-process-died">4666<h3 id="terminal-host-process-died">

4642 Процесс хоста терминала умер4667 Процесс хоста терминала завершился аварийно

4643</h3>4668</h3>

4644 4669 

4645Каждый терминал [фонового сеанса](/docs/ru/agent-view) работает в процессе хоста под фоновой службой, и этот процесс умер, пока служба всё ещё держала его соединение, поэтому сеанс не мог быть достигнут.4670Терминал каждой [фоновой сессии](/docs/ru/agent-view) работает в процессе хоста под управлением фоновой службы, и этот процесс завершился аварийно, пока служба ещё удерживала соединение с ним, поэтому сессия стала недоступна.

4646 4671 

4647На Linux и WSL фоновая служба проверяет каждый процесс хоста каждые несколько секунд, отмечает сеанс как неудачный, когда процесс вышел, но его соединение со службой никогда не закрывалось, и показывает причину на его строке в [представлении агента](/docs/ru/agent-view#read-session-state):4672В Linux и WSL фоновая служба проверяет каждый процесс хоста раз в несколько секунд, помечает сессию как сбойную, если процесс завершился, а его соединение со службой так и не закрылось, и показывает причину в строке сессии в [представлении агента](/docs/ru/agent-view#read-session-state):

4648 4673 

4649```text theme={null}4674```text theme={null}

4650terminal host process died — press Enter to restart4675terminal host process died — press Enter to restart

4651```4676```

4652 4677 

4653Из оболочки `claude attach <id>` перезапускает сеанс, уже отмеченный как неудачный для мёртвого хоста, и в противном случае выводит причину и выходит:4678Из оболочки `claude attach <id>` перезапускает сессию, уже помеченную как сбойную из-за завершившегося хоста, а в противном случае выводит причину и завершается:

4654 4679 

4655```text theme={null}4680```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.4681Couldn'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```4682```

4658 4683 

4659Разговор сохраняется в любом случае.4684Диалог в любом случае сохраняется.

4660 4685 

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 никогда не повторно запускает команду для вас.4686Строка, в которой вместо этого выполняется [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 4687 

4663**Что делать:**4688**Что делать:**

4664 4689 

4665* В представлении агента нажмите `Enter` на неудачной строке; сеанс перезапускается на свежем процессе хоста и разговор возобновляется4690* В представлении агента нажмите `Enter` на сбойной строке; сессия перезапустится в новом процессе хоста, и диалог возобновится

4666* Из оболочки запустите `claude attach <id>` снова. Claude Code выводит `Session <id>'s terminal host died — restarting it on a fresh one…` и повторно открывает сеанс4691* Из оболочки снова выполните `claude attach <id>`. Claude Code выведет `Session <id>'s terminal host died — restarting it on a fresh one…` и заново откроет сессию

4667* Вы не можете перезапустить строку shell-command таким образом; отправьте команду снова для её повторного запуска4692* Строку с shell-командой так перезапустить нельзя; чтобы выполнить команду повторно, запустите её снова

4668 4693 

4669До версии 2.1.247 мёртвый процесс хоста мог пройти каждую проверку живучести, которую запускала фоновая служба, поэтому открытие сеанса показывало `opening… · esc to cancel` бесконечно и `claude attach <id>` ждал без сообщения об ошибке.4694До версии 2.1.247 завершившийся процесс хоста мог проходить все проверки работоспособности, выполняемые фоновой службой, поэтому при открытии сессии бесконечно показывалось `opening… · esc to cancel`, а `claude attach <id>` ожидал, не сообщая об ошибке.

4670 4695 

4671<h3 id="session-isnt-responding">4696<h3 id="session-isnt-responding">

4672 Сеанс не отвечает4697 Сессия не отвечает

4673</h3>4698</h3>

4674 4699 

4675Вы открыли [фоновый сеанс](/docs/ru/agent-view) и фоновая служба приняла открытие, но никакой выход не прибыл примерно за десять секунд, поэтому Claude Code заключает, что процесс, передающий терминал сеанса, не может доставить выход, и заканчивает попытку вместо ожидания.4700Вы открыли [фоновую сессию](/docs/ru/agent-view), и фоновая служба приняла запрос на открытие, но вывод не поступал около десяти секунд, поэтому Claude Code заключает, что процесс, передающий терминал сессии, не может доставить вывод, и прекращает попытку вместо ожидания.

4676 4701 

4677В представлении агента Claude Code предлагает перезапуск в нижнем колонтитуле:4702В представлении агента Claude Code предлагает перезапуск в нижней строке:

4678 4703 

4679```text theme={null}4704```text theme={null}

4680Press enter again to restart this session — it isn't responding (its conversation is saved and resumes).4705Press enter again to restart this session — it isn't responding (its conversation is saved and resumes).

4681```4706```

4682 4707 

4683Из оболочки `claude attach <id>` выводит причину и выходит:4708Из оболочки `claude attach <id>` выводит причину и завершается:

4684 4709 

4685```text theme={null}4710```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).4711Couldn't attach to <id> — Session isn't responding — `claude stop <id>`, then `claude attach <id>` restarts it (the conversation is saved).

4687```4712```

4688 4713 

4689Claude Code никогда не перезапускает строку, работающую с [командой оболочки](/docs/ru/agent-view#run-a-shell-command) для вас, потому что перезапуск запустил бы команду снова.4714Claude Code никогда не перезапускает за вас строку, в которой выполняется [shell-команда](/docs/ru/agent-view#run-a-shell-command), потому что перезапуск выполнил бы команду повторно.

4690 4715 

4691**Что делать:**4716**Что делать:**

4692 4717 

4693* В представлении агента нажмите `Enter` на той же строке снова. Claude Code останавливает неответивший процесс и перезапускает сеанс, и разговор возобновляется. Ничего не останавливается без этого второго нажатия4718* В представлении агента снова нажмите `Enter` на той же строке. Claude Code остановит не отвечающий процесс и перезапустит сессию, и диалог возобновится. Без этого второго нажатия ничего не останавливается

4694* Из оболочки запустите `claude stop <id>`, затем `claude attach <id>`4719* Из оболочки выполните `claude stop <id>`, затем `claude attach <id>`

4695* Для строки shell-command нажмите `Ctrl+X` в представлении агента или запустите `claude stop <id>` для её остановки; отправьте команду снова для её повторного запуска4720* Для строки с shell-командой нажмите `Ctrl+X` в представлении агента или выполните `claude stop <id>`, чтобы остановить её; чтобы выполнить команду повторно, запустите её снова

4696 4721 

4697<h3 id="session-was-stopped-while-the-respawn-was-in-flight">4722<h3 id="session-was-stopped-while-the-respawn-was-in-flight">

4698 Сеанс был остановлен, пока перезапуск был в полёте4723 Сессия была остановлена во время перезапуска

4699</h3>4724</h3>

4700 4725 

4701Вы открыли [фоновый сеанс](/docs/ru/agent-view), чей процесс не работал, и пока Claude Code его перезапускал, другой процесс Claude Code остановил его, например `claude stop` в другом терминале. Claude Code держит сеанс остановленным:4726Вы открыли [фоновую сессию](/docs/ru/agent-view), процесс которой не работал, и пока Claude Code её перезапускал, другой процесс Claude Code остановил её, например `claude stop` в другом терминале. Claude Code оставляет сессию остановленной:

4702 4727 

4703```text theme={null}4728```text theme={null}

4704Session <id> was stopped while the respawn was in flight4729Session <id> was stopped while the respawn was in flight

4705```4730```

4706 4731 

4707Открытие сеанса, который вы только что отправили, пока его процесс всё ещё запускается, ждёт процесса вместо этого. До версии 2.1.246 открытие его в этот момент могло остановить его и показать это сообщение.4732При открытии только что запущенной сессии, процесс которой ещё стартует, Claude Code вместо этого ожидает процесс. До версии 2.1.246 открытие сессии в этот момент могло остановить её и вывести это сообщение.

4708 4733 

4709**Что делать:**4734**Что делать:**

4710 4735 

4711* Если вы не остановили сеанс, откройте его строку снова в представлении агента или запустите `claude respawn <id>` для его перезапуска4736* Если вы не останавливали сессию, снова откройте её строку в представлении агента или выполните `claude respawn <id>`, чтобы перезапустить её

4712* Если вы остановили его сами, ничего не остаётся делать: сеанс остаётся остановленным4737* Если вы остановили её сами, ничего делать не нужно: сессия остаётся остановленной

4713 4738 

4714<h3 id="session-agent-no-longer-available">4739<h3 id="session-agent-no-longer-available">

4715 Агент сеанса больше не доступен4740 Агент сессии больше недоступен

4716</h3>4741</h3>

4717 4742 

4718Вы возобновили сеанс, который работал [пользовательским агентом](/docs/ru/sub-agents#invoke-subagents-explicitly), запущенным с `--agent` или параметром `agent`, и Claude Code не нашёл агента с таким именем. Он сначала ищет в исходном каталоге сеанса, когда вы [доверили это рабочее пространство](/docs/ru/permissions#project-allow-rules-and-workspace-trust), затем в каталоге, из которого вы возобновляете. Сеанс всё ещё возобновляется, но с инструментами по умолчанию, поэтому ограничения инструментов агента больше не применяются:4743Вы возобновили сессию, в которой работал [пользовательский агент](/docs/ru/sub-agents#invoke-subagents-explicitly), запущенный с `--agent` или настройкой `agent`, и Claude Code не нашёл агента с таким именем. Сначала он ищет в исходном каталоге сессии, если вы [доверяете этому рабочему пространству](/docs/ru/permissions#project-allow-rules-and-workspace-trust), затем в каталоге, из которого вы возобновляете сессию. Сессия всё равно возобновляется, но с инструментами по умолчанию, поэтому ограничения инструментов агента больше не действуют:

4719 4744 

4720```text theme={null}4745```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>.4746This 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```4747```

4723 4748 

4724Предупреждение называет только каталоги, которые Claude Code искал, и оно появляется в возобновленном разговоре, пробудите ли вы [фоновый сеанс](/docs/ru/agent-view), запустите `/resume` или `claude --resume`, или возобновите в [неинтерактивном режиме](/docs/ru/headless), где оно также идёт в stderr. Сеансы, использующие `--input-format stream-json`, не показывают его, потому что Agent SDK поставляет агентов после запуска.4749Предупреждение называет только те каталоги, в которых искал Claude Code, и появляется в возобновлённом диалоге независимо от того, пробуждаете ли вы [фоновую сессию](/docs/ru/agent-view), выполняете `/resume` или `claude --resume` или возобновляете сессию в [неинтерактивном режиме](/docs/ru/headless), где оно также выводится в stderr. Сессии, использующие `--input-format stream-json`, его не показывают, потому что Agent SDK передаёт агентов после запуска.

4725 4750 

4726Claude Code не сохраняет откат в сеанс, поэтому предупреждение повторяется при каждом возобновлении, пока вы не действуете. Встроенный агент `claude` не вызывает предупреждение, так как откат к инструментам по умолчанию ничего не меняет для него. До версии 2.1.216 Claude Code молча продолжал как агент по умолчанию, и поиск охватывал только каталог, из которого вы возобновляли, поэтому агент, ограниченный проектом, был потерян при любом возобновлении из другого каталога.4751Claude Code не сохраняет резервный вариант в сессии, поэтому предупреждение повторяется при каждом возобновлении, пока вы не примете меры. Встроенный агент `claude` не вызывает предупреждения, поскольку переключение на набор инструментов по умолчанию для него ничего не меняет. До версии 2.1.216 Claude Code молча продолжал работу с агентом по умолчанию, а поиск охватывал только каталог, из которого вы возобновляли сессию, поэтому агент уровня проекта терялся при любом возобновлении из другого каталога.

4727 4752 

4728**Что делать:**4753**Что делать:**

4729 4754 

4730* Пересоздайте файл агента в `.claude/agents/<name>.md` в проекте сеанса или в `~/.claude/agents/<name>.md` для личного агента, затем возобновите снова4755* Создайте заново файл агента в `.claude/agents/<name>.md` в проекте сессии или в `~/.claude/agents/<name>.md` для личного агента, затем снова возобновите сессию

4731* Или возобновите с `--agent <name>`, называя агента, который действительно существует, для запуска сеанса как этого агента вместо этого4756* Или возобновите сессию с `--agent <name>`, указав существующего агента, чтобы запустить сессию с этим агентом

4732* Если агент ограничен проектом и вы не доверили исходному каталогу сеанса, запустите Claude Code там один раз, примите диалог доверия, затем возобновите снова4757* Если агент относится к уровню проекта и вы не доверяете исходному каталогу сессии, один раз запустите там Claude Code, примите диалоговое окно доверия, затем снова возобновите сессию

4733 4758 

4734<h3 id="claude_code_process_wrapper-launcher-errors">4759<h3 id="claude_code_process_wrapper-launcher-errors">

4735 Ошибки средства запуска CLAUDE\_CODE\_PROCESS\_WRAPPER4760 Ошибки средства запуска CLAUDE\_CODE\_PROCESS\_WRAPPER

4736</h3>4761</h3>

4737 4762 

4738[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/ru/corporate-launcher) установлен, и его значение не может быть использовано, поэтому Claude Code отказывает в запуске затронутого процесса вместо того, чтобы запустить его без средства запуска. Проблемы конфигурации сообщаются сообщением, которое начинается с имени переменной и указывает причину, например:4763Переменная [`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/ru/corporate-launcher) задана, но её значение нельзя использовать, поэтому Claude Code отказывается запускать затронутый процесс, а не запускает его без средства запуска. О проблемах конфигурации сообщается сообщением, которое начинается с имени переменной и указывает причину, например:

4739 4764 

4740```text theme={null}4765```text theme={null}

4741CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file4766CLAUDE_CODE_PROCESS_WRAPPER: launcher `/opt/corp/launcher` is not an executable regular file

4742```4767```

4743 4768 

4744Средство запуска, которое запускается, но выходит без замены себя на Claude Code, не удаётся сеансу, который оно запускало, и строка сеанса в представлении агента сообщает, что средство запуска `must exec, not daemonize`, за которым следует всё, что выводило средство запуска. Сеанс, который не может запуститься или достичь фоновую службу из-за средства запуска, сообщает проблему средства запуска как причину внутри `Couldn't reach the background service (...)`.4769Если средство запуска стартует, но завершается, не заменив себя на Claude Code, запускаемая им сессия завершается сбоем, и строка сессии в представлении агента сообщает, что средство запуска `must exec, not daemonize`, а затем всё, что оно вывело. Сессия, которая не может запуститься или связаться с фоновой службой из-за средства запуска, сообщает о проблеме со средством запуска как о причине внутри `Couldn't reach the background service (...)`.

4745 4770 

4746**Что делать:**4771**Что делать:**

4747 4772 

4748* Установите переменную на абсолютный путь исполняемого файла, который заканчивается вызовом `exec "$@"`. Смотрите [контракт средства запуска](/docs/ru/corporate-launcher#the-launcher-contract) для полного контракта4773* Задайте в переменной абсолютный путь к исполняемому файлу, который завершается вызовом `exec "$@"`. Полное описание см. в разделе [контракт средства запуска](/docs/ru/corporate-launcher#the-launcher-contract)

4749* Проверьте `/status`, который показывает разрешённую команду запуска в его записи Self-exec и предупреждает, когда работающая фоновая служба не совпадает с ней, или запустите `claude daemon status` из оболочки4774* Проверьте `/status`, который показывает разрешённую команду запуска в записи Self-exec и предупреждает, если работающая фоновая служба ей не соответствует, или выполните `claude daemon status` из оболочки

4750* После исправления значения в блоке `env` [параметров](/docs/ru/corporate-launcher#set-up-the-launcher), перезапустите фоновую службу с помощью `claude daemon stop --any`, чтобы следующая отправка запустила завёрнутую4775* После исправления значения в блоке `env` [настроек](/docs/ru/corporate-launcher#set-up-the-launcher) перезапустите фоновую службу командой `claude daemon stop --any`, чтобы при следующем запуске стартовала служба с обёрткой

4751 4776 

4752<h3 id="eunknown-when-starting-a-background-session">4777<h3 id="eunknown-when-starting-a-background-session">

4753 EUNKNOWN при запуске фонового сеанса4778 EUNKNOWN при запуске фоновой сессии

4754</h3>4779</h3>

4755 4780 

4756Windows отказала в запуске программы с кодом ошибки, который не имеет стандартного имени, поэтому сбой появляется как `EUNKNOWN`. Обычный триггер — это политика ограничения программного обеспечения, такая как Group Policy или AppLocker, блокирующая запускаемую программу. Ошибка появляется, когда вы запускаете [фоновый сеанс](/docs/ru/agent-view) с `/background` или `claude --bg`:4781Windows отказалась запускать программу с кодом ошибки, не имеющим стандартного имени, поэтому сбой отображается как `EUNKNOWN`. Обычно причина в политике ограничения программ, например Group Policy или AppLocker, которая блокирует запускаемую программу. Ошибка появляется при запуске [фоновой сессии](/docs/ru/agent-view) с помощью `/background` или `claude --bg`:

4757 4782 

4758```text theme={null}4783```text theme={null}

4759Couldn't reach the background service (spawn background service: EUNKNOWN: unknown error, uv_spawn) — run 'claude daemon status'4784Couldn't reach the background service (spawn background service: EUNKNOWN: unknown error, uv_spawn) — run 'claude daemon status'

4760```4785```

4761 4786 

4762На некоторых учётных записях сообщение говорит `daemon` вместо `background service`.4787В некоторых учётных записях в сообщении вместо `background service` указано `daemon`.

4763 4788 

4764При установке npm ошибка `EUNKNOWN`, которая появляется, пока `npm install -g @anthropic-ai/claude-code` заменяет двоичный файл, имеет ту же причину, что и [`EACCES` при переустановке](#eacces-when-starting-a-background-session) и очищается, когда вы повторяете попытку после завершения установки.4789При установке через npm ошибка `EUNKNOWN`, возникающая, пока `npm install -g @anthropic-ai/claude-code` заменяет двоичный файл, имеет ту же причину, что и [`EACCES` при переустановке](#eacces-when-starting-a-background-session), и исчезает, если повторить попытку после завершения установки.

4765 4790 

4766Claude Code запускает фоновую службу через PowerShell, чтобы служба пережила закрытие терминала, используя PowerShell 7, когда он установлен, и Windows PowerShell 5.1 в противном случае. Когда ни один PowerShell не может работать, Claude Code запускает службу напрямую вместо этого, поэтому политика, которая блокирует только PowerShell, не вызывает эту ошибку.4791Claude Code запускает фоновую службу через PowerShell, чтобы служба продолжала работать после закрытия терминала, используя PowerShell 7, если он установлен, и Windows PowerShell 5.1 в противном случае. Если ни одна версия PowerShell не может запуститься, Claude Code запускает службу напрямую, поэтому политика, блокирующая только PowerShell, не вызывает эту ошибку.

4767 4792 

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.4793До версии 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 4794 

4770**Что делать:**4795**Что делать:**

4771 4796 

4772* Если сообщение читается `Couldn't start the session`, обновитесь до версии 2.1.212 или позже. На более ранних версиях вы также можете запустить `claude daemon run` в отдельном терминале сначала, затем запустить фоновый сеанс снова. Эта команда запускает фоновую службу на переднем плане терминала, поэтому служба длится только столько, сколько этот терминал остаётся открытым.4797* Если в сообщении указано `Couldn't start the session`, обновитесь до версии 2.1.212 или новее. В более ранних версиях можно также сначала выполнить `claude daemon run` в отдельном терминале, а затем снова запустить фоновую сессию. Эта команда запускает фоновую службу на переднем плане терминала, поэтому служба работает только до тех пор, пока этот терминал открыт.

4773* Если установка npm заменяла двоичный файл, дождитесь её завершения, затем запустите фоновый сеанс снова4798* Если установка через npm заменяла двоичный файл, дождитесь её завершения, затем снова запустите фоновую сессию

4774* Если ошибка появляется в версии 2.1.212 или позже, пока не запущена установка npm, проверьте с администратором Windows, блокирует ли политика ограничения исполняемый файл Claude Code4799* Если ошибка появляется в версии 2.1.212 или новее, когда установка через npm не выполняется, уточните у администратора Windows, не блокирует ли политика ограничения исполняемый файл Claude Code

4775* Если фоновая служба останавливается при закрытии терминала, Claude Code запустил её без PowerShell. Установите PowerShell 7 или попросите администратора разблокировать PowerShell, чтобы служба могла пережить терминал.4800* Если фоновая служба останавливается при закрытии терминала, значит Claude Code запустил её без PowerShell. Установите PowerShell 7 или попросите администратора разблокировать PowerShell, чтобы служба могла работать после закрытия терминала.

4776 4801 

4777<h3 id="eacces-when-starting-a-background-session">4802<h3 id="eacces-when-starting-a-background-session">

4778 EACCES при запуске фонового сеанса4803 EACCES при запуске фоновой сессии

4779</h3>4804</h3>

4780 4805 

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):4806Claude 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 4807 

4783```text theme={null}4808```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'4809Couldn'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```4810```

4786 4811 

4787Когда вы запускаете сеанс с `/background` или `claude --bg`, та же причина появляется внутри `Couldn't reach the background service (...)`. Во время того же окна переустановки ошибка может называть другой код вместо этого, например `ENOENT` или `ENOEXEC`, или `EUNKNOWN` или `EPERM` на Windows; `EUNKNOWN`, который сохраняется при повторных попытках, имеет [другую причину](#eunknown-when-starting-a-background-session).4812Когда вы запускаете сессию с помощью `/background` или `claude --bg`, та же причина появляется внутри `Couldn't reach the background service (...)`. В тот же период переустановки ошибка может называть другой код, например `ENOENT` или `ENOEXEC`, либо `EUNKNOWN` или `EPERM` в Windows; у ошибки `EUNKNOWN`, которая сохраняется при повторных попытках, [другая причина](#eunknown-when-starting-a-background-session).

4788 4813 

4789При установке npm Claude Code ждёт завершения переустановки и повторяет попытку самостоятельно: до десяти секунд и до двух минут, пока установка npm Claude Code явно всё ещё работает на машине, что охватывает другой процесс Claude Code, загружающий обновление. Когда установка превышает это ожидание, сбой называет обновление вместо простого кода ошибки:4814При установке через npm Claude Code ожидает завершения переустановки и сам повторяет попытку: до десяти секунд, а пока на компьютере заметно продолжается установка Claude Code через npm — до двух минут, что покрывает случай, когда другой процесс Claude Code загружает обновление. Если установка длится дольше этого ожидания, сообщение о сбое называет обновление вместо голого кода ошибки:

4790 4815 

4791```text theme={null}4816```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 finishes4817Claude Code is being updated by npm on this machine (still not runnable after 2 min, EACCES) — try again when the update finishes

4793```4818```

4794 4819 

4795До версии 2.1.257 ожидание остановилось в десять секунд в каждом случае, поэтому эта ошибка появилась, пока другой процесс Claude Code всё ещё загружал обновление. До версии 2.1.246 Claude Code не удавался сразу же, без ожидания.4820До версии 2.1.257 ожидание во всех случаях прекращалось через десять секунд, поэтому эта ошибка появлялась, пока другой процесс Claude Code ещё загружал обновление. До версии 2.1.246 Claude Code сразу завершался сбоем без ожидания.

4796 4821 

4797**Что делать:**4822**Что делать:**

4798 4823 

4799* Подождите несколько секунд, затем откройте сеанс или отправьте снова. Когда сообщение говорит, что Claude Code обновляется, повторите попытку после завершения обновления.4824* Подождите несколько секунд, затем снова откройте сессию или запустите её. Если в сообщении сказано, что Claude Code обновляется, повторите попытку после завершения обновления.

4800* Если ошибка сохраняется, пока не запущена установка npm, ваш пользователь не может запустить установленный двоичный файл. Проверьте его разрешения и его каталога, или переустановите Claude Code.4825* Если ошибка сохраняется, когда установка через npm не выполняется, ваш пользователь не может запустить установленный двоичный файл. Проверьте права доступа к нему и к его каталогу или переустановите Claude Code.

4801 4826 

4802<h3 id="background-service-exited-before-it-became-reachable">4827<h3 id="background-service-exited-before-it-became-reachable">

4803 Фоновая служба вышла до того, как стала доступной4828 Фоновая служба завершилась, прежде чем стала доступна

4804</h3>4829</h3>

4805 4830 

4806Процесс, который Claude Code запустил как [фоновую службу](/docs/ru/agent-view#the-supervisor-process), вышел до того, как он принял соединения, поэтому Claude Code не мог открыть ваш сеанс. Когда служба выводила ошибку перед выходом, причина в скобках даёт код выхода или сигнал и первую строку, которую служба выводила, которая называет то, что её остановило:4831Процесс, который Claude Code запустил в качестве [фоновой службы](/docs/ru/agent-view#the-supervisor-process), завершился, прежде чем начал принимать соединения, поэтому Claude Code не смог открыть вашу сессию. Если служба перед завершением вывела ошибку, причина в скобках содержит код выхода или сигнал и первую выведенную службой строку, которая называет, что её остановило:

4807 4832 

4808```text theme={null}4833```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'4834Couldn'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```4835```

4811 4836 

4812Когда вы открываете сеанс из [представления агента](/docs/ru/agent-view), та же причина следует `Couldn't start the background service —`. Когда служба ничего не выводила перед выходом, сообщение говорит `nothing on stderr` вместо этого.4837Когда вы открываете сессию из [представления агента](/docs/ru/agent-view), та же причина следует за `Couldn't start the background service —`. Если служба перед завершением ничего не вывела, в сообщении вместо этого указано `nothing on stderr`.

4813 4838 

4814Claude Code сообщает об ошибке с линией ошибки службы. До версии 2.1.246 ошибка появлялась только после ожидания в 45 секунд, как `background service did not become reachable within 45s`, без линии ошибки службы.4839Claude Code сообщает о сбое вместе со строкой ошибки службы. До версии 2.1.246 сбой проявлялся только после 45-секундного ожидания в виде `background service did not become reachable within 45s`, без строки ошибки службы.

4815 4840 

4816Две цитируемые причины имеют известные причины:4841У двух приводимых причин есть известные источники:

4817 4842 

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 производило эту ошибку при каждом запуске во время окна установки.4843* `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 такая блокировка блокировала каждый запуск, пока вы не удалили файл.4844* `nothing on stderr` с кодом выхода 1 при каждом запуске в Windows: `daemon.lock` указывает на процесс, которому Claude Code не может отправить сигнал и завершение которого не может подтвердить, поэтому каждая новая служба решает, что блокировку удерживает другая служба, и завершается. Блокировка, записавший которую процесс Claude Code может признать завершённым, заменяется автоматически и не вызывает этого сбоя. Если сбой повторяется при каждом запуске, удалите `~/.claude/daemon.lock`, затем снова откройте сессию или запустите её. До версии 2.1.257 такая блокировка препятствовала каждому запуску, пока вы не удаляли файл.

4820 4845 

4821**Что делать:**4846**Что делать:**

4822 4847 

4823* Если сообщение цитирует строку, исправьте то, что она называет, затем откройте сеанс или отправьте снова. Следующая попытка запускает службу снова4848* Если в сообщении приведена строка, устраните указанную в ней проблему, затем снова откройте сессию или запустите её. Следующая попытка снова запустит службу

4824* Запустите `claude daemon status` для проверки, работает ли служба сейчас4849* Выполните `claude daemon status`, чтобы проверить, работает ли служба сейчас

4825 4850 

4826<h3 id="working-directory-no-longer-exists-when-starting-a-background-session">4851<h3 id="working-directory-no-longer-exists-when-starting-a-background-session">

4827 Рабочий каталог больше не существует при запуске фонового сеанса4852 Рабочий каталог больше не существует при запуске фоновой сессии

4828</h3>4853</h3>

4829 4854 

4830Вы попытались запустить [фоновый сеанс](/docs/ru/agent-view) в каталоге, который больше не существует. Claude Code не запускает сеанс, и сообщение называет отсутствующий каталог:4855Каталог, в котором вы запустили [фоновую сессию](/docs/ru/agent-view), был удалён во время запуска сессии. Claude Code не запускает сессию, а сообщение называет отсутствующий каталог:

4831 4856 

4832```text theme={null}4857```text theme={null}

4833Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)4858Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)

4834```4859```

4835 4860 

4836До версии 2.1.257 сеанс казался запущенным и затем показывался в представлении агента как неудачная строка с той же причиной.4861До версии 2.1.257 сессия как будто запускалась, а затем отображалась в представлении агента как сбойная строка с той же причиной.

4837 4862 

4838До версии 2.1.281 это сообщение также появлялось, когда каталог уже был удалён до того, как вы запустили сеанс. Этот случай сообщает [`could not be resolved on disk`](#workspace-not-trusted-when-dispatching-a-background-session).4863До версии 2.1.281 это сообщение появлялось и в том случае, когда каталог был удалён ещё до запуска сессии. В этом случае выводится [`could not be resolved on disk`](#workspace-not-trusted-when-dispatching-a-background-session).

4839 4864 

4840**Что делать:**4865**Что делать:**

4841 4866 

4842* Пересоздайте каталог, который называет сообщение, или отправьте из каталога, который существует, затем попробуйте снова4867* Создайте заново каталог, указанный в сообщении, или запустите сессию из существующего каталога, затем повторите попытку

4843 4868 

4844<h3 id="workspace-not-trusted-when-dispatching-a-background-session">4869<h3 id="workspace-not-trusted-when-dispatching-a-background-session">

4845 Рабочее пространство не доверено при отправке фонового сеанса4870 Рабочее пространство не является доверенным при запуске фоновой сессии

4846</h3>4871</h3>

4847 4872 

4848Вы запустили или перезапустили [фоновый сеанс](/docs/ru/agent-view) в каталоге, которому вы не [доверили](/docs/ru/permissions#project-allow-rules-and-workspace-trust), и диалог доверия рабочего пространства не мог появиться, чтобы спросить вас. Claude Code не запускает сеанс:4873Вы запустили или перезапустили [фоновую сессию](/docs/ru/agent-view) в каталоге, которому вы не [доверяете](/docs/ru/permissions#project-allow-rules-and-workspace-trust), и диалоговое окно доверия рабочему пространству не смогло появиться, чтобы спросить вас. Claude Code не запускает сессию:

4849 4874 

4850```text theme={null}4875```text theme={null}

4851Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.4876Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.

4852```4877```

4853 4878 

4854Из терминала в собственном каталоге сеанса та же команда показывает диалог доверия вместо этого и запускает сеанс после того, как вы примете. Это сообщение появляется там, где диалог не может, например в скрипте, или когда вы перезапускаете сеанс из каталога, отличного от его собственного.4879Если выполнить ту же команду из терминала в собственном каталоге сессии, вместо этого появится диалоговое окно доверия, и сессия запустится после того, как вы его примете. Это сообщение появляется там, где диалоговое окно показать нельзя, например в скрипте или при перезапуске сессии из каталога, отличного от её собственного.

4880 

4881Два варианта указывают на другую причину:

4855 4882 

4856Два варианта называют другую причину:4883* **`The home directory is trusted one session at a time`**: каталог сессии — ваш домашний каталог. Claude Code никогда не сохраняет доверие для домашнего каталога, поэтому принятие диалогового окна там в одной из прошлых сессий не учитывается.

4884* **`<path> could not be resolved on disk`**: Claude Code не смог найти каталог сессии на диске.

4857 4885 

4858* **`The home directory is trusted one session at a time`**: каталог сеанса — это ваш домашний каталог. Claude Code никогда не сохраняет доверие для домашнего каталога, поэтому принятие диалога там в более раннем сеансе не считается.4886До версии 2.1.286 в Windows это сообщение также могло появляться в каталоге, которому вы уже доверяли, если запись о доверии была сохранена с путём в другом регистре букв. Обновитесь до версии 2.1.286 или новее.

4859* **`<path> could not be resolved on disk`**: Claude Code не мог найти каталог сеанса на диске.

4860 4887 

4861**Что делать:**4888**Что делать:**

4862 4889 

4863* Запустите `claude` в каталоге, который называет сообщение, и примите диалог доверия, затем запустите команду снова4890* Выполните `claude` в каталоге, указанном в сообщении, и примите диалоговое окно доверия, затем снова выполните команду

4864* Для сообщения о домашнем каталоге запустите команду из терминала в вашем домашнем каталоге, чтобы диалог мог появиться, или запустите сеанс из каталога проекта вместо этого4891* Для сообщения о домашнем каталоге выполните команду из терминала в домашнем каталоге, чтобы диалоговое окно могло появиться, или запустите сессию из каталога проекта

4865* Для сообщения `could not be resolved on disk` пересоздайте каталог или запустите новый сеанс из каталога, который существует4892* Для сообщения `could not be resolved on disk` создайте каталог заново или запустите новую сессию из существующего каталога

4866 4893 

4867<h2 id="wrapper-and-ide-errors">4894<h2 id="wrapper-and-ide-errors">

4868 Ошибки обёртки и IDE4895 Ошибки обёртки и IDE

fullscreen.md +2 −0

Details

105* **Щелкните значение параметра в панели `/config`**, чтобы изменить его, и прокручивайте список параметров колесом мыши. Требуется Claude Code v2.1.271 или более поздняя версия.105* **Щелкните значение параметра в панели `/config`**, чтобы изменить его, и прокручивайте список параметров колесом мыши. Требуется Claude Code v2.1.271 или более поздняя версия.

106* **Прокручивайте меню выбора или множественного выбора колесом мыши**, когда оно содержит больше опций, чем может отобразить одновременно, например список `/model` в коротком окне терминала. Колесо прокручивает список, пока указатель находится над его опциями. Требуется Claude Code v2.1.280 или более поздняя версия.106* **Прокручивайте меню выбора или множественного выбора колесом мыши**, когда оно содержит больше опций, чем может отобразить одновременно, например список `/model` в коротком окне терминала. Колесо прокручивает список, пока указатель находится над его опциями. Требуется Claude Code v2.1.280 или более поздняя версия.

107* **Прокручивайте переполняющийся список с помощью его полосы прокрутки.** В панелях списков, таких как `/skills`, `/mcp` и список Installed в `/plugin`, полоса прокрутки появляется рядом со списком, содержащим больше строк, чем может поместиться, пока указатель находится над ним. Щелкните по дорожке, чтобы перейти к этой точке, или перетащите ползунок. Требуется Claude Code v2.1.281 или более поздняя версия.107* **Прокручивайте переполняющийся список с помощью его полосы прокрутки.** В панелях списков, таких как `/skills`, `/mcp` и список Installed в `/plugin`, полоса прокрутки появляется рядом со списком, содержащим больше строк, чем может поместиться, пока указатель находится над ним. Щелкните по дорожке, чтобы перейти к этой точке, или перетащите ползунок. Требуется Claude Code v2.1.281 или более поздняя версия.

108 * Если на концах полосы есть стрелки `↑` и `↓`, щелкните стрелку, чтобы прокрутить на одну строку, или удерживайте её для непрерывной прокрутки. Для стрелок требуется Claude Code v2.1.286 или более поздняя версия.

109* **Щелкните строку `↑ N more` или `↓ N more` на краю списка**, чтобы перейти к этому концу списка, не выбирая опцию. Требуется Claude Code v2.1.286 или более поздняя версия.

108* **Щелкните свёрнутый результат инструмента**, чтобы развернуть его и увидеть полный результат. Щелкните снова, чтобы свернуть. Вызов инструмента и его результат разворачиваются вместе. Щелкаемы только сообщения, которые имеют больше информации для отображения.110* **Щелкните свёрнутый результат инструмента**, чтобы развернуть его и увидеть полный результат. Щелкните снова, чтобы свернуть. Вызов инструмента и его результат разворачиваются вместе. Щелкаемы только сообщения, которые имеют больше информации для отображения.

109 * Щелчок также разворачивает результат команды оболочки `!`, будь то старый усечённый результат или строка прямого хода во время выполнения команды. Требуется Claude Code v2.1.257 или более поздняя версия.111 * Щелчок также разворачивает результат команды оболочки `!`, будь то старый усечённый результат или строка прямого хода во время выполнения команды. Требуется Claude Code v2.1.257 или более поздняя версия.

110 * Щелчок также разворачивает тусклую строку `Message from @<sender>`, когда отправитель является [товарищем по команде](/docs/ru/agent-teams) или другим агентом, работающим в вашей сессии. Строка для сообщения из [одной из ваших других сессий](/docs/ru/cross-session-messaging#what-a-message-looks-like) также показывает первую строку сообщения и не является щелкаемой, поэтому нажмите `Ctrl+o`, чтобы прочитать её.112 * Щелчок также разворачивает тусклую строку `Message from @<sender>`, когда отправитель является [товарищем по команде](/docs/ru/agent-teams) или другим агентом, работающим в вашей сессии. Строка для сообщения из [одной из ваших других сессий](/docs/ru/cross-session-messaging#what-a-message-looks-like) также показывает первую строку сообщения и не является щелкаемой, поэтому нажмите `Ctrl+o`, чтобы прочитать её.

headless.md +8 −0

Details

62| Пользовательские агенты | `--agents <json>` |62| Пользовательские агенты | `--agents <json>` |

63| Плагин | `--plugin-dir <path>`, `--plugin-url <url>` |63| Плагин | `--plugin-dir <path>`, `--plugin-url <url>` |

64 64 

65Режим bare также ограничивает то, что происходит во время работы сессии:

66 

67* **MCP-серверы**: подключаются только серверы, переданные в командной строке, например с помощью `--mcp-config`. В интерактивной сессии Claude Code также пропускает автоматическое подключение к IDE, если вы не передадите `--ide`.

68* **Системные напоминания**: Claude получает ваши промпты и результаты инструментов без [системных напоминаний](/docs/ru/glossary#system-reminder), которые Claude Code добавил бы к ним. Например, Claude не сообщается, когда файл, прочитанный им ранее, изменяется на диске, и он не получает список доступных скиллов, включая скиллы из папки `--add-dir`.

69* **Фоновые задачи**: не запускаются. Команда, достигшая своего [таймаута](/docs/ru/tools-reference#timeout-and-output-limits), останавливается, а не [переходит в фоновый режим](/docs/ru/tools-reference#background-commands).

70 

71До v2.1.286 эти ограничения действовали лишь частично: интерактивная сессия `--bare` подключала те же MCP-серверы, что и обычная сессия, каждая сессия `--bare` отправляла системные напоминания, а фоновые задачи оставались доступными.

72 

65<Note>73<Note>

66 `--bare` — это рекомендуемый режим для скриптовых и SDK вызовов, и он станет режимом по умолчанию для `-p` в будущем выпуске.74 `--bare` — это рекомендуемый режим для скриптовых и SDK вызовов, и он станет режимом по умолчанию для `-p` в будущем выпуске.

67</Note>75</Note>

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

394* Выход с `Escape`, `Backspace` или `Ctrl+U` на пустой подсказке394* Выход с `Escape`, `Backspace` или `Ctrl+U` на пустой подсказке

395* Вставка текста, начинающегося с `!` в пустую подсказку, автоматически входит в режим оболочки, соответствуя поведению введённого `!`395* Вставка текста, начинающегося с `!` в пустую подсказку, автоматически входит в режим оболочки, соответствуя поведению введённого `!`

396 396 

397Если ваш сеанс не входит в список тех, что указаны в разделе [режим строгой изоляции](/docs/ru/sandboxing#the-unsandboxed-retry-escape-hatch), команды, которые вы вводите в режиме оболочки, выполняются вне [изоляции](/docs/ru/sandboxing) даже если вы включили изоляцию, потому что изоляция применяется к командам, которые запускает Claude.397Если ваша сессия не входит в список тех, что указаны в разделе [режим строгой песочницы](/docs/ru/sandboxing#turn-off-the-retry-with-strict-sandbox-mode), команды, которые вы вводите в режиме оболочки, выполняются вне [песочницы](/docs/ru/sandboxing) даже если вы включили изоляцию в песочнице, потому что песочница применяется к командам, которые запускает Claude.

398 398 

399Claude автоматически отвечает на вывод команды, как только он попадает в стенограмму, поэтому вы можете запустить `! npm test` и получить объяснение сбоев без второго запроса. Ответ стоит столько же, сколько отправка обычного запроса. Чтобы восстановить более раннее поведение, когда вывод добавляется в контекст без ответа, установите [`respondToBashCommands`](/docs/ru/settings-reference#respondtobashcommands) в `false` в `settings.json`. До v2.1.186 режим оболочки всегда добавлял вывод в контекст без ответа.399Claude автоматически отвечает на вывод команды, как только он попадает в стенограмму, поэтому вы можете запустить `! npm test` и получить объяснение сбоев без второго запроса. Ответ стоит столько же, сколько отправка обычного запроса. Чтобы восстановить более раннее поведение, когда вывод добавляется в контекст без ответа, установите [`respondToBashCommands`](/docs/ru/settings-reference#respondtobashcommands) в `false` в `settings.json`. До v2.1.186 режим оболочки всегда добавлял вывод в контекст без ответа.

400 400 

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 

Details

470| [`wslInheritsWindowsSettings`](/docs/ru/settings-reference#wslinheritswindowssettings) | Когда установлено в реестре HKLM или файле под `C:\Program Files\ClaudeCode`, имейте WSL читать цепь политики Windows и читайте `/etc/claude-code` только когда [нет документа администратора Windows](#present-admin-documents); запись дает порядок |470| [`wslInheritsWindowsSettings`](/docs/ru/settings-reference#wslinheritswindowssettings) | Когда установлено в реестре HKLM или файле под `C:\Program Files\ClaudeCode`, имейте WSL читать цепь политики Windows и читайте `/etc/claude-code` только когда [нет документа администратора Windows](#present-admin-documents); запись дает порядок |

471 471 

472<Note>472<Note>

473 На планах Team и Enterprise владелец включает или отключает [Remote Control](/docs/ru/remote-control) и [веб-сеансы](/docs/ru/claude-code-on-the-web) организацией в целом в [параметрах администратора Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control может дополнительно быть отключен для каждого устройства с параметром [`disableRemoteControl`](/docs/ru/settings-reference#disableremotecontrol). Веб-сеансы не имеют ключа управляемых параметров для каждого устройства.473 На планах Team и Enterprise Owner включает или отключает [Remote Control](/docs/ru/remote-control) и [облачные сессии](/docs/ru/claude-code-on-the-web) для всей организации в [настройках администратора Claude Code](https://claude.ai/admin-settings/claude-code). Когда Owner отключает Remote Control, уже подключённые сессии, работающие на Claude Code v2.1.286 или позже, также отключаются. Каждая из них отключается при следующем обновлении политики вашей организации, что происходит примерно раз в час. О том, что происходит в этих сессиях, см. [`Remote Control was turned off by your organization's policy`](/docs/ru/remote-control#remote-control-was-turned-off-by-your-organizations-policy).

474 

475 Remote Control также можно отключить для отдельного устройства с помощью настройки [`disableRemoteControl`](/docs/ru/settings-reference#disableremotecontrol). Для облачных сессий нет ключа управляемых настроек на уровне устройства.

474 476 

475 Чтобы проверить, достигли ли эти параметры организации данную машину, запустите `claude doctor` там и прочитайте строку `Organization policy`, которая говорит, откуда Claude Code загрузил политику или почему она не загрузилась. Требует Claude Code v2.1.261 или позже. В запущенном сеансе `/status` показывает ту же строку, когда политика не загрузилась.477 Чтобы проверить, достигли ли эти параметры организации данную машину, запустите `claude doctor` там и прочитайте строку `Organization policy`, которая говорит, откуда Claude Code загрузил политику или почему она не загрузилась. Требует Claude Code v2.1.261 или позже. В запущенном сеансе `/status` показывает ту же строку, когда политика не загрузилась.

476</Note>478</Note>

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{

model-config.md +16 −2

Details

280* **[Цепочки резервных моделей](#fallback-model-chains)**: записи вне списка разрешений удаляются280* **[Цепочки резервных моделей](#fallback-model-chains)**: записи вне списка разрешений удаляются

281* **Обновления Plan Mode**: на Anthropic API и Claude Platform on AWS обновление, такое как [`opusplan`](#opusplan-model-setting) на исключенную модель, использует самую новую разрешенную версию семейства обновления. На поставщиках с идентификаторами моделей, специфичными для поставщика, и когда никакая версия не разрешена, обновление пропускается и планирование продолжается на модели сессии281* **Обновления Plan Mode**: на Anthropic API и Claude Platform on AWS обновление, такое как [`opusplan`](#opusplan-model-setting) на исключенную модель, использует самую новую разрешенную версию семейства обновления. На поставщиках с идентификаторами моделей, специфичными для поставщика, и когда никакая версия не разрешена, обновление пропускается и планирование продолжается на модели сессии

282* **[Автоматический резервный вариант модели](#automatic-model-fallback)**: резервный вариант, целевой объект которого исключен, не запускается, поэтому помеченный запрос заканчивается отказом вместо этого282* **[Автоматический резервный вариант модели](#automatic-model-fallback)**: резервный вариант, целевой объект которого исключен, не запускается, поэтому помеченный запрос заканчивается отказом вместо этого

283* **[Классификатор режима Auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode)**: значение по умолчанию Claude Sonnet 5 классификатора применяется только когда список разрешений разрешает Sonnet 5. Когда он исключен, классификатор запускается на модели сессии, которую список разрешений уже управляет, или на модели Opus, когда сессия запускается на [модели Fable](#work-with-fable). На поставщиках, отличных от Anthropic API, этот резервный вариант Opus запускается на модели Opus поставщика по умолчанию без консультации со списком разрешений. Требуется Claude Code v2.1.210 или позже283* **[Классификатор авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode)**: используемая классификатором по умолчанию модель Claude Sonnet 5 применяется, только если список разрешённых моделей допускает Sonnet 5. Если она исключена, классификатор работает на модели сессии, которая уже подчиняется списку разрешённых моделей, или на модели Opus, если сессия работает на [модели Fable](#work-with-fable). У провайдеров, отличных от Anthropic API, этот резервный вариант Opus работает на модели, заданной в `ANTHROPIC_DEFAULT_OPUS_MODEL`, а в противном случае — на Opus 5, без проверки списка разрешённых моделей. Требуется Claude Code v2.1.210 или новее

284* **[Fast mode](/docs/ru/fast-mode)**: включение fast mode отказывается, когда модель, на которой сессия будет запускаться впоследствии, находится вне списка разрешений284* **[Fast mode](/docs/ru/fast-mode)**: включение fast mode отказывается, когда модель, на которой сессия будет запускаться впоследствии, находится вне списка разрешений

285 285 

286```json theme={null}286```json theme={null}


570 570 

571Резервная модель проверяется против [`availableModels`](#restrict-model-selection). Когда она заблокирована, резервный вариант не происходит. Отказ показывается как обычная ошибка, и модель сеанса не изменяется.571Резервная модель проверяется против [`availableModels`](#restrict-model-selection). Когда она заблокирована, резервный вариант не происходит. Отказ показывается как обычная ошибка, и модель сеанса не изменяется.

572 572 

573<h4 id="effort-level-after-a-fallback">

574 Уровень effort после переключения

575</h4>

576 

577Когда Claude Code переключает вашу сессию на резервную модель, он сохраняет уровень effort, с которым выполнялся помеченный запрос, вместо уровня effort по умолчанию для этой модели. Например, сессия на Opus 5.5 с уровнем по умолчанию `medium`, переключившаяся на Opus 4.8, остаётся на `medium`, хотя Opus 4.8 по умолчанию использует `high`.

578 

579Другой уровень применяется, например, в следующих случаях:

580 

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

582* **Ваше собственное изменение**: как только вы выбираете уровень effort, выбираете модель в `/model` или позже возобновляете сессию, уровень помеченного запроса больше не переносится.

583* **Effort скилла**: уровень, заданный для помеченного запроса полем `effort` во frontmatter скилла, применяется к этому ходу, а последующие ходы выполняются на уровне, который [порядок определения effort](#adjust-effort-level) даёт резервной модели.

584 

585Заголовок сессии показывает действующий уровень рядом с именем модели. Чтобы изменить его, выполните `/effort` в сессии.

586 

573<h4 id="check-what-triggered-fallback">587<h4 id="check-what-triggered-fallback">

574 Проверка того, что вызвало резервный вариант588 Проверка того, что вызвало резервный вариант

575</h4>589</h4>


636 650 

6371. Явный выбор: переменная окружения [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ru/env-vars#variables), запуск с `--effort` или `/effort` в сеансе ([неинтерактивный `/effort` имеет более узкий эффект](#non-interactive-effort))6511. Явный выбор: переменная окружения [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ru/env-vars#variables), запуск с `--effort` или `/effort` в сеансе ([неинтерактивный `/effort` имеет более узкий эффект](#non-interactive-effort))

6382. Ваши параметры: уровень, который вы сохранили для модели или ключ [`effortLevel`](/docs/ru/settings-reference#effortlevel), с приоритетом между ними и между файлами параметров, указанным в [`modelSettings`](/docs/ru/settings-reference#modelsettings)6522. Ваши параметры: уровень, который вы сохранили для модели или ключ [`effortLevel`](/docs/ru/settings-reference#effortlevel), с приоритетом между ними и между файлами параметров, указанным в [`modelSettings`](/docs/ru/settings-reference#modelsettings)

6393. Уровень усилий модели по умолчанию: `high` на каждой модели, которая поддерживает усилия, за исключением того, что Opus 5.5 и Sonnet 5.5 по умолчанию имеют `medium`, Opus 4.7 по умолчанию имеет `xhigh` и, когда ваша организация устанавливает уровень усилий по умолчанию для своей [модели по умолчанию организации](#organization-default-model), этот уровень является стандартным при запуске этой модели6533. Уровень effort модели по умолчанию: `high` на каждой модели, поддерживающей effort, за исключением того, что Opus 5.5 и Sonnet 5.5 по умолчанию используют `medium`, Opus 4.7 — `xhigh`, а если ваша организация задаёт уровень effort по умолчанию для своей [модели по умолчанию для организации](#organization-default-model), этот уровень становится стандартным при работе с этой моделью. Об уровне, который применяется после автоматического переключения на резервную модель, см. [Уровень effort после переключения](#effort-level-after-a-fallback).

640 654 

641Opus 5.5 начинает с `medium`, если один из источников выше не устанавливает уровень для него, и верхний уровень `effortLevel` в файле параметров пользователя не считается для Opus 5.5. Этот ключ — это более старая форма, которую `/effort` писал перед тем, как Claude Code сохранял уровни для каждой модели: он продолжает применяться там, где применялся раньше, на Opus 5, Fable 5.1 и более ранних моделях, в то время как Opus 5.5 и модели, выпущенные после него, начинают со своего собственного стандарта, пока вы не выберете уровень для них с помощью `/effort` или средства выбора `/model`. Верхний уровень `effortLevel` в параметрах проекта, локальных или управляемых параметрах, или переданный с `--settings`, применяется к каждой модели.655Opus 5.5 начинает с `medium`, если один из источников выше не устанавливает уровень для него, и верхний уровень `effortLevel` в файле параметров пользователя не считается для Opus 5.5. Этот ключ — это более старая форма, которую `/effort` писал перед тем, как Claude Code сохранял уровни для каждой модели: он продолжает применяться там, где применялся раньше, на Opus 5, Fable 5.1 и более ранних моделях, в то время как Opus 5.5 и модели, выпущенные после него, начинают со своего собственного стандарта, пока вы не выберете уровень для них с помощью `/effort` или средства выбора `/model`. Верхний уровень `effortLevel` в параметрах проекта, локальных или управляемых параметрах, или переданный с `--settings`, применяется к каждой модели.

642 656 

Details

511 <Accordion title="Как классификатор оценивает действия">511 <Accordion title="Как классификатор оценивает действия">

512 Каждое действие проходит через фиксированный порядок решения. Первый соответствующий шаг побеждает:512 Каждое действие проходит через фиксированный порядок решения. Первый соответствующий шаг побеждает:

513 513 

514 1. Действия, соответствующие вашим [правилам разрешения, запроса или отклонения](/docs/ru/permissions#manage-permissions), разрешаются немедленно, с этими исключениями:514 1. Действия, соответствующие вашим [правилам allow, ask или deny](/docs/ru/permissions#manage-permissions), разрешаются немедленно, со следующими исключениями:

515 * Записи в [защищенные пути](#protected-paths) маршрутизируются классификатору, даже когда правило разрешения соответствует515 * Записи в [защищённые пути](#protected-paths) направляются классификатору, даже если совпадает правило allow

516 * Ни одно правило разрешения не одобряет удаления `rm` и `rmdir`, нацеленные на [критический путь](#critical-paths)516 * Никакое правило allow не подтверждает удаления `rm` и `rmdir`, нацеленные на [критический путь](#critical-paths)

517 * Инструменты MCP, отмеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool), спрашивают вас напрямую, даже когда правило разрешения соответствует, и то же самое делают инструменты соединителя [ваша организация установила на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools) в сеансах, где эта параметр достигает Claude Code517 * Инструменты MCP, помеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool), запрашивают подтверждение у вас напрямую, даже если совпадает правило allow; так же ведут себя инструменты коннекторов, для которых [ваша организация установила `ask`](/docs/ru/mcp#organization-controls-on-connector-tools), в сессиях, куда эта настройка доходит до Claude Code

518 * Команда оболочки, которая несет [разрешенные домены для каждой команды](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode), также маршрутизируется классификатору, даже когда правило разрешения соответствует, потому что правило одобряет команду, а не ее хосты518 * Shell-команда, содержащая [разрешённые домены для отдельной команды](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode), также направляется классификатору, даже если совпадает правило allow, потому что правило подтверждает команду, а не её хосты

519 * Правила запроса, которые соответствуют содержанию команды, такие как `Bash(git push *)`, возвращаются к запросу разрешения519 * Правила ask, сопоставляемые с содержимым команды, например `Bash(git push *)`, приводят к запросу разрешения

520 * Запись, которую [проверка символической ссылки](/docs/ru/permissions#symlinks) разрешает защищенному пути, спрашивает вас, когда путь, который запросил Claude, сам не защищен520 * Запись, которую [проверка символических ссылок](/docs/ru/permissions#symlinks) разрешает в защищённый путь, запрашивает подтверждение у вас, когда запрошенный Claude путь сам по себе не защищён

521 2. Действия только для чтения и редактирования файлов в вашем рабочем каталоге автоматически одобряются, кроме записей в [защищенные пути](#protected-paths) и [первое чтение вне рабочих каталогов](#first-read-outside-the-working-directories), которое спрашивает вас521 2. Действия только для чтения и редактирование файлов в вашем рабочем каталоге подтверждаются автоматически, за исключением записей в [защищённые пути](#protected-paths) и [первого чтения вне рабочих каталогов](#first-read-outside-the-working-directories), которое запрашивает подтверждение у вас

522 * В сеансе с [проверкой классификатора на стороне сервера](#server-side-classifier-review), действия только для чтения и [команды оболочки в песочнице](/docs/ru/sandboxing#sandbox-modes) ждут эту проверку и блокируются, если она их отмечает522 * В сессии с [проверкой классификатора на стороне сервера](#server-side-classifier-review) shell-команды только для чтения и [выполняемые в песочнице](/docs/ru/sandboxing#sandbox-modes) ожидают этой проверки и блокируются, если она их помечает

523 * Запись внутри вашего рабочего каталога, которую [проверка символической ссылки](/docs/ru/permissions#symlinks) разрешает местоположению вне него, спрашивает вас523 * Запись внутри вашего рабочего каталога, которую [проверка символических ссылок](/docs/ru/permissions#symlinks) разрешает в расположение за его пределами, запрашивает подтверждение у вас

524 3. Все остальное идет классификатору, кроме [удалений критического пути](#critical-paths) под их обработкой по умолчанию. Инструменты соединителя и инструменты MCP `requiresUserInteraction`, которые спрашивают вас напрямую на шаге 1, никогда не достигают классификатора, поэтому ни одобрение, требуемое организацией, ни шаг согласия не одобряются автоматически524 * Когда Claude читает [артефакт, созданный кем-то другим](/docs/ru/artifacts#read-an-artifact-shared-with-you), применяются случаи подтверждения, перечисленные в том разделе

525 4. Если классификатор блокирует, Claude получает причину. В большинстве сеансов причина называет правило, которое классификатор совпал, такое как `[Data Exfiltration]`, а не дает письменное объяснение; смотрите [Проверка отклонений](/docs/ru/auto-mode-config#review-denials)525 3. Всё остальное направляется классификатору, за исключением [удалений критических путей](#critical-paths) при их обработке по умолчанию. Инструменты коннекторов и инструменты MCP с `requiresUserInteraction`, которые на шаге 1 запрашивают подтверждение у вас напрямую, также никогда не доходят до классификатора, поэтому ни подтверждение, требуемое организацией, ни шаг согласия не подтверждаются автоматически

526 4. Если классификатор блокирует действие, Claude получает причину. В большинстве сессий причина называет правило, с которым совпал классификатор, например `[Data Exfiltration]`, а не содержит письменного объяснения; см. [Просмотр отклонений](/docs/ru/auto-mode-config#review-denials)

526 527 

527 [Мод](/docs/ru/plugins/mods/overview), который вы устанавливаете и который подключает `tool.check`, может одобрить действие перед шагом 3, и классификатор не проверяет действие, которое мод одобрил. Смотрите [Расширьте разрешения с помощью hooks](/docs/ru/permissions#extend-permissions-with-hooks).528 [Мод](/docs/ru/plugins/mods/overview), который вы устанавливаете и который подключает `tool.check`, может одобрить действие перед шагом 3, и классификатор не проверяет действие, которое мод одобрил. Смотрите [Расширьте разрешения с помощью hooks](/docs/ru/permissions#extend-permissions-with-hooks).

528 529 


548 <Accordion title="Как автоматический режим обрабатывает подагентов">549 <Accordion title="Как автоматический режим обрабатывает подагентов">

549 Классификатор проверяет работу [подагента](/docs/ru/sub-agents) в трех точках:550 Классификатор проверяет работу [подагента](/docs/ru/sub-agents) в трех точках:

550 551 

551 1. Перед запуском подагента описание делегированной задачи оценивается, поэтому опасно выглядящая задача блокируется во время создания.552 1. Перед запуском субагента оценивается описание делегированной задачи, поэтому задача, выглядящая опасной, блокируется в момент создания.

552 2. Пока подагент работает, каждое из его действий проходит через тот же [порядок решения](#how-the-classifier-evaluates-actions), что и в родительском сеансе, с теми же правилами блокировки и разрешения. Любой `permissionMode` в frontmatter подагента игнорируется.553 2. Пока субагент работает, каждое его действие проходит через тот же [порядок принятия решений](#how-the-classifier-evaluates-actions), что и в родительской сессии, с теми же правилами блокировки и разрешения. Любой `permissionMode` во frontmatter субагента игнорируется.

553 3. Когда подагент завершается, классификатор проверяет его работу и его финальный отчет перед тем, как родитель прочитает отчет. Когда классификатор отмечает работу подагента или отчет, или отдельная проверка безопасности API отклоняет проверку, отчет все еще доставляется, предваренный предупреждением безопасности. Когда классификатор недоступен для проверки, отчет прибывает с примечанием для проверки работы подагента перед действием на его основе.554 3. Когда субагент завершает работу, классификатор проверяет его работу и итоговый отчёт, прежде чем родительская сессия прочитает отчёт. Когда классификатор помечает работу или отчёт субагента либо отдельная проверка безопасности API отклоняет проверку, отчёт всё равно доставляется, но с предупреждением о безопасности в начале. Когда классификатор недоступен для проверки, отчёт поступает с примечанием о том, что работу субагента нужно проверить, прежде чем на неё опираться.

554 </Accordion>555 </Accordion>

555 556 

556 <Accordion title="Стоимость и задержка">557 <Accordion title="Стоимость и задержка">

557 Классификатор работает на Claude Sonnet 5 по умолчанию, а не на вашем выборе `/model`. Модель классификатора, которую Anthropic настраивает на стороне сервера, имеет приоритет над этим значением по умолчанию. Когда модель вашего сеанса — Claude Sonnet 4.6, или когда [`availableModels`](/docs/ru/model-config#restrict-model-selection) исключает Sonnet 5, классификатор работает на модели вашего сеанса вместо этого, или на модели Opus, когда сеанс работает на [модели Fable](/docs/ru/model-config#work-with-fable); на провайдерах, отличных от Anthropic API, этот откат Opus — модель по умолчанию провайдера.558 По умолчанию классификатор работает на Claude Sonnet 5, а не на модели, выбранной через `/model`. Модель классификатора, которую Anthropic настраивает на стороне сервера, имеет приоритет над этим значением по умолчанию. Когда модель вашей сессии — Claude Sonnet 4.6 или когда [`availableModels`](/docs/ru/model-config#restrict-model-selection) исключает Sonnet 5, классификатор вместо этого работает на модели сессии или на модели Opus, если сессия работает на [модели Fable](/docs/ru/model-config#work-with-fable). У провайдеров, отличных от Anthropic API, этой резервной моделью Opus является модель, заданная в [`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/ru/model-config#environment-variables), или Opus 5, если вы её не задали.

558 559 

559 Первый запрос автоматического режима сеанса проверяет значение по умолчанию Sonnet 5: если запрос успешен, Sonnet 5 остается моделью классификатора сеанса, и если он не удается, потому что модель недоступна, сеанс использует откат вместо этого.560 Первый запрос автоматического режима сеанса проверяет значение по умолчанию Sonnet 5: если запрос успешен, Sonnet 5 остается моделью классификатора сеанса, и если он не удается, потому что модель недоступна, сеанс использует откат вместо этого.

560 561 


588 589 

589Режим `bypassPermissions` отключает запросы разрешений и проверки безопасности, чтобы вызовы инструментов выполнялись немедленно, включая записи в [защищённые пути](#protected-paths).590Режим `bypassPermissions` отключает запросы разрешений и проверки безопасности, чтобы вызовы инструментов выполнялись немедленно, включая записи в [защищённые пути](#protected-paths).

590 591 

591[Действия, которые ни один режим не одобряет](#actions-no-mode-auto-approves) по-прежнему требуют запроса в этом режиме. [Удаление Remove-Item в PowerShell](#remove-item-in-powershell) также применяется в этом режиме.592[Действия, которые ни один режим не одобряет](#actions-no-mode-auto-approves) по-прежнему требуют запроса в этом режиме. Чтение [общедоступного артефакта другой организации](/docs/ru/artifacts#read-an-artifact-shared-with-you) требует вашего подтверждения, а этот режим его не запрашивает, поэтому Claude не может прочитать такой артефакт. Запреты для [Remove-Item в PowerShell](#remove-item-in-powershell) также действуют в этом режиме.

592 593 

593Две [гарантии обмена сообщениями между сеансами](/docs/ru/cross-session-messaging) по-прежнему применяются в этом режиме, и в интерактивных сеансах режима plan, где доступны разрешения на обход:594Две [гарантии обмена сообщениями между сеансами](/docs/ru/cross-session-messaging) по-прежнему применяются в этом режиме, и в интерактивных сеансах режима plan, где доступны разрешения на обход:

594 595 

permissions.md +1 −1

Details

358 Read и Edit358 Read и Edit

359</h3>359</h3>

360 360 

361Чтобы заблокировать инструменты файлов Claude от чтения файла или каталога, добавьте правило отказа `Read` для его пути, такое как `Read(./.env)` или `Read(./secrets/**)` ; [Исключить конфиденциальные файлы](/docs/ru/settings-reference#exclude-sensitive-files) содержит готовый к вставке пример.361Чтобы заблокировать инструменты файлов Claude от чтения файла или каталога, добавьте правило отказа `Read` для его пути, такое как `Read(./.env)` или `Read(./secrets/**)`; [Исключить конфиденциальные файлы](/docs/ru/settings-reference#exclude-sensitive-files) содержит готовый к вставке пример. Если в вашем проекте есть файл `.claudeignore`, он ни на что не влияет, поэтому перенесите его записи в правила отказа `Read`.

362 362 

363Правила `Edit` применяются ко всем встроенным инструментам, которые редактируют файлы. Claude прилагает наилучшие усилия для применения правил `Read` ко всем встроенным инструментам, которые читают файлы, такие как Grep и Glob, к упоминаниям `@file` в ваших подсказках и к выделению и контексту открытого файла, которые подключённый [IDE](/docs/ru/vs-code#the-built-in-ide-mcp-server) делит с Claude.363Правила `Edit` применяются ко всем встроенным инструментам, которые редактируют файлы. Claude прилагает наилучшие усилия для применения правил `Read` ко всем встроенным инструментам, которые читают файлы, такие как Grep и Glob, к упоминаниям `@file` в ваших подсказках и к выделению и контексту открытого файла, которые подключённый [IDE](/docs/ru/vs-code#the-built-in-ide-mcp-server) делит с Claude.

364 364 

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| :- | :- | :- |

Details

435 435 

436<PluginExplorer>436<PluginExplorer>

437 <Piece id="manifest">437 <Piece id="manifest">

438 [Манифест](/docs/ru/plugins/manifest-reference) — это файл `plugin.json` в директории `.claude-plugin/` плагина. Он содержит метаданные плагина и значения `userConfig`, которые Claude Code запрашивает у пользователя. Claude Code загружает плагин без него, но [каталог Anthropic](/docs/ru/plugins/publish#submit-to-anthropics-directory) требует его. В файле обязателен только `name`. В этом примере `description` — это текст, который пользователи видят для плагина в `/plugin`, а `version` удерживает пользователей на этой версии, пока вы её не измените:438 [Манифест](/docs/ru/plugins/manifest-reference) — это файл `plugin.json` в директории `.claude-plugin/` плагина. Он содержит метаданные плагина и значения `userConfig`, которые Claude Code запрашивает у пользователя. Claude Code загружает плагин и без него. В файле обязателен только `name`. В этом примере `description` — это текст, который пользователи видят для плагина в `/plugin`, а `version` удерживает пользователей на этой версии, пока вы её не измените:

439 439 

440 ```json theme={null}440 ```json theme={null}

441 {441 {

Details

130* `source`: откуда Claude Code загружает плагин. Напишите строку относительного пути для плагина внутри каталога marketplace, как в [пошаговом руководстве](#create-a-marketplace), или объект source для плагина вне его. См. [Выбор источника плагина](#choose-a-plugin-source).130* `source`: откуда Claude Code загружает плагин. Напишите строку относительного пути для плагина внутри каталога marketplace, как в [пошаговом руководстве](#create-a-marketplace), или объект source для плагина вне его. См. [Выбор источника плагина](#choose-a-plugin-source).

131* `description`: строка, которую люди видят рядом с плагином при просмотре вашего marketplace в `/plugin`.131* `description`: строка, которую люди видят рядом с плагином при просмотре вашего marketplace в `/plugin`.

132 132 

133Для полного списка полей см. [Записи плагинов](/docs/ru/plugins/marketplace-reference#plugin-entries).133Полный список полей см. в разделе [Записи плагинов](/docs/ru/plugins/marketplace-reference#plugin-entries), где также описаны поля [`plugin.json`](/docs/ru/plugins/manifest-reference), которые может задавать запись, и случаи, когда они применяются.

134 

135Запись также может устанавливать любое поле [`plugin.json`](/docs/ru/plugins/manifest-reference). Для того, когда поля `plugin.json` записи применяются к плагину, который имеет свой собственный `plugin.json`, см. [Запись и plugin.json](/docs/ru/plugins/marketplace-reference#entry-and-plugin-json).

136 134 

137<h2 id="rules-for-plugin-entries">135<h2 id="rules-for-plugin-entries">

138 Rules for plugin entries136 Rules for plugin entries

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

142| `license` | String | Идентификатор SPDX, такой как `MIT` или `Apache-2.0` |142| `license` | String | Идентификатор SPDX, такой как `MIT` или `Apache-2.0` |

143| `keywords` | Array of strings | Теги обнаружения |143| `keywords` | Array of strings | Теги обнаружения |

144| [`metadata`](#metadata) | Object | Объект произвольной формы для ваших собственных данных. Claude Code не читает его |144| [`metadata`](#metadata) | Object | Объект произвольной формы для ваших собственных данных. Claude Code не читает его |

145| [`icon`](#directory-listing-fields) | String | Значок для страницы плагина в каталоге Anthropic. Claude Code не читает его |

146| [`documentationUrl`](#directory-listing-fields) | String | Ссылка на документацию для страницы плагина в каталоге Anthropic. Claude Code не читает его |

147| [`supportUrl`](#directory-listing-fields) | String | Ссылка на поддержку для страницы плагина в каталоге Anthropic. Claude Code не читает его |

148| [`privacyPolicyUrl`](#directory-listing-fields) | String | Ссылка на политику конфиденциальности для страницы плагина в каталоге Anthropic. Claude Code не читает его |

149| [`termsOfServiceUrl`](#directory-listing-fields) | String | Ссылка на условия использования для страницы плагина в каталоге Anthropic. Claude Code не читает его |

145| [`defaultEnabled`](#defaultenabled) | Boolean | Включен ли плагин при запуске, когда пользователь не установил его. По умолчанию `true` |150| [`defaultEnabled`](#defaultenabled) | Boolean | Включен ли плагин при запуске, когда пользователь не установил его. По умолчанию `true` |

146| [`dependencies`](#dependencies) | Array of strings or objects | Плагины, которые должны быть включены для работы этого |151| [`dependencies`](#dependencies) | Array of strings or objects | Плагины, которые должны быть включены для работы этого |

147| [`settings`](#settings) | Object | Параметры, которые Claude Code применяет при включении плагина. Действуют только `agent` и `subagentStatusLine` |152| [`settings`](#settings) | Object | Параметры, которые Claude Code применяет при включении плагина. Действуют только `agent` и `subagentStatusLine` |


202 207 

203Объект произвольной формы для ваших собственных данных, таких как поля каталога или прав. Claude Code не читает его. Требует Claude Code v2.1.222 или позже.208Объект произвольной формы для ваших собственных данных, таких как поля каталога или прав. Claude Code не читает его. Требует Claude Code v2.1.222 или позже.

204 209 

210<h3 id="directory-listing-fields">

211 Поля для страницы в каталоге

212</h3>

213 

214Каталог Anthropic считывает поля `icon`, `documentationUrl`, `supportUrl`, `privacyPolicyUrl` и `termsOfServiceUrl` из `plugin.json` для страницы вашего плагина, когда вы [отправляете плагин](/docs/ru/plugins/publish#submit-to-anthropics-directory). Claude Code игнорирует их при загрузке. Задавайте их только в `plugin.json`. В [записи маркетплейса](#marketplace-entries-and-the-manifest) `claude plugin validate` сообщает о каждом из них как о неизвестном поле.

215 

216Укажите в `icon` путь к файлу изображения внутри плагина, например `./logo.png`, а в каждом из четырех полей URL — URL вида `https://`.

217 

218`claude plugin validate` принимает эти поля без предупреждения в Claude Code v2.1.281 или позже. Более ранние версии выводят предупреждение `Unknown field` для каждого из них, поэтому запуск с `--strict` в этих версиях завершается ошибкой.

219 

205<h3 id="defaultenabled">220<h3 id="defaultenabled">

206 `defaultEnabled`221 `defaultEnabled`

207</h3>222</h3>


276 291 

277`hooks` принимает путь файла `.json`, встроенный объект hooks в той же форме, что и [`hooks` в `settings.json`](/docs/ru/hooks#configuration), или массив, смешивающий оба. Для событий hook и полей обработчика см. [справочник hooks](/docs/ru/hooks#hook-events).292`hooks` принимает путь файла `.json`, встроенный объект hooks в той же форме, что и [`hooks` в `settings.json`](/docs/ru/hooks#configuration), или массив, смешивающий оба. Для событий hook и полей обработчика см. [справочник hooks](/docs/ru/hooks#hook-events).

278 293 

279Claude Code объединяет все, что вы объявляете, с `hooks/hooks.json`, когда этот файл существует.294Файл хуков оборачивает карту событий в ключ верхнего уровня `"hooks"` — в той же форме, что использует [`hooks/hooks.json`](/docs/ru/plugins/components#hooks). Файл, содержащий только карту событий без этой обёртки, не загружается. Встроенный объект — это сама карта событий, без обёртки.

295 

296Claude Code объединяет все, что вы объявляете, с `hooks/hooks.json`, когда этот файл существует. Этот массив загружает один файл хуков и объявляет один встроенный хук `PostToolUse`:

280 297 

281```json theme={null}298```json theme={null}

282{299{


296}313}

297```314```

298 315 

316Файл, указанный в этом массиве, содержит обёртку `"hooks"` вокруг собственной карты событий:

317 

318```json config/extra-hooks.json theme={null}

319{

320 "hooks": {

321 "PreToolUse": [

322 {

323 "matcher": "Bash",

324 "hooks": [

325 { "type": "command", "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/check-command.sh" }

326 ]

327 }

328 ]

329 }

330}

331```

332 

299<h3 id="mcpservers">333<h3 id="mcpservers">

300 `mcpServers`334 `mcpServers`

301</h3>335</h3>


400* **`skills`**: также принимает `"."`. Оба `"."` и `"./"` обозначают корень плагина. До v2.1.221 `"."` не проходил проверку манифеста, поэтому используйте `"./"`, когда плагин должен загружаться на более ранних версиях434* **`skills`**: также принимает `"."`. Оба `"."` и `"./"` обозначают корень плагина. До v2.1.221 `"."` не проходил проверку манифеста, поэтому используйте `"./"`, когда плагин должен загружаться на более ранних версиях

401* **`mcpServers`**: также принимает URL пакета `https://`435* **`mcpServers`**: также принимает URL пакета `https://`

402 436 

437`experimental.evals` не является путем компонента, поэтому правила из этого раздела на него не распространяются, и вместо этого `claude plugin eval` проверяет значение при запуске. Оно указывает директорию внутри корня плагина, например `"quality/evals"`, с префиксом `./` или без него. Если указан массив, используется только первый элемент. О том, какие значения допустимы и что происходит при непригодном значении, см. [Использование другой директории eval](/docs/ru/plugin-evals#use-a-different-eval-directory).

438 

403<h3 id="containment-and-existence">439<h3 id="containment-and-existence">

404 Содержание и существование440 Содержание и существование

405</h3>441</h3>


693 Записи маркетплейса и манифест729 Записи маркетплейса и манифест

694</h2>730</h2>

695 731 

696[Запись маркетплейса](/docs/ru/plugins/marketplace-reference) принимает каждое поле на этой странице наряду с [его собственными полями](/docs/ru/plugins/marketplace-reference#plugin-entries), включая `strict`.732[Запись маркетплейса](/docs/ru/plugins/marketplace-reference) принимает [свои собственные поля](/docs/ru/plugins/marketplace-reference#plugin-entries), включая `strict`, а также каждое поле на этой странице, кроме [полей листинга в каталоге](#directory-listing-fields).

697 733 

698Поле `strict` решает, может ли запись добавлять компоненты к плагину, который имеет свой `plugin.json`. По умолчанию `true`.734Поле `strict` решает, может ли запись добавлять компоненты к плагину, который имеет свой `plugin.json`. По умолчанию `true`.

699 735 

Details

81 81 

82Каждый объект в массиве `plugins` верхнего уровня `marketplace.json` называет плагин и указывает, откуда его загружать. `name` и `source` являются обязательными.82Каждый объект в массиве `plugins` верхнего уровня `marketplace.json` называет плагин и указывает, откуда его загружать. `name` и `source` являются обязательными.

83 83 

84Запись также принимает каждое поле [`plugin.json`](/docs/ru/plugins/manifest-reference), такое как `description`, `version`, `author`, `commands` и `hooks`. Для того, когда эти поля применяются, см. [Как запись объединяется с plugin.json](#entry-and-plugin-json).84Помимо [полей для списка в каталоге](/docs/ru/plugins/manifest-reference#directory-listing-fields), запись также принимает каждое [поле `plugin.json`](/docs/ru/plugins/manifest-reference), такое как `description`, `version`, `author`, `commands` и `hooks`. Для того, когда эти поля применяются, см. [Как запись объединяется с plugin.json](#entry-and-plugin-json).

85 85 

86Таблица перечисляет собственные поля записи и поля манифеста, чьё значение изменяется в записи.86Таблица перечисляет собственные поля записи и поля манифеста, чьё значение изменяется в записи.

87 87 


99| `defaultEnabled` | boolean | По умолчанию `true`. Включен ли плагин по умолчанию, когда пользователь не установил его в [`enabledPlugins`](/docs/ru/settings-reference#enabledplugins). Значение записи имеет приоритет над `plugin.json` |99| `defaultEnabled` | boolean | По умолчанию `true`. Включен ли плагин по умолчанию, когда пользователь не установил его в [`enabledPlugins`](/docs/ru/settings-reference#enabledplugins). Значение записи имеет приоритет над `plugin.json` |

100| `displayName` | string | Читаемое имя, показываемое в пользовательском интерфейсе. Когда ни запись, ни `plugin.json` плагина не устанавливают его, пользователи видят `name` плагина |100| `displayName` | string | Читаемое имя, показываемое в пользовательском интерфейсе. Когда ни запись, ни `plugin.json` плагина не устанавливают его, пользователи видят `name` плагина |

101| `metadata` | object | Свободный объект для ваших собственных полей. Claude Code не читает его. Требует Claude Code v2.1.222 или позже |101| `metadata` | object | Свободный объект для ваших собственных полей. Claude Code не читает его. Требует Claude Code v2.1.222 или позже |

102| `headers` | object | HTTP-заголовки, которые Claude Code отправляет при загрузке [архива](#archive-plugin-source) этой записи. Заголовок, установленный здесь, заменяет заголовок с тем же именем из [`headers`](#fields-by-type) источника marketplace. Требует Claude Code v2.1.238 или позже |102| `headers` | object | HTTP-заголовки, которые Claude Code отправляет при загрузке [архива](#archive-plugin-source) этой записи. Заголовок, установленный здесь, заменяет заголовок с тем же именем из [`headers`](#fields-by-type) источника маркетплейса. Требует Claude Code v2.1.238 или позже |

103| `headersHelper` | string | Команда, которая выводит заголовки загрузки архива этой записи как один объект JSON для учётных данных, которые истекают. Запись также должна установить [`"strict": false`](#strict-mode). Требует Claude Code v2.1.238 или позже. См. [Аутентификация загрузок архивов](/docs/ru/plugins/host-marketplace#authenticate-archive-downloads) |103| `headersHelper` | string | Команда, которая выводит заголовки загрузки архива этой записи как один объект JSON для учётных данных, которые истекают. Запись также должна установить [`"strict": false`](#strict-mode). Требует Claude Code v2.1.238 или позже. См. [Аутентификация загрузок архивов](/docs/ru/plugins/host-marketplace#authenticate-archive-downloads) |

104 104 

105<h3 id="entry-and-plugin-json">105<h3 id="entry-and-plugin-json">


108 108 

109Поля записи применяются по-разному к загруженному плагину, который имеет свой собственный `.claude-plugin/plugin.json`, и к тому, который его не имеет:109Поля записи применяются по-разному к загруженному плагину, который имеет свой собственный `.claude-plugin/plugin.json`, и к тому, который его не имеет:

110 110 

111* **Нет `plugin.json`**: запись является манифестом независимо от `strict`. Каждое поле манифеста в записи применяется, включая [`mcpServers`, `lspServers`, `userConfig` и `channels`](/docs/ru/plugins/manifest-reference).111* **Нет `plugin.json`**: запись является манифестом независимо от `strict`. Применяется каждое поле манифеста, которое принимает запись, включая [`mcpServers`, `lspServers`, `userConfig` и `channels`](/docs/ru/plugins/manifest-reference).

112* **`plugin.json` присутствует**: `plugin.json` является манифестом. [Строгий режим](#strict-mode) решает, объединяются ли шесть полей компонентов записи, `commands`, `agents`, `skills`, `hooks`, `outputStyles` и `themes`, с ним или отклоняются как конфликт. Запись `mcpServers`, `lspServers`, `userConfig` и `channels` не применяются. Объявите их в `plugin.json`.112* **`plugin.json` присутствует**: `plugin.json` является манифестом. [Строгий режим](#strict-mode) решает, объединяются ли шесть полей компонентов записи, `commands`, `agents`, `skills`, `hooks`, `outputStyles` и `themes`, с ним или отклоняются как конфликт. Поля записи `mcpServers`, `lspServers`, `userConfig` и `channels` не применяются. Объявите их в `plugin.json`.

113 113 

114<h4 id="hooks-in-an-entry">114<h4 id="hooks-in-an-entry">

115 Hooks в записи115 Хуки в записи

116</h4>116</h4>

117 117 

118Напишите запись `hooks` как встроенный объект, который сопоставляет имена событий hook с массивами сопоставителей. Если вы напишете путь к файлу или массив вместо этого, `claude plugin validate` пройдёт. Эти hooks никогда не запускаются, и Claude Code сообщает об ошибке `not yet supported in a marketplace entry` для плагина. Поместите hooks на основе файлов в собственный [`hooks/hooks.json`](/docs/ru/plugins/components) плагина или `plugin.json`.118Напишите `hooks` записи как встроенный объект, который сопоставляет имена событий хуков с массивами matcher. Если вы напишете путь к файлу или массив вместо этого, `claude plugin validate` пройдёт. Эти хуки никогда не запускаются, и Claude Code сообщает об ошибке `not yet supported in a marketplace entry` для плагина. Поместите хуки на основе файлов в собственный [`hooks/hooks.json`](/docs/ru/plugins/components) плагина или `plugin.json`.

119 119 

120<h4 id="display-fields">120<h4 id="display-fields">

121 Поля отображения121 Поля отображения


126* Для поля, которое вы устанавливаете в записи, пользователи видят значение записи, даже когда `plugin.json` устанавливает другое.126* Для поля, которое вы устанавливаете в записи, пользователи видят значение записи, даже когда `plugin.json` устанавливает другое.

127* Для поля, которое запись оставляет неустановленным, пользователи видят значение `plugin.json`.127* Для поля, которое запись оставляет неустановленным, пользователи видят значение `plugin.json`.

128 128 

129До установки Claude Code может читать `plugin.json` только для записей с [источником с относительным путём](#relative-path-plugin-source), чьи файлы плагинов находятся внутри самого marketplace. Для записи с любым другим типом источника пользователи видят только собственные поля записи до установки плагина.129До установки Claude Code может читать `plugin.json` только для записей с [источником с относительным путём](#relative-path-plugin-source), чьи файлы плагинов находятся внутри самого маркетплейса. Для записи с любым другим типом источника пользователи видят только собственные поля записи до установки плагина.

130 130 

131<h3 id="strict-mode">131<h3 id="strict-mode">

132 Строгий режим132 Строгий режим

133</h3>133</h3>

134 134 

135`strict` решает, что происходит, когда загруженный плагин имеет свой собственный `plugin.json` и запись также объявляет любое из [полей компонентов](#entry-and-plugin-json): `commands`, `agents`, `skills`, `hooks`, `outputStyles` или `themes`. При `strict: true`, по умолчанию, Claude Code добавляет поля компонентов записи к `plugin.json`, кроме `hooks`, чьи сопоставители заменяют сопоставители манифеста на событие. При `strict: false`, запись, которая объявляет любое поле компонента, является конфликтом, и плагин не загружается. Таблица показывает каждую комбинацию `strict`, `plugin.json` и полей компонентов записи.135`strict` решает, что происходит, когда загруженный плагин имеет свой собственный `plugin.json` и запись также объявляет любое из [полей компонентов](#entry-and-plugin-json): `commands`, `agents`, `skills`, `hooks`, `outputStyles` или `themes`. При `strict: true`, по умолчанию, Claude Code добавляет поля компонентов записи к `plugin.json`, кроме `hooks`, чьи matcher заменяют matcher манифеста для каждого события. При `strict: false` запись, которая объявляет любое поле компонента, является конфликтом, и плагин не загружается. Таблица показывает каждую комбинацию `strict`, `plugin.json` и полей компонентов записи.

136 136 

137| `strict` | `plugin.json` | Поля компонентов записи | Результат |137| `strict` | `plugin.json` | Поля компонентов записи | Результат |

138| :- | :- | :- | :- |138| :- | :- | :- | :- |

139| любой | отсутствует | любой | Запись является манифестом |139| любой | отсутствует | любой | Запись является манифестом |

140| `true`, по умолчанию | присутствует | любой | `plugin.json` является авторитетом. Claude Code добавляет поля компонентов записи к нему, кроме `hooks`, чьи сопоставители [заменяют сопоставители манифеста на событие](/docs/ru/plugins/manifest-reference#how-entry-fields-combine-with-plugin-json) |140| `true`, по умолчанию | присутствует | любой | `plugin.json` является авторитетом. Claude Code добавляет поля компонентов записи к нему, кроме `hooks`, чьи matcher [заменяют matcher манифеста для каждого события](/docs/ru/plugins/manifest-reference#how-entry-fields-combine-with-plugin-json) |

141| `false` | присутствует | нет | `plugin.json` является манифестом, как с `true` |141| `false` | присутствует | нет | `plugin.json` является манифестом, как с `true` |

142| `false` | присутствует | один или более | Конфликт. Плагин не загружается с `Plugin <name> has conflicting manifests: both plugin.json and marketplace entry specify components` |142| `false` | присутствует | один или более | Конфликт. Плагин не загружается с `Plugin <name> has conflicting manifests: both plugin.json and marketplace entry specify components` |

143 143 


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

283 </Tab>283 </Tab>

284</Tabs>284</Tabs>

285 285 

286Приглашение разрешения не является сайтом рендеринга, поэтому мод не может изменить то, что оно показывает. Диалог вопроса, `AskUserQuestion`, является одним, поэтому мод может изменить это.286На этих сайтах `next(e)` возвращает ссылку на рисование Claude Code, `{ type: 'engine', ref }`, если только мод, который запускается после вашего, не вернул собственное дерево. Чтобы изменить содержимое этого рисования, передайте `next` копию события с другими props, как это делается на вкладке **Change a detail**. Вы можете вернуть ссылку как есть или поместить ее в `Box` рядом с вашими собственными элементами:

287 

288```javascript theme={null}

289on('ui.render', { component: 'Spinner' }, async ($, e, next) => {

290 const { Box, Text } = $.ui.resolve(e)

291 const theirs = await next(e)

292 return Box({ flexDirection: 'column', children: [theirs, Text({ children: ['under the spinner'] })] })

293})

294```

295 

296Пока Claude работает, спиннер анимируется как прежде, а под ним появляется `under the spinner`.

297 

298Запрос разрешения не является сайтом рендеринга, поэтому мод не может изменить то, что он показывает. Диалог вопроса, `AskUserQuestion`, является таким сайтом, поэтому мод может его изменить. Дерево для диалога должно содержать ссылку ровно один раз, а ваши элементы — над ней. В противном случае Claude Code рисует собственный диалог.

287 299 

288Терминал и приложение Desktop не вызывают все одни и те же сайты. `Pane`, `AbovePrompt`, `Spinner` и сайты расшифровки работают в обоих. Несколько других строк состояния вызываются только в терминале. Таблица [сайтов рендеринга](/docs/ru/plugins/mods/reference#render-sites) указывает, где каждый из них вызывается.300Терминал и приложение Desktop не вызывают все одни и те же сайты. `Pane`, `AbovePrompt`, `Spinner` и сайты расшифровки работают в обоих. Несколько других строк состояния вызываются только в терминале. Таблица [сайтов рендеринга](/docs/ru/plugins/mods/reference#render-sites) указывает, где каждый из них вызывается.

289 301 


407 ```419 ```

408 420 

409 ```text theme={null}421 ```text theme={null}

410 Note: Type a note and press Enter ⏎ add422 Note: Type a note and press Enter

411 ```423 ```

412 </Tab>424 </Tab>

413</Tabs>425</Tabs>

414 426 

415Эта таблица перечисляет каждый элемент:427В [галерее интерфейсов](/docs/ru/plugins/mods/gallery) есть примеры и снимки экрана большинства элементов. Эта таблица перечисляет каждый элемент:

416 428 

417| Элемент | Что он рисует | Где |429| Элемент | Что он рисует | Где |

418| :- | :- | :- |430| :- | :- | :- |

Details

34 34 

35* **Используйте уже имеющийся**: некоторые собственные функции Claude Code — это моды, такие как `/diff`. См. [Моды, встроенные в Claude Code](#mods-built-into-claude-code).35* **Используйте уже имеющийся**: некоторые собственные функции Claude Code — это моды, такие как `/diff`. См. [Моды, встроенные в Claude Code](#mods-built-into-claude-code).

36* **Создайте один**: опишите, что вы хотите, в сеансе Claude Code, и Claude напишет мод. См. [Попросите Claude написать мод](/docs/ru/plugins/mods/create#ask-claude-for-a-mod). Чтобы узнать, как работает код мода, [напишите его сами](/docs/ru/plugins/mods/create#write-a-mod-yourself).36* **Создайте один**: опишите, что вы хотите, в сеансе Claude Code, и Claude напишет мод. См. [Попросите Claude написать мод](/docs/ru/plugins/mods/create#ask-claude-for-a-mod). Чтобы узнать, как работает код мода, [напишите его сами](/docs/ru/plugins/mods/create#write-a-mod-yourself).

37* **Установите один**: см. [Установка или обновление мода](#install-or-update-a-mod)37* **Установите один**: см. [Установка или обновление мода](#install-or-update-a-mod) или [попробуйте пример мода](#try-a-sample-mod)

38 38 

39<h3 id="install-or-update-a-mod">39<h3 id="install-or-update-a-mod">

40 Установка или обновление мода40 Установка или обновление мода


53 53 

54Если вы устанавливаете или обновляете мод из вашей оболочки, пока сеанс открыт, запустите `/reload-plugins` в этом сеансе, чтобы загрузить его. В противном случае он загружается при следующем запуске Claude Code.54Если вы устанавливаете или обновляете мод из вашей оболочки, пока сеанс открыт, запустите `/reload-plugins` в этом сеансе, чтобы загрузить его. В противном случае он загружается при следующем запуске Claude Code.

55 55 

56<h3 id="try-a-sample-mod">

57 Попробуйте пример мода

58</h3>

59 

60Anthropic публикует примеры модов в [каталоге `claude-code/mods` репозитория `claude-code-playground`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods). Каждый из них — это полноценный плагин, а в его README рассказано, как он был создан. Репозиторий предоставляет их как есть, без поддержки.

61 

62* [`token-weather`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods/token-weather): отображает прогноз вашего контекстного окна над промптом

63* [`blast-radius`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods/blast-radius): задерживает рискованную shell-команду, например `rm -rf` или force push, и показывает, что она изменит, с кнопками для продолжения или отмены

64* [`replay-theater`](https://github.com/anthropics/claude-code-playground/tree/main/claude-code/mods/replay-theater): добавляет команду `/replay`, которая пошагово проходит по изменениям файлов, сделанным Claude в последнем ходе

65 

66Пример мода работает с вашими разрешениями. Чтобы увидеть, что он делает, прежде чем загружать его, [выведите список его хуков и вызовов](#list-what-a-mod-does-before-you-install-one).

67 

68Чтобы попробовать мод, клонируйте репозиторий и [загрузите каталог мода на одну сессию](/docs/ru/plugins/create#load-a-directory-or-archive-for-one-session) с помощью `--plugin-dir`. Чтобы убедиться, что мод загружен, [проверьте, какие моды загрузила сессия](#see-which-mods-a-session-loaded).

69 

70Чтобы оставить мод, [добавьте каталог `claude-code/mods` вашего клона в качестве маркетплейса](/docs/ru/plugins/install#add-a-marketplace), а затем установите мод из `claude-code-playground-mods`. Маркетплейс указывает на ваш клон, поэтому мод перестанет загружаться, если вы переместите или удалите клон.

71 

56<h2 id="decide-whether-to-trust-a-mod">72<h2 id="decide-whether-to-trust-a-mod">

57 Решите, доверять ли моду73 Решите, доверять ли моду

58</h2>74</h2>


72* **Действовать без вашего разрешения**: одобрить вызов инструмента перед тем, как вас спросят88* **Действовать без вашего разрешения**: одобрить вызов инструмента перед тем, как вас спросят

73* **Потратить вашу квоту**: вызвать модель в вашем плане или ключе API89* **Потратить вашу квоту**: вызвать модель в вашем плане или ключе API

74 90 

91Моды не изолируются в песочнице. Если вы включите [изоляцию в песочнице](/docs/ru/sandboxing), песочница изолирует команды Bash, которые запускает Claude, а процесс, запущенный модом, работает вне её.

92 

75Мод, который одобряет вызовы инструментов, может одобрить тот, который правило `ask` запросит, или который заблокировал один из ваших собственных hooks `PreToolUse`. [Расширение разрешений с помощью hooks](/docs/ru/permissions#extend-permissions-with-hooks) перечисляет, что может одобрить такой мод, включая случаи, когда он может одобрить вызов, который правило `deny` отказывает.93Мод, который одобряет вызовы инструментов, может одобрить тот, который правило `ask` запросит, или который заблокировал один из ваших собственных hooks `PreToolUse`. [Расширение разрешений с помощью hooks](/docs/ru/permissions#extend-permissions-with-hooks) перечисляет, что может одобрить такой мод, включая случаи, когда он может одобрить вызов, который правило `deny` отказывает.

76 94 

77Мод может переоформить большую часть интерфейса Claude Code, но не подсказку разрешения. Он не может изменить то, что вам показывает подсказка.95Мод может переоформить большую часть интерфейса Claude Code, но не подсказку разрешения. Он не может изменить то, что вам показывает подсказка.


102 120 

103Если вы используете Claude Code через организацию, администратор также может ограничить, какие моды загружаются. Администраторы начинают с [Остановка загрузки модов, установленных пользователем](/docs/ru/plugins/mods/admin#stop-user-installed-mods-from-loading).121Если вы используете Claude Code через организацию, администратор также может ограничить, какие моды загружаются. Администраторы начинают с [Остановка загрузки модов, установленных пользователем](/docs/ru/plugins/mods/admin#stop-user-installed-mods-from-loading).

104 122 

123`disableAllHooks` и параметр вашей организации `allowManagedModsOnly` останавливают мод, но оставляют остальную часть его плагина на месте: плагин остаётся установленным, а его скиллы, команды, агенты и MCP-серверы загружаются. Другие настройки и флаги действуют шире. В разделах [`disableAllHooks`](/docs/ru/settings-reference#disableallhooks) и [Что работает при `allowManagedHooksOnly`](/docs/ru/settings-reference#what-runs-under-allowmanagedhooksonly) перечислено, как каждый из них влияет на плагин и его хуки из настроек.

124 

105Чтобы узнать, могут ли моды загружаться для вас, см. [Проверка, могут ли загружаться моды](/docs/ru/plugins/mods/troubleshoot#check-whether-mods-can-load).125Чтобы узнать, могут ли моды загружаться для вас, см. [Проверка, могут ли загружаться моды](/docs/ru/plugins/mods/troubleshoot#check-whether-mods-can-load).

106 126 

107<Note>127<Note>


118 Как работает мод138 Как работает мод

119</h2>139</h2>

120 140 

121Мод — это [плагин](/docs/ru/plugins/overview), чей код регистрирует обработчики событий, называемые hooks. Claude Code запускает hook при возникновении его события, например когда Claude вызывает инструмент или когда рисуется спиннер. Небольшой мод имеет три файла:141Мод — это [плагин](/docs/ru/plugins/overview), код которого регистрирует обработчики событий, называемые хуками. Claude Code запускает хук, когда происходит соответствующее событие, например когда Claude вызывает инструмент или когда отрисовывается спиннер. Небольшой мод состоит из трёх файлов:

122 142 

123```text theme={null}143```text theme={null}

124first-mod/144first-mod/


130```150```

131 151 

132* **`plugin.json`**: [манифест](/docs/ru/plugins/manifest-reference) плагина152* **`plugin.json`**: [манифест](/docs/ru/plugins/manifest-reference) плагина

133* **`hooks.json`**: [указывает на ваш файл кода](/docs/ru/plugins/mods/reference#files)153* **`hooks.json`**: [указывает на ваш файл с кодом](/docs/ru/plugins/mods/reference#files)

134* **`register.js`**: [ваш код](/docs/ru/plugins/mods/create#write-a-mod-yourself), называемый модулем hooks. Он сообщает Claude Code, на каких событиях запускать ваши функции.154* **`register.js`**: [ваш код](/docs/ru/plugins/mods/create#write-a-mod-yourself), называемый модулем хуков. Он сообщает Claude Code, при каких событиях запускать ваши функции.

135 155 

136Это полный `register.js`. Он считает вызовы инструментов, которые делает Claude, и показывает счетчик рядом со спиннером, пока Claude работает, как в `Thinking · tool calls: 3…`.156Ниже приведён полный файл `register.js`. Он подсчитывает вызовы инструментов, которые делает Claude, и показывает счётчик рядом со спиннером, пока Claude работает, например `Thinking · tool calls: 3…`.

137 157 

138```javascript hooks/register.js theme={null}158```javascript hooks/register.js theme={null}

139// Счетчик, совместно используемый двумя hooks ниже159// The count, shared by the two hooks below

140let calls = 0160let calls = 0

141 161 

142// Claude Code вызывает это один раз при загрузке мода162// Claude Code calls this once when the mod loads

143export function register(on) {163export function register(on) {

144 // Запускается каждый раз, когда Claude собирается использовать инструмент164 // Runs each time Claude is about to use a tool

145 on('tool.call', async ($, e, next) => {165 on('tool.call', async ($, e, next) => {

146 calls += 1166 calls += 1

147 // Попросите Claude Code перерисовать интерфейс, чтобы показался новый счетчик167 // Ask Claude Code to draw the interface again, so the new count shows

148 $.ui.invalidate('ui.render')168 $.ui.invalidate('ui.render')

149 // Позвольте инструменту работать как обычно169 // Let the tool run as usual

150 return next(e)170 return next(e)

151 })171 })

152 172 

153 // Запускается каждый раз, когда Claude Code рисует спиннер173 // Runs each time Claude Code draws the spinner

154 on('ui.render', { component: 'Spinner' }, async ($, e, next) => {174 on('ui.render', { component: 'Spinner' }, async ($, e, next) => {

155 // Сохраните спиннер Claude Code со счетчиком, добавленным после его слова175 // Keep Claude Code's spinner, with the count added after its word

156 return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })176 return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })

157 })177 })

158}178}

159```179```

160 180 

161Файл регистрирует два hook, и оба используют переменную `calls` в верхней части:181Файл регистрирует два хука, и оба используют переменную `calls`, объявленную в начале:

162 182 

163* **Hook [`tool.call`](/docs/ru/plugins/mods/reference#tools)** запускается каждый раз, когда Claude собирается использовать инструмент. Он добавляет один к `calls`, просит Claude Code перерисовать интерфейс и позволяет инструменту работать как обычно.183* **Хук [`tool.call`](/docs/ru/plugins/mods/reference#tools)** запускается каждый раз, когда Claude собирается использовать инструмент. Он увеличивает `calls` на единицу, просит Claude Code заново отрисовать интерфейс и позволяет инструменту выполниться как обычно.

164* **Hook [`ui.render`](/docs/ru/plugins/mods/reference#interface)** запускается каждый раз, когда Claude Code рисует спиннер. Он сохраняет собственный спиннер Claude Code и добавляет счетчик после слова.184* **Хук [`ui.render`](/docs/ru/plugins/mods/reference#interface)** запускается каждый раз, когда Claude Code отрисовывает спиннер. Он сохраняет собственный спиннер Claude Code и добавляет счётчик после слова.

165 185 

166Эта запись показывает мод в действии. Смотрите строку спиннера над полем подсказки: пока Claude перечисляет каталог и читает два файла, он читает `Thinking · tool calls: 1…`, затем `2…`, затем `3…`.186На этой записи показан мод в действии. Следите за строкой спиннера над полем ввода промпта: пока Claude выводит список файлов в каталоге и читает два файла, в ней отображается `Thinking · tool calls: 1…`, затем `2…`, затем `3…`.

167 187 

168<Frame>188<Frame>

169 <video autoPlay muted loop playsInline controls className="w-full dark:hidden" src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-overview-light.mp4?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=00a18aa0743b59a700f0275ce226e6d1" aria-label="В сеансе Claude Code вводится и отправляется подсказка 'list the files here and read the README'. Пока Claude работает, спиннер читает 'Thinking · tool calls: 1', затем 2, затем 3, когда Claude перечисляет файлы и читает два из них." data-path="images/mods-overview-light.mp4" />189 <video autoPlay muted loop playsInline controls className="w-full dark:hidden" src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-overview-light.mp4?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=00a18aa0743b59a700f0275ce226e6d1" aria-label="В сессии Claude Code вводится и отправляется промпт 'list the files here and read the README'. Пока Claude работает, спиннер показывает 'Thinking · tool calls: 1', затем 2, затем 3, по мере того как Claude выводит список файлов и читает два из них." data-path="images/mods-overview-light.mp4" />

170 190 

171 <video autoPlay muted loop playsInline controls className="w-full hidden dark:block" src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-overview-dark.mp4?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=d5223da2fef16ceaaa214a36d72c0536" aria-label="В сеансе Claude Code вводится и отправляется подсказка 'list the files here and read the README'. Пока Claude работает, спиннер читает 'Thinking · tool calls: 1', затем 2, затем 3, когда Claude перечисляет файлы и читает два из них." data-path="images/mods-overview-dark.mp4" />191 <video autoPlay muted loop playsInline controls className="w-full hidden dark:block" src="https://mintcdn.com/claude-code/dgiVO_Od1X1faduV/images/mods-overview-dark.mp4?fit=max&auto=format&n=dgiVO_Od1X1faduV&q=85&s=d5223da2fef16ceaaa214a36d72c0536" aria-label="В сессии Claude Code вводится и отправляется промпт 'list the files here and read the README'. Пока Claude работает, спиннер показывает 'Thinking · tool calls: 1', затем 2, затем 3, по мере того как Claude выводит список файлов и читает два из них." data-path="images/mods-overview-dark.mp4" />

172</Frame>192</Frame>

173 193 

174<h3 id="what-a-hook-can-do-with-an-event">194<h3 id="what-a-hook-can-do-with-an-event">

175 Что hook может делать с событием195 Что хук может сделать с событием

176</h3>196</h3>

177 197 

178Claude Code запускает ваш hook перед тем, как действовать на событие, поэтому hook решает, что произойдет дальше. У него есть три варианта:198Claude Code запускает ваш хук до того, как обработает событие, поэтому хук решает, что произойдёт дальше. У него есть три варианта:

179 199 

180* **Наблюдать**: заметить, что происходит, и позволить ему продолжаться без изменений, как делает hook `tool.call` в примере200* **Наблюдать**: зафиксировать происходящее и позволить ему продолжиться без изменений, как это делает хук `tool.call` в примере

181* **Переписать**: изменить событие перед его продолжением, как делает hook `ui.render`, когда добавляет счетчик к спиннеру201* **Переписать**: изменить событие перед тем, как оно продолжится, как это делает хук `ui.render`, добавляя счётчик к спиннеру

182* **Ответить**: обработать событие самостоятельно, чтобы обычное поведение не запускалось, например отказать в команде202* **Ответить**: обработать событие самостоятельно, чтобы обычное поведение не выполнялось, например отклонить команду

183 203 

184Чтобы делать что-либо вне собственного кода, такое как рисование, добавление команды, вызов модели, чтение файла, запуск процесса или создание сетевого запроса, hook вызывает API модов. Hook не имеет другого способа делать эти вещи, поэтому Claude Code может [перечислить, что делает мод](#list-what-a-mod-does-before-you-install-one) перед его установкой.204Чтобы сделать что-либо за пределами собственного кода, например отрисовать что-то, добавить команду, вызвать модель, прочитать файл, запустить процесс или выполнить сетевой запрос, хук вызывает API модов. Иного способа сделать это у хука нет, поэтому Claude Code может [показать, что делает мод](#list-what-a-mod-does-before-you-install-one), до того как вы его установите.

185 205 

186Для кода, стоящего за каждым выбором, см. [Реакция на события](/docs/ru/plugins/mods/events#how-a-hook-handles-an-event). Для того, что может вызвать hook, см. [Использование API модов](/docs/ru/plugins/mods/api).206Код для каждого из вариантов см. в разделе [Реакция на события](/docs/ru/plugins/mods/events#how-a-hook-handles-an-event). О том, что может вызывать хук, см. [Использование API модов](/docs/ru/plugins/mods/api).

187 207 

188<h3 id="where-mods-run">208<h3 id="where-mods-run">

189 Где работают моды209 Где работают моды

190</h3>210</h3>

191 211 

192Hooks мода работают в каждом типе сеанса, который загружает плагин. Рисование более узко: только терминал и приложение Desktop показывают панели, полосы и замененные строки мода. Эта таблица перечисляет каждое место, где вы можете запустить Claude Code:212Хуки мода выполняются в сессии любого типа, которая загружает плагин. С отрисовкой всё уже: только терминал и приложение Desktop показывают панели, полосы и заменённые строки мода. В этой таблице перечислены все места, где вы можете запускать Claude Code:

193 213 

194| Где вы запускаете Claude Code | Hooks работают | Что рисует мод появляется |214| Где вы запускаете Claude Code | Хуки выполняются | То, что рисует мод, отображается |

195| :- | :- | :- |215| :- | :- | :- |

196| `claude` в терминале, включая интегрированный терминал редактора и плагин JetBrains | Да | Да |216| `claude` в терминале, включая встроенный терминал редактора и плагин JetBrains | Да | Да |

197| Вкладка Code приложения Desktop, кроме сеанса WSL | Да | Да, кроме элементов, которые [таблица элементов](/docs/ru/plugins/mods/reference#elements) отмечает как только для терминала |217| Вкладка Code в приложении Desktop, кроме сессий WSL | Да | Да, кроме элементов, которые в [таблице элементов](/docs/ru/plugins/mods/reference#elements) отмечены как только для терминала |

198| [Сеанс WSL](/docs/ru/desktop-wsl) в приложении Desktop | Нет, потому что плагины недоступны в сеансах WSL | Нет |218| [Сессия WSL](/docs/ru/desktop-wsl) в приложении Desktop | Нет, поскольку плагины недоступны в сессиях WSL | Нет |

199| Панель чата расширения VS Code | Да | Нет |219| Панель чата расширения VS Code | Да | Нет |

200| `claude -p` и [Agent SDK](/docs/ru/agent-sdk/overview) | Да | Нет |220| `claude -p` и [Agent SDK](/docs/ru/agent-sdk/overview) | Да | Нет |

201| [Remote Control](/docs/ru/remote-control) из claude.ai или мобильного приложения | Да, в сеансе на вашей машине | В терминале на вашей машине |221| [Remote Control](/docs/ru/remote-control) из claude.ai или мобильного приложения | Да, в сессии на вашем компьютере | В терминале на вашем компьютере |

202| [Облачный сеанс](/docs/ru/claude-code-on-the-web) | Да, для плагина, который [достигает облачного сеанса](/docs/ru/cloud-environments#what-carries-over-from-your-setup) | Нет |222| [Облачная сессия](/docs/ru/claude-code-on-the-web) | Да, для плагина, который [попадает в облачную сессию](/docs/ru/cloud-environments#what-carries-over-from-your-setup) | Нет |

203 223 

204Мод, который рисует, может проверить, в каком приложении он работает, и вернуться к строке в транскрипте или текстовому ответу команды, где ничего не рисуется.224Мод, который что-то рисует, может проверить, в каком приложении он запущен, и там, где ничего не отрисовывается, переключиться на строку в транскрипте или текстовый ответ команды.

205 225 

206<h2 id="control-mods-for-your-organization">226<h2 id="control-mods-for-your-organization">

207 Управление модами для вашей организации227 Управление модами для вашей организации

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

406/plugin install <name>@<marketplace>406/plugin install <name>@<marketplace>

407```407```

408 408 

409Когда установка работает, вы видите `✓ Installed <plugin>.` в сеансе или `Successfully installed plugin: <plugin>@<marketplace>` из `claude plugin install`.409Когда установка работает, вы видите `✓ Installed <plugin>.` в сессии или `Successfully installed plugin: <plugin>@<marketplace>` из `claude plugin install`.

410 410 

411Если вы не знаете, какой маркетплейс содержит плагин, запустите `/plugin marketplace list` для маркетплейсов, которые у вас есть, и просмотрите **Discover** в `/plugin` для имени плагина.411Если вы не знаете, какой маркетплейс содержит плагин, запустите `/plugin marketplace list` для маркетплейсов, которые у вас есть, и просмотрите **Discover** в `/plugin` для имени плагина.

412 412 


414 `Plugin '<name>@<marketplace>' is already installed globally`414 `Plugin '<name>@<marketplace>' is already installed globally`

415</h3>415</h3>

416 416 

417Вы запустили `/plugin install` для плагина, который уже установлен в области пользователя или управляемыми параметрами, и Claude Code отказал с `Use '/plugin' to manage existing plugins.` Если вы ввели имя плагина без `@<marketplace>`, сообщение опускает `globally`.417Вы запустили `/plugin install` для плагина, который уже установлен на уровне пользователя или управляемыми настройками, и Claude Code отказал с `Use '/plugin' to manage existing plugins.` Если вы ввели имя плагина без `@<marketplace>`, сообщение опускает `globally`.

418 418 

419Плагин уже доступен в каждом проекте, поэтому нечего добавлять. Чтобы изменить его [область видимости](/docs/ru/plugins/install), включить или отключить его или настроить его, откройте `/plugin` и перейдите на **Installed**.419Плагин уже доступен в каждом проекте, поэтому нечего добавлять. Чтобы изменить его [область действия](/docs/ru/plugins/install), включить или отключить его или настроить его, откройте `/plugin` и перейдите на **Installed**.

420 420 

421Плагин, установленный только в области проекта или локальной области, не вызывает это сообщение. Claude Code позволяет вам установить его также в области пользователя, поэтому он доступен в других проектах.421Плагин, установленный только на уровне проекта или на локальном уровне, не вызывает это сообщение. Claude Code позволяет вам установить его также на уровне пользователя, поэтому он доступен в других проектах.

422 422 

423`claude plugin install` в вашей оболочке выводит другое сообщение. Для плагина, уже установленного в целевой области, он выводит `Plugin "<name>@<marketplace>" is already installed (scope: user)` и выходит с кодом 0. Если его каталог кэша отсутствует, та же команда повторно загружает его.423`claude plugin install` в вашей оболочке выводит другое сообщение. Для плагина, уже установленного в целевой области действия, он выводит `Plugin "<name>@<marketplace>" is already installed (scope: user)` и выходит с кодом 0. Если его каталог кэша отсутствует, та же команда повторно загружает его.

424 424 

425<h3 id="plugin-would-share-its-folder">425<h3 id="plugin-would-share-its-folder">

426 `"<plugin>" was not installed: it would share its folder with "<other>"`426 `"<plugin>" was not installed: it would share its folder with "<other>"`

427</h3>427</h3>

428 428 

429Вы установили плагин через `claude plugin install`, `/plugin` или предложение установки в сеансе, и Claude Code отказал ему с этой строкой или с `would share its saved data with`.429Вы установили плагин через `claude plugin install`, `/plugin` или предложение установки в сессии, и Claude Code отказал ему с этой строкой или с `would share its saved data with`.

430 430 

431ID отказанного плагина и ID установленного плагина отображаются в одну и ту же папку на диске: они одинаковы, когда `.` и `@` записываются как `-`. На macOS и Windows ID, которые отличаются только заглавными буквами, также отображаются в одну и ту же папку. Установка обоих поместит файлы одного плагина в папку другого, поэтому Claude Code отказывает и установленный плагин сохраняет свои файлы.431ID отказанного плагина и ID установленного плагина отображаются в одну и ту же папку на диске: они одинаковы, когда `.` и `@` записываются как `-`. На macOS и Windows ID, которые отличаются только заглавными буквами, также отображаются в одну и ту же папку. Установка обоих поместит файлы одного плагина в папку другого, поэтому Claude Code отказывает и установленный плагин сохраняет свои файлы.

432 432 


457 457 

458Исправление отличается для издателя и установщика:458Исправление отличается для издателя и установщика:

459 459 

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 

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* **Если это не вы**: сообщите сообщение владельцу маркетплейса

462 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`


481 496 

482До v2.1.205 Claude Code проверял имя только при добавлении маркетплейса, поэтому запись, зарегистрированная до того, как её имя было зарезервировано, продолжала загружаться.497До v2.1.205 Claude Code проверял имя только при добавлении маркетплейса, поэтому запись, зарегистрированная до того, как её имя было зарезервировано, продолжала загружаться.

483 498 

499<h3 id="marketplace-is-added-but-ignored">

500 `Marketplace "<name>" is added but ignored`

501</h3>

502 

503У маркетплейса есть запись в `~/.claude/plugins/known_marketplaces.json`, но эта запись не прошла проверку, которую Claude Code выполняет при каждом чтении этого файла, поэтому маркетплейс и плагины, установленные из него, перестают загружаться. В вашей оболочке `claude plugin list` сообщает о каждом затронутом плагине строкой, которая называет причину и исправление:

504 

505```text theme={null}

506Marketplace team-tools is added but ignored. Its location is on a network drive, has "." or ".." in its path, or couldn't be checked. Re-add the marketplace (one added from a folder or file must be re-added from a copy on this computer), or, to trust a folder on a network drive, declare it under extraKnownMarketplaces in user or managed settings.

507```

508 

509В сессии вкладка **Errors** в `/plugin` заключает имя маркетплейса в кавычки, завершает строку после причины и показывает исправление на строке под ней.

510 

511Предложение после `is added but ignored` называет проверку, которую запись не прошла:

512 

513* `Its location is on a network drive, has "." or ".." in its path, or couldn't be checked` или то же предложение о `The folder or file it was added from`: каталог маркетплейса или локальный путь, из которого он был добавлен, находится в сетевом расположении, содержит сегмент `.` или `..` в пути или не может быть проверен

514* `Its git URL can't be used: <reason>` или `Its URL can't be read as an https:// or http:// address`: записанный в записи URL источника — один из тех, из которых Claude Code отказывается клонировать или получать данные

515* `Its source doesn't match its extraKnownMarketplaces entry in user or managed settings`: запись не совпадает с объявлением [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces) с тем же именем

516 

517Когда `(see the debug log)` следует за `is added but ignored` вместо причины, Claude Code отклоняет имя маркетплейса, например [другое написание зарезервированного имени](/docs/ru/errors#marketplace-name-is-another-spelling-of-a-reserved-name). [Лог отладки](/docs/ru/debug-your-config) называет запись.

518 

519**Что делать:**

520 

521* Следуйте исправлению из сообщения. В вашей оболочке запустите `claude plugin marketplace remove <name>`, затем добавьте маркетплейс снова из поддерживаемого источника или локального пути и переустановите его плагины, которые команда удаления удаляет. Команда удаления работает с игнорируемой записью

522* Чтобы сохранить маркетплейс в сетевом расположении, объявите его в [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces) в ваших пользовательских или управляемых настройках; объявление в `.claude/settings.json` или `.claude/settings.local.json` репозитория не учитывается

523* Для источника, который отличается от его объявления в настройках, повторно добавьте маркетплейс из объявленного источника или измените объявление. `claude plugin marketplace add` отклоняет такое же несоответствие; см. [соответствующую запись `Cannot add marketplace`](#cannot-add-marketplace-its-network-source-differs)

524* Для отклонённого имени удалите маркетплейс, используя команду после `Remove it:`, если строка её приводит; повторное добавление под тем же именем снова будет отклонено

525 

526До v2.1.286, независимо от причины, `claude plugin list` сообщал о таком маркетплейсе как `Marketplace <name> not found`, а вкладка **Errors** в `/plugin` сообщала о нём как `Marketplace "<name>" is registered but was refused (see the debug log)`. Причина появлялась только в логе отладки. В v2.1.286 предложения с причиной и исправлением использовали другую формулировку, например `Its recorded location is network-shaped or unclassifiable (never probed)`.

527 

484<h3 id="plugin-has-a-corrupt-manifest-file-or-has-an-invalid-manifest-file">528<h3 id="plugin-has-a-corrupt-manifest-file-or-has-an-invalid-manifest-file">

485 `Plugin <name> has a corrupt manifest file` или `has an invalid manifest file`529 `Plugin <name> has a corrupt manifest file` или `has an invalid manifest file`

486</h3>530</h3>


511 555 

512Вы открыли `/plugin` и вкладка **Discover** пуста, или `claude plugin marketplace list` вывел `No marketplaces configured`.556Вы открыли `/plugin` и вкладка **Discover** пуста, или `claude plugin marketplace list` вывел `No marketplaces configured`.

513 557 

514Ни один маркетплейс не зарегистрирован, поэтому нет каталога для отображения. В сеансе добавьте официальный маркетплейс, `anthropics/claude-plugins-official`:558Ни один маркетплейс не зарегистрирован, поэтому нет каталога для отображения. В сессии добавьте официальный маркетплейс, `anthropics/claude-plugins-official`:

515 559 

516```text theme={null}560```text theme={null}

517/plugin marketplace add anthropics/claude-plugins-official561/plugin marketplace add anthropics/claude-plugins-official


540 `Cannot add marketplace "<name>": its network source differs from the one declared for it in settings`584 `Cannot add marketplace "<name>": its network source differs from the one declared for it in settings`

541</h3>585</h3>

542 586 

543Вы запустили `marketplace add`, и каталог в этом источнике имеет то же имя, что и маркетплейс, который файл параметров уже объявляет в [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces) с другим источником. Claude Code отказывает добавлению и ничего не регистрирует.587Вы запустили `marketplace add`, и каталог в этом источнике имеет то же имя, что и маркетплейс, который файл настроек уже объявляет в [`extraKnownMarketplaces`](/docs/ru/settings-reference#extraknownmarketplaces) с другим источником. Claude Code отказывает добавлению и ничего не регистрирует.

544 588 

545Сообщение заканчивается исправлением: источник должен совпадать с тем, который объявлен для этого имени в параметрах, или вы изменяете объявление. Сравните источник, который вы передали, с записью `extraKnownMarketplaces` для этого имени, включая его `ref`, `path` и `headers`, затем сделайте одно из следующего:589Сообщение заканчивается исправлением: источник должен совпадать с тем, который объявлен для этого имени в настройках, или вы изменяете объявление. Сравните источник, который вы передали, с записью `extraKnownMarketplaces` для этого имени, включая его `ref`, `path` и `headers`, затем сделайте одно из следующего:

546 590 

547* **Используйте объявленный источник**: добавьте маркетплейс из источника, который называет запись параметров591* **Используйте объявленный источник**: добавьте маркетплейс из источника, который называет запись настроек

548* **Используйте новый источник**: отредактируйте или удалите запись `extraKnownMarketplaces`, затем добавьте маркетплейс снова. Если управляемые параметры объявляют это, попросите вашего администратора592* **Используйте новый источник**: отредактируйте или удалите запись `extraKnownMarketplaces`, затем добавьте маркетплейс снова. Если управляемые настройки объявляют это, попросите вашего администратора

549 593 

550<h3 id="failed-to-install-from-the-plugin-menu">594<h3 id="failed-to-install-from-the-plugin-menu">

551 `Failed to install: <plugin> (<reason>)`595 `Failed to install: <plugin> (<reason>)`


578 622 

579На Windows, когда другая программа удерживает саму установленную копию, сообщение вместо этого говорит, что эта копия `could not be replaced` и что `It was not replaced and the new copy was discarded`, поэтому версия, которая у вас была, всё ещё установлена.623На Windows, когда другая программа удерживает саму установленную копию, сообщение вместо этого говорит, что эта копия `could not be replaced` и что `It was not replaced and the new copy was discarded`, поэтому версия, которая у вас была, всё ещё установлена.

580 624 

581Список `Left on disk` называет отложенные папки внутри кэша. Более позднее обновление этой версии или очистка кэша плагинов удаляет их, поэтому вам не нужно их удалять.625Список `Left on disk` называет отложенные папки внутри кэша. Более поздняя установка этой версии или очистка кэша плагинов удаляет их, поэтому вам не нужно их удалять.

582 626 

583Чтобы исправить установку:627Чтобы исправить установку:

584 628 

585* Закройте другие сеансы Claude Code, редакторы и терминалы, которые используют папку плагина в `~/.claude/plugins/cache`, затем запустите установку снова629* Закройте другие сессии Claude Code, редакторы и терминалы, которые используют папку плагина в `~/.claude/plugins/cache`, затем запустите установку снова

586* Когда сообщение говорит проверить разрешения папки кэша плагинов, восстановите разрешение на запись в папку, которую оно называет, и освободите место на диске, затем запустите установку снова630* Когда сообщение говорит проверить права доступа папки кэша плагинов, восстановите права на запись в папку, которую оно называет, и освободите место на диске, затем запустите установку снова

587 631 

588<h3 id="dependency-errors">632<h3 id="dependency-errors">

589 Ошибки зависимостей633 Ошибки зависимостей


598 642 

599| Сообщение | Значение | Как разрешить |643| Сообщение | Значение | Как разрешить |

600| :- | :- | :- |644| :- | :- | :- |

601| `Dependency "<dep>" is not installed` | Объявленная зависимость не установлена. | Установите её в вашей оболочке с помощью `claude plugin install <dep>@<marketplace>` или удалите плагин. Если маркетплейс зависимости ещё не зарегистрирован, добавьте его и запустите `/reload-plugins` в вашем сеансе, который устанавливает отсутствующие зависимости, которые он может разрешить. |645| `Dependency "<dep>" is not installed` | Объявленная зависимость не установлена. | Установите её в вашей оболочке с помощью `claude plugin install <dep>@<marketplace>` или удалите плагин. Если маркетплейс зависимости ещё не зарегистрирован, добавьте его и запустите `/reload-plugins` в вашей сессии, который устанавливает отсутствующие зависимости, которые он может разрешить. |

602| `Dependency "<dep>" is disabled` | Зависимость установлена, но отключена. | Включите зависимость или удалите плагин, который её требует. |646| `Dependency "<dep>" is disabled` | Зависимость установлена, но отключена. | Включите зависимость или удалите плагин, который её требует. |

603| `Requires "<dep>" <range>, installed <version>` | Версия установленной зависимости находится вне объявленного диапазона плагина. | Обновите зависимость до версии в диапазоне или удалите плагин. |647| `Requires "<dep>" <range>, installed <version>` | Версия установленной зависимости находится вне объявленного диапазона плагина. | Обновите зависимость до версии в диапазоне или удалите плагин. |

604| `<Plugin or Dependency> "<name>" has conflicting version requirements` | Ни одна версия не удовлетворяет каждому диапазону, который её закрепляет. Сообщение перечисляет диапазоны. | Удалите или обновите один из конфликтующих плагинов или попросите автора вышестоящего уровня расширить его ограничение. |648| `<Plugin or Dependency> "<name>" has conflicting version requirements` | Ни одна версия не удовлетворяет каждому диапазону, который её закрепляет. Сообщение перечисляет диапазоны. | Удалите или обновите один из конфликтующих плагинов или попросите автора вышестоящего уровня расширить его ограничение. |

605| `... has version requirements too complex to intersect` или `has an invalid version requirement` | Диапазон не является действительным semver или объединённые диапазоны не могут быть пересечены. | Исправьте недействительный диапазон или упростите длинные цепочки `\|\|`. |649| `... has version requirements too complex to intersect` или `has an invalid version requirement` | Диапазон не является действительным semver или объединённые диапазоны не могут быть пересечены. | Исправьте недействительный диапазон или упростите длинные цепочки `\|\|`. |

606| `... has no git tag satisfying <range>` | Репозиторий зависимости не имеет тега `<name>--v*` в диапазоне. | Проверьте, что вышестоящий уровень помечает выпуски этим соглашением, или ослабьте диапазон. |650| `... has no git tag satisfying <range>` | Репозиторий зависимости не имеет тега `<name>--v*` в диапазоне. | Проверьте, что вышестоящий уровень помечает выпуски этим соглашением, или ослабьте диапазон. |

607| `Dependency "<dep>" (required by <plugin>) is in <marketplace>, which is not in the allowlist` | Зависимость находится в другом маркетплейсе, и разрешение между маркетплейсами отключено по умолчанию. | Установите зависимость самостоятельно в той же области видимости, в вашей оболочке с помощью `claude plugin install <dep>@<marketplace>` плюс `--scope`, в котором вы устанавливаете плагин, затем повторите попытку. |651| `Dependency "<dep>" (required by <plugin>) is in <marketplace>, which is not in the allowlist` | Зависимость находится в другом маркетплейсе, и разрешение между маркетплейсами отключено по умолчанию. | Установите зависимость самостоятельно в той же области действия, в вашей оболочке с помощью `claude plugin install <dep>@<marketplace>` плюс `--scope`, в котором вы устанавливаете плагин, затем повторите попытку. |

608 652 

609Чтобы увидеть это программно, запустите `claude plugin list --json` в вашей оболочке. Плагины с проблемами содержат поле `errors` с сообщениями и поле `errorDetails` с `type` для каждого: первые две строки — `dependency-unsatisfied`, а третья — `dependency-version-unsatisfied`.653Чтобы увидеть это программно, запустите `claude plugin list --json` в вашей оболочке. Плагины с проблемами содержат поле `errors` с сообщениями и поле `errorDetails` с `type` для каждого: первые две строки — `dependency-unsatisfied`, а третья — `dependency-version-unsatisfied`.

610 654 


881 925 

882Две ошибки, которые также достигают пользователей плагина, имеют свои записи в разделе [Плагин установлен, но не работает](#plugin-installed-but-not-working):926Две ошибки, которые также достигают пользователей плагина, имеют свои записи в разделе [Плагин установлен, но не работает](#plugin-installed-but-not-working):

883 927 

884* **Hook, который не срабатывает**: см. [hooks, которые не срабатывают](#failed-to-load-hooks-from-and-hooks-that-dont-fire)928* **Хук, который не срабатывает**: см. [хуки, которые не срабатывают](#failed-to-load-hooks-from-and-hooks-that-dont-fire)

885* **MCP сервер, который не запускается**: см. [MCP серверы, которые не запускаются](#invalid-mcp-server-config-for-and-mcp-servers-that-dont-start)929* **MCP-сервер, который не запускается**: см. [MCP-серверы, которые не запускаются](#invalid-mcp-server-config-for-and-mcp-servers-that-dont-start)

886 930 

887<h3 id="commands-path-not-found">931<h3 id="commands-path-not-found">

888 `commands path not found: <path>`932 `commands path not found: <path>`


898 `--plugin-dir` в корне маркетплейса не загружает плагины в `plugins/`942 `--plugin-dir` в корне маркетплейса не загружает плагины в `plugins/`

899</h3>943</h3>

900 944 

901Вы запустили `claude --plugin-dir <path>` и не видите ошибку, но skills, агенты и hooks плагина отсутствуют.945Вы запустили `claude --plugin-dir <path>` и не видите ошибку, но скиллы, агенты и хуки плагина отсутствуют.

902 946 

903`--plugin-dir` принимает каталог корня плагина, тот, который содержит `.claude-plugin/plugin.json` и каталоги компонентов, такие как `skills/`. Если вы вместо этого указываете его на корень маркетплейса, Claude Code не читает `marketplace.json`, поэтому плагин в `plugins/` не загружается, и вы не видите ошибку. До v2.1.281 Claude Code загружал корень маркетплейса как один пустой плагин с именем этого каталога. Укажите флаг на сам каталог плагина:947`--plugin-dir` принимает каталог корня плагина, тот, который содержит `.claude-plugin/plugin.json` и каталоги компонентов, такие как `skills/`. Если вы вместо этого указываете его на корень маркетплейса, Claude Code не читает `marketplace.json`, поэтому плагин в `plugins/` не загружается, и вы не видите ошибку. До v2.1.281 Claude Code загружал корень маркетплейса как один пустой плагин с именем этого каталога. Укажите флаг на сам каталог плагина:

904 948 


920 `${CLAUDE_PLUGIN_ROOT}` показывает прямые косые черты на Windows964 `${CLAUDE_PLUGIN_ROOT}` показывает прямые косые черты на Windows

921</h3>965</h3>

922 966 

923На Windows hook плагина получает `${CLAUDE_PLUGIN_ROOT}` как `C:/Users/you/...` вместо `C:\Users\you\...`, и скрипт, который ожидал обратных косых черт, ломается.967На Windows хук плагина получает `${CLAUDE_PLUGIN_ROOT}` как `C:/Users/you/...` вместо `C:\Users\you\...`, и скрипт, который ожидал обратных косых черт, ломается.

924 968 

925Claude Code запускает hooks в форме оболочки через Git Bash на Windows и подставляет корень плагина в форме Win32 с прямыми косыми чертами специально. Встроенные функции Bash, инструменты MSYS и собственные двоичные файлы Windows все принимают эту форму.969Claude Code запускает хуки в форме оболочки через Git Bash на Windows и подставляет корень плагина в форме Win32 с прямыми косыми чертами специально. Встроенные функции Bash, инструменты MSYS и собственные двоичные файлы Windows все принимают эту форму.

926 970 

927Если вашему скрипту нужны обратные косые черты, переключитесь на одну из форм, которые сохраняют собственные пути, описанные в разделе [exec форма и shell форма](/docs/ru/hooks#exec-form-and-shell-form):971Если вашему скрипту нужны обратные косые черты, переключитесь на одну из форм, которые сохраняют собственные пути, описанные в разделе [exec форма и shell форма](/docs/ru/hooks#exec-form-and-shell-form):

928 972 

929* Hook в exec-форме, который создаёт процесс непосредственно с массивом `args`973* Хук в exec-форме, который создаёт процесс непосредственно с массивом `args`

930* Hook с `"shell": "powershell"`974* Хук с `"shell": "powershell"`

931 975 

932<h3 id="plugin-loads-but-its-skills-are-missing">976<h3 id="plugin-loads-but-its-skills-are-missing">

933 Плагин загружается, но его skills отсутствуют977 Плагин загружается, но его скиллы отсутствуют

934</h3>978</h3>

935 979 

936Ваш плагин указан в **Installed** без ошибок, но его skills не предлагаются, когда вы вводите `/`.980Ваш плагин указан в **Installed** без ошибок, но его скиллы не предлагаются, когда вы вводите `/`.

937 981 

938Skills загружаются из `skills/` в корне плагина и команды из `commands/` в корне плагина. Только `plugin.json` принадлежит внутри `.claude-plugin/`, и каталог `skills/` внутри `.claude-plugin/` не сканируется. Переместите каталоги в корень плагина и запустите `/reload-plugins`. После этого панель деталей плагина в `/plugin` перечисляет skills, и ввод `/` предлагает их.982Скиллы загружаются из `skills/` в корне плагина и команды из `commands/` в корне плагина. Только `plugin.json` принадлежит внутри `.claude-plugin/`, и каталог `skills/` внутри `.claude-plugin/` не сканируется. Переместите каталоги в корень плагина и запустите `/reload-plugins`. После этого панель деталей плагина в `/plugin` перечисляет скиллы, и ввод `/` предлагает их.

939 983 

940Каждый skill — это каталог, содержащий `SKILL.md`. Запись `skills` в манифесте, которая указывает на файл `SKILL.md` вместо его каталога, сообщается как `path is a file; skills entries must be directories containing SKILL.md`.984Каждый скилл — это каталог, содержащий `SKILL.md`. Запись `skills` в манифесте, которая указывает на файл `SKILL.md` вместо его каталога, сообщается как `path is a file; skills entries must be directories containing SKILL.md`.

941 985 

942<h3 id="skill-loads-but-claude-never-invokes-the-skill">986<h3 id="skill-loads-but-claude-never-invokes-the-skill">

943 Skill загружается, но Claude никогда не вызывает skill987 Скилл загружается, но Claude никогда не вызывает скилл

944</h3>988</h3>

945 989 

946Skill вашего плагина запускается, когда вы вводите его команду `/<plugin>:<skill>`, но Claude никогда не вызывает его в ответ на простой запрос.990Скилл вашего плагина запускается, когда вы вводите его команду `/<plugin>:<skill>`, но Claude никогда не вызывает его в ответ на простой запрос.

947 991 

948Проверьте эти причины по порядку:992Проверьте эти причины по порядку:

949 993 

950* **Skill устанавливает `disable-model-invocation: true`**: с этим полем установленным только вы можете вызвать skill. Шаблонный skill в [Создайте свой первый плагин](/docs/ru/plugins/create#create-your-first-plugin) устанавливает его. Удалите строку из skill, который вы хотите, чтобы Claude вызвал самостоятельно. [Контролируйте, кто вызывает skill](/docs/ru/skills#control-who-invokes-a-skill) охватывает поле994* **Скилл устанавливает `disable-model-invocation: true`**: с этим полем установленным только вы можете вызвать скилл. Шаблонный скилл в [Создайте свой первый плагин](/docs/ru/plugins/create#create-your-first-plugin) устанавливает его. Удалите строку из скилла, который вы хотите, чтобы Claude вызвал самостоятельно. [Контролируйте, кто вызывает скилл](/docs/ru/skills#control-who-invokes-a-skill) охватывает поле

951* **Описание не совпадает с тем, как люди спрашивают**: пройдите проверки в [Skill не срабатывает](/docs/ru/skills#skill-not-triggering)995* **Описание не совпадает с тем, как люди спрашивают**: пройдите проверки в [Скилл не срабатывает](/docs/ru/skills#skill-not-triggering)

952* **Описание обрезано**: когда установлено много skills, Claude Code сокращает описания, чтобы они поместились в бюджет символов списка, что может удалить ключевые слова, которые Claude нужны для сопоставления запроса. См. [Описания skills обрезаны](/docs/ru/skills#skill-descriptions-are-cut-short)996* **Описание обрезано**: когда установлено много скиллов, Claude Code сокращает описания, чтобы они поместились в бюджет символов списка, что может удалить ключевые слова, которые Claude нужны для сопоставления запроса. См. [Описания скиллов обрезаны](/docs/ru/skills#skill-descriptions-are-cut-short)

953 997 

954Чтобы измерить, как часто skill срабатывает на реалистичных подсказках, а не проверять по одной, напишите случай eval с [оценщиком `tool_used: Skill`](/docs/ru/plugin-evals#create-your-first-eval-suite) и запустите его с `claude plugin eval` после каждого изменения описания.998Чтобы измерить, как часто скилл срабатывает на реалистичных промптах, а не проверять по одному, напишите случай eval с [оценщиком `tool_used: Skill`](/docs/ru/plugin-evals#create-your-first-eval-suite) и запустите его с `claude plugin eval` после каждого изменения описания.

955 999 

956<h3 id="is-not-a-plugin-or-skill-folder">1000<h3 id="is-not-a-plugin-or-skill-folder">

957 `<directory> is not a plugin or skill folder` из `claude plugin eval init`1001 `<directory> is not a plugin or skill folder` из `claude plugin eval init`


959 1003 

960Вы запустили `claude plugin eval init` из каталога, который не является корнем плагина, такой как ваш домашний каталог или корень репозитория, который хранит плагин в подкаталоге. `init` пишет набор в рабочий каталог, поэтому он останавливается вместо создания каталога `evals/`, который плагин никогда не увидит.1004Вы запустили `claude plugin eval init` из каталога, который не является корнем плагина, такой как ваш домашний каталог или корень репозитория, который хранит плагин в подкаталоге. `init` пишет набор в рабочий каталог, поэтому он останавливается вместо создания каталога `evals/`, который плагин никогда не увидит.

961 1005 

962Перейдите в корень плагина, каталог, который содержит `.claude-plugin/plugin.json` или `SKILL.md` skill, и запустите команду снова. Чтобы создать набор где-то ещё специально, передайте `--eval-dir`. См. [Тестируйте плагины с помощью evals](/docs/ru/plugin-evals).1006Перейдите в корень плагина, каталог, который содержит `.claude-plugin/plugin.json` или `SKILL.md` скилла, и запустите команду снова. Чтобы создать набор где-то ещё специально, передайте `--eval-dir`. См. [Тестируйте плагины с помощью evals](/docs/ru/plugin-evals).

963 1007 

964<h3 id="the-userconfig-dialog-never-appears">1008<h3 id="the-userconfig-dialog-never-appears">

965 Диалог `userConfig` никогда не появляется1009 Диалог `userConfig` никогда не появляется


969 1013 

970Появляется ли диалог при установке, зависит от того, где вы его запускаете:1014Появляется ли диалог при установке, зависит от того, где вы его запускаете:

971 1015 

972* **`/plugin install` в сеансе или вкладка Discover в `/plugin`**: диалог является частью этой интерактивной установки1016* **`/plugin install` в сессии или вкладка Discover в `/plugin`**: диалог является частью этой интерактивной установки

973* **Диалог управления плагинами расширения VS Code**: запрашивает неустановленные опции как форму после установки. До v2.1.285 установка там не показывала форму опций, поэтому установите значения из сеанса терминала с помощью `/plugin configure <plugin>@<marketplace>`1017* **Диалог управления плагинами расширения VS Code**: запрашивает неустановленные опции как форму после установки. До v2.1.285 установка там не показывала форму опций, поэтому установите значения из сессии терминала с помощью `/plugin configure <plugin>@<marketplace>`

974* **`claude plugin install` в вашей оболочке**: никогда не запрашивает значения `userConfig`. Он сохраняет любые значения `--config KEY=VALUE`, которые вы передаёте, и когда опции остаются неустановленными, он выводит `N userConfig options not yet set — run /plugin configure <plugin>@<marketplace> in Claude Code, or pass --config KEY=VALUE.` Когда любая из неустановленных опций требуется, `(M required)` следует за `not yet set`.1018* **`claude plugin install` в вашей оболочке**: никогда не запрашивает значения `userConfig`. Он сохраняет любые значения `--config KEY=VALUE`, которые вы передаёте, и когда опции остаются неустановленными, он выводит `N userConfig options not yet set — run /plugin configure <plugin>@<marketplace> in Claude Code, or pass --config KEY=VALUE.` Когда любая из неустановленных опций требуется, `(M required)` следует за `not yet set`.

975 1019 

976Если вы установили из оболочки, передайте значения с `--config`, один флаг на опцию:1020Если вы установили из оболочки, передайте значения с `--config`, один флаг на опцию:


981 1025 

982Когда каждая опция установлена, вывод установки не содержит строку `not yet set`.1026Когда каждая опция установлена, вывод установки не содержит строку `not yet set`.

983 1027 

984Чтобы открыть диалог позже вместо этого, запустите `/plugin configure my-plugin@my-marketplace` в сеансе. Из оболочки, [`claude plugin configure`](/docs/ru/plugins/cli-reference#plugin-configure) показывает, какие опции всё ещё не установлены, и сохраняет значения, переданные в stdin. Это требует Claude Code v2.1.285 или позже.1028Чтобы открыть диалог позже вместо этого, запустите `/plugin configure my-plugin@my-marketplace` в сессии. Из оболочки, [`claude plugin configure`](/docs/ru/plugins/cli-reference#plugin-configure) показывает, какие опции всё ещё не установлены, и сохраняет значения, переданные в stdin. Это требует Claude Code v2.1.285 или позже.

985 1029 

986Если вы передаёте ключ `--config`, который манифест не объявляет, плагин всё ещё устанавливается, и команда выводит `⚠ Installed, but --config not applied: --config key "<key>" isn't declared in this plugin's userConfig.` за которым следуют ключи, которые плагин объявляет.1030Если вы передаёте ключ `--config`, который манифест не объявляет, плагин всё ещё устанавливается, и команда выводит `⚠ Installed, but --config not applied: --config key "<key>" isn't declared in this plugin's userConfig.` за которым следуют ключи, которые плагин объявляет.

987 1031 


991 `claude plugin validate` сообщает об ошибках1035 `claude plugin validate` сообщает об ошибках

992</h3>1036</h3>

993 1037 

994Вы запустили `claude plugin validate <path>` или `/plugin validate <path>` в сеансе, и он вывел `Found N errors` и `Validation failed`, затем вышел с кодом 1.1038Вы запустили `claude plugin validate <path>` или `/plugin validate <path>` в сессии, и он вывел `Found N errors` и `Validation failed`, затем вышел с кодом 1.

995 1039 

996Валидатор читает манифест по пути, который вы даёте ему: `.claude-plugin/plugin.json` для каталога плагина или `.claude-plugin/marketplace.json` для каталога маркетплейса. Для маркетплейса он предваряет проблемы в собственном манифесте записи с индексом записи, как `plugins[1] plugin.json → json: ...`.1040Валидатор читает манифест по пути, который вы даёте ему: `.claude-plugin/plugin.json` для каталога плагина или `.claude-plugin/marketplace.json` для каталога маркетплейса. Для маркетплейса он предваряет проблемы в собственном манифесте записи с индексом записи, как `plugins[1] plugin.json → json: ...`.

997 1041 


1001| :- | :- | :- |1045| :- | :- | :- |

1002| `File not found: <path>` | Путь не имеет манифеста или не существует. | Запустите команду против корня плагина или маркетплейса, каталога, который содержит `.claude-plugin/`. |1046| `File not found: <path>` | Путь не имеет манифеста или не существует. | Запустите команду против корня плагина или маркетплейса, каталога, который содержит `.claude-plugin/`. |

1003| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | Каталог не имеет манифеста `.claude-plugin/`. | Создайте манифест или укажите на правильный каталог. |1047| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | Каталог не имеет манифеста `.claude-plugin/`. | Создайте манифест или укажите на правильный каталог. |

1004| `Invalid JSON syntax: <parse error>` | Манифест или `hooks/hooks.json` не является действительным JSON. | Исправьте JSON. До тех пор, пока вы не исправите `hooks/hooks.json`, сеанс загружает плагин без hooks в этом файле. |1048| `Invalid JSON syntax: <parse error>` | Манифест или `hooks/hooks.json` не является действительным JSON. | Исправьте JSON. До тех пор, пока вы не исправите `hooks/hooks.json`, сессия загружает плагин без хуков в этом файле. |

1005| `Path not found: <path>. The runtime loader will report this as a load failure.` | Путь компонента в манифесте не существует. | Исправьте путь или создайте каталог. |1049| `Path not found: <path>. The runtime loader will report this as a load failure.` | Путь компонента в манифесте не существует. | Исправьте путь или создайте каталог. |

1006| `Path contains ".." which could be a path traversal attempt: <path>` | Путь компонента выходит за пределы каталога плагина. | Используйте пути внутри корня плагина. |1050| `Path contains ".." which could be a path traversal attempt: <path>` | Путь компонента выходит за пределы каталога плагина. | Используйте пути внутри корня плагина. |

1007| `Path is a file; skills entries must be directories containing SKILL.md` | Запись `skills` указывает на `SKILL.md` вместо его каталога. | Укажите на родительский каталог или `.` для `SKILL.md` на уровне корня. |1051| `Path is a file; skills entries must be directories containing SKILL.md` | Запись `skills` указывает на `SKILL.md` вместо его каталога. | Укажите на родительский каталог или `.` для `SKILL.md` на уровне корня. |

1008| `No frontmatter block found` или `YAML frontmatter failed to parse: <error>` | Файл skill, агента или команды имеет отсутствующий или недействительный YAML frontmatter. | Добавьте или исправьте frontmatter между разделителями `---`. Сообщается при валидации каталога плагина. |1052| `No frontmatter block found` или `YAML frontmatter failed to parse: <error>` | Файл скилла, агента или команды имеет отсутствующий или недействительный YAML frontmatter. | Добавьте или исправьте frontmatter между разделителями `---`. Сообщается при валидации каталога плагина. |

1009| `Plugin name "<name>" is reserved: it passes as one of Anthropic's own` | Имя плагина `name` является одним из [зарезервированных имён](/docs/ru/plugins/manifest-reference#name). | Переименуйте плагин в соответствии с его функциональностью. |1053| `Plugin name "<name>" is reserved: it passes as one of Anthropic's own` | Имя плагина `name` является одним из [зарезервированных имён](/docs/ru/plugins/manifest-reference#name). | Переименуйте плагин в соответствии с его функциональностью. |

1010| `Unknown field '<key>'` | Манифест имеет поле, которое схема не определяет. | Удалите его или используйте имя, которое предлагает сообщение. Claude Code игнорирует неизвестные поля во время загрузки. |1054| `Unknown field '<key>'` | Манифест имеет поле, которое схема не определяет. | Удалите его или используйте имя, которое предлагает сообщение. Claude Code игнорирует неизвестные поля во время загрузки. Для `privacyPolicyUrl` и других полей листинга в каталоге в `plugin.json` см. [Поля листинга в каталоге](/docs/ru/plugins/manifest-reference#directory-listing-fields). |

1011 1055 

1012Запустите команду снова после каждого исправления до тех пор, пока она не выведет никаких ошибок.1056Запустите команду снова после каждого исправления до тех пор, пока она не выведет никаких ошибок.

1013 1057 


1025 `Warning: No commands found in plugin <name> custom directory`1069 `Warning: No commands found in plugin <name> custom directory`

1026</h3>1070</h3>

1027 1071 

1028Когда плагин загружается, журнал `claude --debug` в `~/.claude/debug/<session-id>.txt` записывает `Warning: No commands found in plugin <name> custom directory: <path>. Expected .md files or SKILL.md in subdirectories.` Ничего не появляется в сеансе или на вкладке **Errors**.1072Когда плагин загружается, лог `claude --debug` в `~/.claude/debug/<session-id>.txt` записывает `Warning: No commands found in plugin <name> custom directory: <path>. Expected .md files or SKILL.md in subdirectories.` Ничего не появляется в сессии или на вкладке **Errors**.

1029 1073 

1030Путь `commands` в манифесте существует, но не содержит файлов `.md` и не содержит `SKILL.md` в подкаталоге. Добавьте файлы команд или удалите путь из манифеста.1074Путь `commands` в манифесте существует, но не содержит файлов `.md` и не содержит `SKILL.md` в подкаталоге. Добавьте файлы команд или удалите путь из манифеста.

1031 1075 

prompt-library.md +283 −60

Details

622 const m = p.slice(base.length).match(/^\/([a-z]{2}(?:-[A-Z]{2})?)\//);622 const m = p.slice(base.length).match(/^\/([a-z]{2}(?:-[A-Z]{2})?)\//);

623 const locale = m ? m[1] : 'en';623 const locale = m ? m[1] : 'en';

624 return href => {624 return href => {

625 if (!href || href[0] !== '/' || href[1] === '/') return href;625 if (!href) return undefined;

626 if (href[0] === '#' || href.startsWith('https://')) return href;

627 if (!(/^\/[A-Za-z0-9]/).test(href)) return undefined;

626 return base + (href.startsWith('/en/') ? '/' + locale + href.slice(3) : href);628 return base + (href.startsWith('/en/') ? '/' + locale + href.slice(3) : href);

627 };629 };

628 }, []);630 }, []);


671 const assemble = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => fillOf(p, k) || p.slots && p.slots[k] || k);673 const assemble = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => fillOf(p, k) || p.slots && p.slots[k] || k);

672 const preview = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => p.slots && p.slots[k] || k);674 const preview = p => p.prompt.replace(/\{(\w+)\}/g, (_, k) => p.slots && p.slots[k] || k);

673 const bodyText = p => preview(p) + ' ' + p.teaches.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1') + ' ' + (p.next || '');675 const bodyText = p => preview(p) + ' ' + p.teaches.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1') + ' ' + (p.next || '');

674 const widthFor = s => (s || '').length + 3 + 'ch';676 const WIDE_RE = /[\u1100-\u115F\u2E80-\uA4CF\uAC00-\uD7A3\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFF60\uFFE0-\uFFE6]/g;

677 const widthFor = s => {

678 const t = typeof s === 'string' ? s : '';

679 return t.length + (t.match(WIDE_RE) || []).length + 3 + 'ch';

680 };

675 const ql = q.trim().toLowerCase();681 const ql = q.trim().toLowerCase();

676 const toggleTag = k => {682 const toggleTag = k => {

677 setStart(false);683 setStart(false);


1098 "get-oriented-in-a": {1104 "get-oriented-in-a": {

1099 title: "Ориентируйтесь в новом репозитории",1105 title: "Ориентируйтесь в новом репозитории",

1100 teaches: "Опишите, что вы хотите узнать, а не какие файлы читать. Claude исследует проект самостоятельно и возвращает сводку того, как он устроен.",1106 teaches: "Опишите, что вы хотите узнать, а не какие файлы читать. Claude исследует проект самостоятельно и возвращает сводку того, как он устроен.",

1101 next: "Запустите `/init`, чтобы установить `CLAUDE.md`, чтобы Claude помнил это в каждой сессии"1107 next: "Запустите `/init`, чтобы установить `CLAUDE.md`, чтобы Claude помнил это в каждой сессии",

1108 prompt: "дайте обзор этой кодовой базы: архитектура, ключевые каталоги и то, как связаны её части"

1102 },1109 },

1103 "explain-unfamiliar-code": {1110 "explain-unfamiliar-code": {

1104 title: "Объясните незнакомый код",1111 title: "Объясните незнакомый код",

1105 teaches: "Назовите файл и скажите, в каком формате вы хотите ответ. Замените HTML-страницу на диаграмму, маркированный список или что-то, что соответствует вашему стилю обучения.",1112 teaches: "Назовите файл и скажите, в каком формате вы хотите ответ. Замените HTML-страницу на диаграмму, маркированный список или что-то, что соответствует вашему стилю обучения.",

1106 next: "Установите стиль вывода, чтобы Claude всегда объяснял в вашем предпочитаемом формате"1113 next: "Установите стиль вывода, чтобы Claude всегда объяснял в вашем предпочитаемом формате",

1114 prompt: "объясните, что делает {path} и как через него проходят данные. оформите это как {format}",

1115 slots: {

1116 path: "src/scheduler/queue.ts",

1117 format: "HTML-страницу с диаграммой, затем откройте её в моём браузере"

1118 }

1107 },1119 },

1108 "find-where-something-happens": {1120 "find-where-something-happens": {

1109 title: "Найдите, где что-то происходит",1121 title: "Найдите, где что-то происходит",

1110 teaches: "Ищите по поведению, а не по имени файла. Поиск работает даже когда вы не знаете, как называется файл или в каком каталоге он находится."1122 teaches: "Ищите по поведению, а не по имени файла. Поиск работает даже когда вы не знаете, как называется файл или в каком каталоге он находится.",

1123 prompt: "где мы {behavior}?",

1124 slots: {

1125 behavior: "проверяем типы загружаемых файлов"

1126 }

1111 },1127 },

1112 "see-what-depends-on": {1128 "see-what-depends-on": {

1113 title: "Проверьте, что сломается перед удалением",1129 title: "Проверьте, что сломается перед удалением",

1114 teaches: "Спросите перед удалением чего-либо. Список вызывающих функций и нисходящих эффектов показывает, смотрите ли вы на однострочную очистку или изменение, которое нужно координировать."1130 teaches: "Спросите перед удалением чего-либо. Список вызывающих функций и нисходящих эффектов показывает, смотрите ли вы на однострочную очистку или изменение, которое нужно координировать.",

1131 prompt: "что сломается, если я удалю {target}?",

1132 slots: {

1133 target: "хелпер retryWithBackoff"

1134 }

1115 },1135 },

1116 "trace-how-code-evolved": {1136 "trace-how-code-evolved": {

1117 title: "Проследите, как код эволюционировал",1137 title: "Проследите, как код эволюционировал",

1118 teaches: "Указывайте на историю коммитов, когда вопрос в том, почему, а не что. Claude читает логи и blame для любой системы контроля версий, которую вы используете, и объясняет решения, стоящие за текущей реализацией."1138 teaches: "Указывайте на историю коммитов, когда вопрос в том, почему, а не что. Claude читает логи и blame для любой системы контроля версий, которую вы используете, и объясняет решения, стоящие за текущей реализацией.",

1139 prompt: "просмотрите историю коммитов {path} и кратко опишите, как он развивался и почему",

1140 slots: {

1141 path: "internal/auth/session.go"

1142 }

1119 },1143 },

1120 "scope-a-change-before": {1144 "scope-a-change-before": {

1121 title: "Определите объем изменений перед началом",1145 title: "Определите объем изменений перед началом",

1122 teaches: "Оцените объем работы перед тем, как взять её в дорожную карту. Список файлов показывает, смотрите ли вы на один компонент или сквозное изменение."1146 teaches: "Оцените объем работы перед тем, как взять её в дорожную карту. Список файлов показывает, смотрите ли вы на один компонент или сквозное изменение.",

1147 prompt: "какие файлы мне придётся изменить, чтобы {change}?",

1148 slots: {

1149 change: "добавить переключатель тёмной темы в настройки"

1150 }

1123 },1151 },

1124 "ask-the-codebase-a": {1152 "ask-the-codebase-a": {

1125 title: "Задайте кодовой базе вопрос о продукте",1153 title: "Задайте кодовой базе вопрос о продукте",

1126 teaches: "Укажите вашу роль, чтобы ответ был на нужном уровне. Claude объясняет, что продукт на самом деле делает из исходного кода, без необходимости его читать.",1154 teaches: "Укажите вашу роль, чтобы ответ был на нужном уровне. Claude объясняет, что продукт на самом деле делает из исходного кода, без необходимости его читать.",

1127 next: "Установите стиль вывода, чтобы Claude всегда давал ответы на этом уровне"1155 next: "Установите стиль вывода, чтобы Claude всегда давал ответы на этом уровне",

1156 prompt: "я {role}. проведите меня через то, что происходит, когда пользователь {action}, от UI до результата",

1157 slots: {

1158 role: "PM",

1159 action: "нажимает «Экспорт в PDF»"

1160 }

1128 },1161 },

1129 "plan-a-multi-file": {1162 "plan-a-multi-file": {

1130 title: "Спланируйте многофайловое изменение перед редактированием кода",1163 title: "Спланируйте многофайловое изменение перед редактированием кода",

1131 teaches: "Добавление \"не редактируйте пока\" разделяет исследование от изменений, поэтому вы видите подход перед тем, как код движется. Чтобы сделать план-первый подход по умолчанию для каждого промпта, нажмите Shift+Tab для [режима плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode)."1164 teaches: "Добавление \"не редактируйте пока\" разделяет исследование от изменений, поэтому вы видите подход перед тем, как код движется. Чтобы сделать план-первый подход по умолчанию для каждого промпта, нажмите Shift+Tab для [режима планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode).",

1165 prompt: "составьте план рефакторинга {target}, чтобы {goal}. перечислите файлы, которые вы бы изменили, но пока ничего не редактируйте",

1166 slots: {

1167 target: "платёжного модуля",

1168 goal: "поддерживать несколько валют"

1169 }

1132 },1170 },

1133 "draft-a-spec-by": {1171 "draft-a-spec-by": {

1134 title: "Составьте спецификацию путём интервью",1172 title: "Составьте спецификацию путём интервью",

1135 teaches: "Попросите провести интервью вместо того, чтобы писать спецификацию самостоятельно. Claude задаёт вам структурированные вопросы, пока требования не будут полными, затем записывает результат в файл.",1173 teaches: "Попросите провести интервью вместо того, чтобы писать спецификацию самостоятельно. Claude задаёт вам структурированные вопросы, пока требования не будут полными, затем записывает результат в файл.",

1136 next: "Сохраните ваши вопросы интервью как skill `/spec`, чтобы каждая спецификация начиналась одинаково"1174 next: "Сохраните ваши вопросы интервью как скилл `/spec`, чтобы каждая спецификация начиналась одинаково",

1175 prompt: "я хочу создать {feature}. проведите со мной интервью о реализации, UX, граничных случаях и компромиссах, пока мы не охватим всё, затем запишите спецификацию в SPEC.md",

1176 slots: {

1177 feature: "ограничения частоты запросов для каждого рабочего пространства"

1178 }

1137 },1179 },

1138 "turn-a-meeting-into": {1180 "turn-a-meeting-into": {

1139 title: "Превратите встречу в задачи",1181 title: "Превратите встречу в задачи",

1140 teaches: "Пропустите этап транскрипции. Claude извлекает пункты действий из неструктурированного ввода и записывает их прямо в ваш трекер через [MCP](/docs/ru/mcp), поэтому вы проверяете задачи, а не транскрипцию.",1182 teaches: "Пропустите этап составления транскрипта. Claude извлекает пункты действий из неструктурированного ввода и записывает их прямо в ваш трекер через [MCP](/docs/ru/mcp), поэтому вы проверяете задачи, а не транскрипт.",

1141 next: "Сохраните это как skill `/tickets`"1183 next: "Сохраните это как скилл `/tickets`",

1184 prompt: "прочитайте {input} и выпишите пункты действий, затем создайте задачу в {tracker} для каждого с критериями приёмки",

1185 slots: {

1186 input: "@meeting-notes.md",

1187 tracker: "Linear"

1188 }

1142 },1189 },

1143 "map-edge-cases-before": {1190 "map-edge-cases-before": {

1144 title: "Определите граничные случаи перед разработкой",1191 title: "Определите граничные случаи перед разработкой",

1145 teaches: "Спросите, чего не хватает, а не что есть. Claude перечисляет состояния ошибок, пустые состояния и граничные случаи, которые дизайн счастливого пути обычно пропускает."1192 teaches: "Спросите, чего не хватает, а не что есть. Claude перечисляет состояния ошибок, пустые состояния и граничные случаи, которые дизайн счастливого пути обычно пропускает.",

1193 prompt: "перечислите состояния ошибок, пустые состояния и граничные случаи для {feature}, которые должен учитывать дизайн",

1194 slots: {

1195 feature: "процесса загрузки файлов"

1196 }

1146 },1197 },

1147 "turn-a-mockup-into": {1198 "turn-a-mockup-into": {

1148 title: "Превратите макет в работающий прототип",1199 title: "Превратите макет в работающий прототип",

1149 teaches: "Интерактивный прототип отвечает на вопросы, на которые статический макет не может. Передайте работающий код инженерам вместо объяснения взаимодействий в документе."1200 teaches: "Интерактивный прототип отвечает на вопросы, на которые статический макет не может. Передайте работающий код инженерам вместо объяснения взаимодействий в документе.",

1201 prompt: "вот макет. создайте работающий прототип, по которому я смогу покликать, с той же вёрсткой и состояниями, что показаны"

1150 },1202 },

1151 "implement-from-a-screenshot": {1203 "implement-from-a-screenshot": {

1152 title: "Реализуйте из скриншота и самопроверьте",1204 title: "Реализуйте из скриншота и самопроверьте",

1153 teaches: "Это даёт Claude цикл проверки: он рендерит, сравнивает с исходным изображением и повторяет без вашего указания на каждый пробел.",1205 teaches: "Это даёт Claude цикл проверки: он рендерит, сравнивает с исходным изображением и повторяет без вашего указания на каждый пробел.",

1154 next: "Используйте `/goal`, чтобы Claude продолжал повторять, пока скриншоты не совпадут"1206 next: "Используйте `/goal`, чтобы Claude продолжал повторять, пока скриншоты не совпадут",

1207 prompt: "реализуйте этот дизайн, затем сделайте скриншот результата, сравните его с оригиналом и исправьте все различия"

1155 },1208 },

1156 "follow-an-existing-pattern": {1209 "follow-an-existing-pattern": {

1157 title: "Следуйте существующему паттерну",1210 title: "Следуйте существующему паттерну",

1158 teaches: "Укажите на код, который вам уже нравится. Без ссылки Claude использует общие лучшие практики. С ней он соответствует соглашениям, которые ваша кодовая база на самом деле использует.",1211 teaches: "Укажите на код, который вам уже нравится. Без ссылки Claude использует общие лучшие практики. С ней он соответствует соглашениям, которые ваша кодовая база на самом деле использует.",

1159 next: "Попросите Claude написать паттерн, который он следовал, в `CLAUDE.md`, чтобы будущие сессии соответствовали ему без ссылки"1212 next: "Попросите Claude написать паттерн, который он следовал, в `CLAUDE.md`, чтобы будущие сессии соответствовали ему без ссылки",

1213 prompt: "посмотрите, как реализован {example}, чтобы понять паттерн, затем создайте {new} таким же образом",

1214 slots: {

1215 example: "обработчик вебхуков GitHub",

1216 new: "обработчик вебхуков Stripe"

1217 }

1160 },1218 },

1161 "add-a-small-well": {1219 "add-a-small-well": {

1162 title: "Добавьте небольшую, хорошо определённую функцию",1220 title: "Добавьте небольшую, хорошо определённую функцию",

1163 teaches: "Укажите входы и выходы, а не как её построить. Claude находит, где живёт похожий код, и добавляет ваш рядом с ним."1221 teaches: "Укажите входы и выходы, а не как её создать. Claude находит, где живёт похожий код, и добавляет ваш рядом с ним.",

1222 prompt: "добавьте эндпоинт {endpoint}, который возвращает {payload}",

1223 slots: {

1224 endpoint: "/health",

1225 payload: "версию приложения и время работы"

1226 }

1164 },1227 },

1165 "build-a-small-internal": {1228 "build-a-small-internal": {

1166 title: "Создайте небольшой внутренний инструмент с нуля",1229 title: "Создайте небольшой внутренний инструмент с нуля",

1167 teaches: "Вам не нужен проект, фреймворк или этап сборки. Опишите инструмент и попросите Claude открыть его, чтобы вы сразу увидели, что он работает."1230 teaches: "Вам не нужен проект, фреймворк или этап сборки. Опишите инструмент и попросите Claude открыть его, чтобы вы сразу увидели, что он работает.",

1231 prompt: "создайте {tool} на HTML, CSS и vanilla JavaScript, затем откройте результат в моём браузере",

1232 slots: {

1233 tool: "канбан-доску с перетаскиванием и тремя колонками"

1234 }

1168 },1235 },

1169 "work-an-issue-end": {1236 "work-an-issue-end": {

1170 title: "Работайте над задачей от начала до конца",1237 title: "Работайте над задачей от начала до конца",

1171 teaches: "Дайте номер задачи, а не сводку. Claude читает полный билет сам, поэтому требования, которые вы забыли упомянуть, проходят, и он проверяет изменение перед отчётом."1238 teaches: "Дайте номер задачи, а не сводку. Claude читает полный билет сам, поэтому требования, которые вы забыли упомянуть, проходят, и он проверяет изменение перед отчётом.",

1239 prompt: "прочитайте issue #{issue}, реализуйте исправление и запустите тесты",

1240 slots: {

1241 issue: "312"

1242 }

1172 },1243 },

1173 "find-and-update-copy": {1244 "find-and-update-copy": {

1174 title: "Найдите и обновите текст по всей кодовой базе",1245 title: "Найдите и обновите текст по всей кодовой базе",

1175 teaches: "Спросите варианты и скажите, что пропустить. Claude находит фразировки, которые буквальный поиск пропустит, и оставляет тестовые фиксчуры и историю нетронутыми, поэтому вы проверяете только текст, который видят пользователи."1246 teaches: "Спросите варианты и скажите, что пропустить. Claude находит фразировки, которые буквальный поиск пропустит, и оставляет тестовые фиксчуры и историю нетронутыми, поэтому вы проверяете только текст, который видят пользователи.",

1247 prompt: "найдите все места, где мы пишем «{copy}» или близкий вариант, покажите каждое в контексте, затем замените их все на «{new}». тесты и changelog не трогайте",

1248 slots: {

1249 copy: "Зарегистрируйтесь бесплатно",

1250 new: "Начните бесплатный пробный период"

1251 }

1176 },1252 },

1177 "draft-from-past-examples": {1253 "draft-from-past-examples": {

1178 title: "Составьте документ из прошлых примеров",1254 title: "Составьте документ из прошлых примеров",

1179 teaches: "Укажите на папку готовой работы вместо описания вашего стиля. Claude изучает структуру и голос из того, что вы уже выпустили, поэтому первый черновик читается как один из ваших.",1255 teaches: "Укажите на папку готовой работы вместо описания вашего стиля. Claude изучает структуру и голос из того, что вы уже выпустили, поэтому первый черновик читается как один из ваших.",

1180 next: "Сохраните голос как skill, чтобы каждый черновик начинался там"1256 next: "Сохраните голос как скилл, чтобы каждый черновик начинался там",

1257 prompt: "прочитайте {examples} в {folder}, чтобы изучить структуру и стиль, затем составьте новый документ для {topic}",

1258 slots: {

1259 examples: "оценки воздействия на конфиденциальность",

1260 folder: "legal/pia/",

1261 topic: "новой интеграции аналитики"

1262 }

1181 },1263 },

1182 "write-tests-run-them": {1264 "write-tests-run-them": {

1183 title: "Напишите тесты, запустите их, исправьте ошибки",1265 title: "Напишите тесты, запустите их, исправьте ошибки",

1184 teaches: "Спросите написать, запустить и исправить вместе, чтобы Claude повторял без остановки для инструкций.",1266 teaches: "Спросите написать, запустить и исправить вместе, чтобы Claude повторял без остановки для инструкций.",

1185 next: "Запустите `/init`, чтобы Claude автоматически изучил вашу команду тестирования"1267 next: "Запустите `/init`, чтобы Claude автоматически изучил вашу команду тестирования",

1268 prompt: "напишите тесты для {path}, запустите их и исправьте все падения",

1269 slots: {

1270 path: "app/parsers/feed.py"

1271 }

1186 },1272 },

1187 "drive-implementation-from-tests": {1273 "drive-implementation-from-tests": {

1188 title: "Управляйте реализацией из тестов",1274 title: "Управляйте реализацией из тестов",

1189 teaches: "Разработка, управляемая тестами: тесты определяют, когда работа завершена, и Claude повторяет реализацию, пока они не пройдут."1275 teaches: "Разработка, управляемая тестами: тесты определяют, когда работа завершена, и Claude повторяет реализацию, пока они не пройдут.",

1276 prompt: "сначала напишите тесты для {feature}, затем реализуйте функциональность, пока тесты не пройдут",

1277 slots: {

1278 feature: "процесса сброса пароля"

1279 }

1190 },1280 },

1191 "fill-gaps-from-a": {1281 "fill-gaps-from-a": {

1192 title: "Заполните пробелы из отчёта о покрытии",1282 title: "Заполните пробелы из отчёта о покрытии",

1193 teaches: "Укажите на отчёт о покрытии вместо угадывания того, что не протестировано. Claude читает фактические числа и пишет тесты для файлов, которые нуждаются в них больше всего.",1283 teaches: "Укажите на отчёт о покрытии вместо угадывания того, что не протестировано. Claude читает фактические числа и пишет тесты для файлов, которые нуждаются в них больше всего.",

1194 next: "Установите это как `/goal`, чтобы Claude продолжал писать тесты, пока покрытие не достигнет целевого показателя"1284 next: "Установите это как `/goal`, чтобы Claude продолжал писать тесты, пока покрытие не достигнет целевого показателя",

1285 prompt: "прочитайте {report} и добавьте тесты для файлов с наименьшим покрытием, пока у каждого оно не превысит {target}%",

1286 slots: {

1287 report: "coverage/coverage-summary.json",

1288 target: "80"

1289 }

1195 },1290 },

1196 "port-code-between-languages": {1291 "port-code-between-languages": {

1197 title: "Перенесите код на другой язык",1292 title: "Перенесите код на другой язык",

1198 teaches: "Скажите, что сохранить, а не только целевой язык. Название API или поведения, которое должно остаться неизменным, даёт Claude контракт для проверки переноса."1293 teaches: "Скажите, что сохранить, а не только целевой язык. Название API или поведения, которое должно остаться неизменным, даёт Claude контракт для проверки переноса.",

1294 prompt: "перенесите {source} на {target}, сохранив без изменений {keep}",

1295 slots: {

1296 source: "этот модуль Python",

1297 target: "Rust",

1298 keep: "публичный API и поведение тестов"

1299 }

1199 },1300 },

1200 "generate-docs-for-code": {1301 "generate-docs-for-code": {

1201 title: "Создайте документацию для недокументированного кода",1302 title: "Создайте документацию для недокументированного кода",

1202 teaches: "Назовите область и формат. Claude находит, что не хватает, и соответствует стилю комментариев, уже находящемуся в файле, поэтому новая документация читается как остальная."1303 teaches: "Назовите охват и формат. Claude находит, что не хватает, и соответствует стилю комментариев, уже находящемуся в файле, поэтому новая документация читается как остальная.",

1304 prompt: "найдите {scope} без комментариев {format} и добавьте их, соблюдая стиль, уже используемый в файле",

1305 slots: {

1306 scope: "публичные функции в src/auth/",

1307 format: "JSDoc"

1308 }

1203 },1309 },

1204 "migrate-a-pattern-across": {1310 "migrate-a-pattern-across": {

1205 title: "Перенесите паттерн по всей кодовой базе",1311 title: "Перенесите паттерн по всей кодовой базе",

1206 teaches: "Опишите старый паттерн и новый. Попросить Claude сначала определить каждое место означает, что сайты вызовов перечислены в ответе, поэтому вы можете проверить, что ничего не пропущено. Для миграции по многим файлам запустите [/batch](/docs/ru/commands). Claude разбивает работу на единицы для вашего одобрения, затем фоновые подагенты делают изменения."1312 teaches: "Опишите старый паттерн и новый. Попросить Claude сначала определить каждое место означает, что сайты вызовов перечислены в ответе, поэтому вы можете проверить, что ничего не пропущено. Для миграции по многим файлам запустите [/batch](/docs/ru/commands). Claude разбивает работу на единицы для вашего одобрения, затем фоновые субагенты делают изменения.",

1313 prompt: "перенесите всё с {from} на {to}: найдите каждое место, которое нужно изменить, затем внесите изменения",

1314 slots: {

1315 from: "старого API логирования",

1316 to: "структурированный логгер"

1317 }

1207 },1318 },

1208 "optimize-against-a-measurable": {1319 "optimize-against-a-measurable": {

1209 title: "Оптимизируйте против измеримой цели",1320 title: "Оптимизируйте против измеримой цели",

1210 teaches: "Указание метрики и цели даёт Claude чёткое определение завершения.",1321 teaches: "Указание метрики и цели даёт Claude чёткое определение завершения.",

1211 next: "Установите это как `/goal`, чтобы Claude продолжал измерять и повторять, пока не достигнет числа"1322 next: "Установите это как `/goal`, чтобы Claude продолжал измерять и повторять, пока не достигнет числа",

1323 prompt: "оптимизируйте {target}, чтобы снизить {metric} с {current} до менее чем {goal}",

1324 slots: {

1325 target: "поисковый запрос",

1326 metric: "задержку p95",

1327 current: "2s",

1328 goal: "500ms"

1329 }

1212 },1330 },

1213 "fix-a-precise-visual": {1331 "fix-a-precise-visual": {

1214 title: "Исправьте точную визуальную ошибку",1332 title: "Исправьте точную визуальную ошибку",

1215 teaches: "Точная визуальная обратная связь получает точное исправление. Укажите точный элемент, измерение и viewport.",1333 teaches: "Точная визуальная обратная связь получает точное исправление. Укажите точный элемент, измерение и viewport.",

1216 next: "Добавьте инструмент предпросмотра, чтобы Claude сделал скриншот и проверил исправление сам"1334 next: "Добавьте инструмент предпросмотра, чтобы Claude сделал скриншот и проверил исправление сам",

1335 prompt: "{element} выходит на {amount} за пределы {container} на {viewport}. исправьте это.",

1336 slots: {

1337 element: "кнопка входа",

1338 amount: "20px",

1339 container: "рамки карточки",

1340 viewport: "мобильных устройствах"

1341 }

1217 },1342 },

1218 "review-your-changes-before": {1343 "review-your-changes-before": {

1219 title: "Проверьте ваши изменения перед коммитом",1344 title: "Проверьте ваши изменения перед коммитом",

1220 teaches: "Поймайте проблемы, пока они ещё дешевы в исправлении. Claude читает изменённые файлы полностью, а не только строки diff, поэтому он замечает проблемы, которые быстрая самопроверка пропускает.",1345 teaches: "Поймайте проблемы, пока они ещё дешевы в исправлении. Claude читает изменённые файлы полностью, а не только строки diff, поэтому он замечает проблемы, которые быстрая самопроверка пропускает.",

1221 next: "Запустите `/code-review` для той же проверки в одной команде"1346 next: "Запустите `/code-review` для той же проверки в одной команде",

1347 prompt: "проверьте мои незакоммиченные изменения и отметьте всё, что выглядит рискованным, до того как я сделаю коммит"

1222 },1348 },

1223 "review-a-pull-request": {1349 "review-a-pull-request": {

1224 title: "Проверьте pull request",1350 title: "Проверьте pull request",

1225 teaches: "Claude проверяет со всей кодовой базой в контексте, а не только diff. Он читает изменённый код и то, что он вызывает, поэтому он ловит проблемы, которые проверка только diff пропустит.",1351 teaches: "Claude проверяет со всей кодовой базой в контексте, а не только diff. Он читает изменённый код и то, что он вызывает, поэтому он ловит проблемы, которые проверка только diff пропустит.",

1226 next: "Запустите `/code-review <pr#>` в одной команде, или включите Code Review для каждого PR"1352 next: "Запустите `/code-review <pr#>` в одной команде, или включите Code Review для каждого PR",

1353 prompt: "проверьте PR #{pr}, кратко опишите, что изменилось, затем перечислите все замечания",

1354 slots: {

1355 pr: "247"

1356 }

1227 },1357 },

1228 "review-infrastructure-changes-before": {1358 "review-infrastructure-changes-before": {

1229 title: "Проверьте изменения инфраструктуры перед применением",1359 title: "Проверьте изменения инфраструктуры перед применением",

1230 teaches: "Вывод плана плотный и сложно сканировать. Вставка его даёт вам простой текстовый обзор того, что на самом деле будет изменено перед применением."1360 teaches: "Вывод плана плотный и сложно сканировать. Вставка его даёт вам простой текстовый обзор того, что на самом деле будет изменено перед применением.",

1361 prompt: "вот вывод моего Terraform plan. что это сделает, и может ли что-то здесь вызвать проблемы?"

1231 },1362 },

1232 "run-a-security-review": {1363 "run-a-security-review": {

1233 title: "Запустите проверку безопасности с подагентом",1364 title: "Запустите проверку безопасности с субагентом",

1234 teaches: "[Подагент](/docs/ru/sub-agents) запускает аудит в своём собственном контекстном окне и сообщает обратно сводку, поэтому длинная проверка безопасности не заполняет вашу основную сессию. Встроенный универсальный подагент справляется с этим без дополнительной настройки.",1365 teaches: "[Субагент](/docs/ru/sub-agents) запускает аудит в своём собственном контекстном окне и сообщает обратно сводку, поэтому длинная проверка безопасности не заполняет вашу основную сессию. Встроенный универсальный субагент справляется с этим без дополнительной настройки.",

1235 next: "Установите выделенный подагент security-review, который может использовать вся ваша команда"1366 next: "Настройте выделенного субагента security-review, которого может использовать вся ваша команда",

1367 prompt: "используйте субагента, чтобы проверить {path} на проблемы безопасности, и сообщите, что он найдёт",

1368 slots: {

1369 path: "src/api/"

1370 }

1236 },1371 },

1237 "review-content-before-sending": {1372 "review-content-before-sending": {

1238 title: "Поймайте проблемы перед формальной проверкой",1373 title: "Поймайте проблемы перед формальной проверкой",

1239 teaches: "Получите первый проход перед тем, как человек потратит на это время. Назовите проблемы, которые вы хотите проверить, чтобы проверка была сосредоточена, затем исправьте то, что она находит, и отправьте более чистый черновик.",1374 teaches: "Получите первый проход перед тем, как человек потратит на это время. Назовите проблемы, которые вы хотите проверить, чтобы проверка была сосредоточена, затем исправьте то, что она находит, и отправьте более чистый черновик.",

1240 next: "Захватите ваш контрольный список проверки как skill, который может запустить вся ваша команда"1375 next: "Захватите ваш контрольный список проверки как скилл, который может запустить вся ваша команда",

1376 prompt: "проверьте {file} на {concerns} и перечислите всё, что мне нужно исправить до того, как он отправится к {reviewer}",

1377 slots: {

1378 file: "launch-post.md",

1379 concerns: "необоснованные утверждения, отсутствующие ссылки на источники и нарушения брендбука",

1380 reviewer: "юристам"

1381 }

1241 },1382 },

1242 "course-correct-a-wrong": {1383 "course-correct-a-wrong": {

1243 title: "Исправьте неправильный подход",1384 title: "Исправьте неправильный подход",

1244 teaches: "Назовите ограничение, которое Claude пропустил, а не просто что это неправильно. Конкретная причина даёт Claude конкретное ограничение для удовлетворения при повторной попытке, вместо угадывания снова.",1385 teaches: "Назовите ограничение, которое Claude пропустил, а не просто что это неправильно. Конкретная причина даёт Claude конкретное ограничение для удовлетворения при повторной попытке, вместо угадывания снова.",

1245 next: "Нажмите `Esc` дважды, чтобы открыть меню перемотки и восстановить код и разговор, чтобы повторная попытка началась чистой"1386 next: "Нажмите `Esc` дважды, чтобы открыть меню перемотки и восстановить код и диалог, чтобы повторная попытка началась чистой",

1387 prompt: "это неправильно: {feedback}. попробуйте другой подход",

1388 slots: {

1389 feedback: "сигнатура функции должна остаться обратно совместимой"

1390 }

1246 },1391 },

1247 "narrow-the-scope-of": {1392 "narrow-the-scope-of": {

1248 title: "Сузьте область изменения",1393 title: "Сузьте масштаб изменения",

1249 teaches: "Когда направление правильное, но изменение стало слишком широким, попросите Claude сохранить часть его, а не перематывать всё. Указанная граница держит небольшое исправление от становления рефакторингом."1394 teaches: "Когда направление правильное, но изменение стало слишком широким, попросите Claude сохранить часть его, а не перематывать всё. Указанная граница держит небольшое исправление от становления рефакторингом.",

1395 prompt: "это слишком много. оставьте только изменения в {scope} и отмените остальные правки",

1396 slots: {

1397 scope: "логике валидации в src/forms/"

1398 }

1250 },1399 },

1251 "turn-a-correction-into": {1400 "turn-a-correction-into": {

1252 title: "Превратите исправление в правило",1401 title: "Превратите исправление в правило",

1253 teaches: "Исправление в чате не делится с вашей командой. Правило в [CLAUDE.md](/docs/ru/memory) проекта делится один раз, когда вы его коммитите, и Claude читает его в начале каждой сессии.",1402 teaches: "Исправление в чате не делится с вашей командой. Правило в [CLAUDE.md](/docs/ru/memory) проекта делится один раз, когда вы его коммитите, и Claude читает его в начале каждой сессии.",

1254 next: "Откройте `/memory`, чтобы проверить, что Claude написал"1403 next: "Откройте `/memory`, чтобы проверить, что Claude написал",

1404 prompt: "вы постоянно {mistake}. добавьте правило в CLAUDE.md, чтобы это прекратилось",

1405 slots: {

1406 mistake: "используете экспорт по умолчанию, хотя в этом проекте используются именованные экспорты"

1407 }

1255 },1408 },

1256 "resolve-merge-conflicts": {1409 "resolve-merge-conflicts": {

1257 title: "Разрешите конфликты слияния",1410 title: "Разрешите конфликты слияния",

1258 teaches: "Скажите, какое состояние вы хотите, а не какие маркеры сохранить. Запрос рассуждения делает слияние проверяемым вместо чёрного ящика."1411 teaches: "Скажите, какое состояние вы хотите, а не какие маркеры сохранить. Запрос рассуждения делает слияние проверяемым вместо чёрного ящика.",

1412 prompt: "разрешите конфликты слияния в этой ветке и объясните, что вы оставили с каждой стороны"

1259 },1413 },

1260 "commit-with-a-generated": {1414 "commit-with-a-generated": {

1261 title: "Коммитьте с сгенерированным сообщением",1415 title: "Коммитьте с сгенерированным сообщением",

1262 teaches: "Позвольте Claude вывести сообщение из diff. Это соответствует существующему стилю коммитов вашего репозитория."1416 teaches: "Позвольте Claude вывести сообщение из diff. Это соответствует существующему стилю коммитов вашего репозитория.",

1417 prompt: "сделайте коммит этих изменений с сообщением, которое кратко описывает, что я сделал"

1263 },1418 },

1264 "open-a-pull-request": {1419 "open-a-pull-request": {

1265 title: "Откройте pull request из задачи",1420 title: "Откройте pull request из задачи",

1266 teaches: "Пропустите переключение контекста между трекером, редактором и GitHub. Один промпт читает спецификацию, делает изменение и открывает PR."1421 teaches: "Пропустите переключение контекста между трекером, редактором и GitHub. Один промпт читает спецификацию, делает изменение и открывает PR.",

1422 prompt: "найдите задачу в {tracker} про {topic} и откройте PR, который её реализует",

1423 slots: {

1424 tracker: "Linear",

1425 topic: "таймаут входа"

1426 }

1267 },1427 },

1268 "draft-release-notes-from": {1428 "draft-release-notes-from": {

1269 title: "Составьте примечания к выпуску из истории git",1429 title: "Составьте примечания к выпуску из истории git",

1270 teaches: "Дайте две контрольные точки и структуру, которую вы хотите. Claude читает логи коммитов между ними и составляет changelog, который вы можете редактировать.",1430 teaches: "Дайте две контрольные точки и структуру, которую вы хотите. Claude читает логи коммитов между ними и составляет changelog, который вы можете редактировать.",

1271 next: "Сохраните это как skill `/changelog`"1431 next: "Сохраните это как скилл `/changelog`",

1432 prompt: "сравните {from} с {to} и составьте примечания к выпуску, сгруппированные по функциям, исправлениям и критическим изменениям",

1433 slots: {

1434 from: "v2.3.0",

1435 to: "v2.4.0"

1436 }

1272 },1437 },

1273 "write-a-ci-workflow": {1438 "write-a-ci-workflow": {

1274 title: "Напишите CI workflow",1439 title: "Напишите CI workflow",

1275 teaches: "Опишите, когда он должен запускаться и что он должен делать; YAML генерируется для вас, соответствуя командам сборки и тестирования вашего проекта."1440 teaches: "Опишите, когда он должен запускаться и что он должен делать; YAML генерируется для вас, соответствуя командам сборки и тестирования вашего проекта.",

1441 prompt: "напишите workflow GitHub Actions, который {steps} при каждом push в {branch}",

1442 slots: {

1443 steps: "запускает тесты и деплоит на staging",

1444 branch: "main"

1445 }

1276 },1446 },

1277 "find-and-fix-a": {1447 "find-and-fix-a": {

1278 title: "Найдите и исправьте неудачный тест",1448 title: "Найдите и исправьте неудачный тест",

1279 teaches: "Опишите симптом; вам не нужно знать, какой файл сломан. Claude запускает тест, чтобы увидеть ошибку, отслеживает её в исходный код и исправляет её."1449 teaches: "Опишите симптом; вам не нужно знать, какой файл сломан. Claude запускает тест, чтобы увидеть ошибку, отслеживает её в исходный код и исправляет её.",

1450 prompt: "тест {test} падает, выясните почему и исправьте его",

1451 slots: {

1452 test: "UserAuth"

1453 }

1280 },1454 },

1281 "investigate-a-reported-error": {1455 "investigate-a-reported-error": {

1282 title: "Исследуйте сообщённую ошибку",1456 title: "Исследуйте сообщённую ошибку",

1283 teaches: "Опишите симптом и местоположение; Claude читает соответствующий путь кода и отслеживает вероятные причины. Вставьте трассировки стека или логи, если они у вас есть.",1457 teaches: "Опишите симптом и местоположение; Claude читает соответствующий путь кода и отслеживает вероятные причины. Вставьте трассировки стека или логи, если они у вас есть.",

1284 next: "Поместите глубокую ссылку в вашу runbook, которая открывает Claude с этим промптом предварительно заполненным"1458 next: "Поместите глубокую ссылку в вашу runbook, которая открывает Claude с этим промптом предварительно заполненным",

1459 prompt: "пользователи видят {symptom} на {where}. разберитесь и расскажите, что происходит",

1460 slots: {

1461 symptom: "ошибки 500",

1462 where: "/api/settings"

1463 }

1285 },1464 },

1286 "fix-a-build-error": {1465 "fix-a-build-error": {

1287 title: "Исправьте ошибку сборки в корне",1466 title: "Исправьте ошибку сборки в корне",

1288 teaches: "Запрос корневой причины и проверки предотвращает поверхностные патчи, которые подавляют ошибку без её исправления."1467 teaches: "Запрос корневой причины и проверки предотвращает поверхностные патчи, которые подавляют ошибку без её исправления.",

1468 prompt: "вот ошибка сборки. исправьте первопричину и убедитесь, что сборка проходит успешно"

1289 },1469 },

1290 "investigate-a-production-incident": {1470 "investigate-a-production-incident": {

1291 title: "Исследуйте инцидент в production",1471 title: "Исследуйте инцидент в production",

1292 teaches: "Перечислите источники доказательств для корреляции, а не шаги для выполнения. Claude читает логи, историю git и конфигурацию вместе, чтобы сузить причину.",1472 teaches: "Перечислите источники доказательств для корреляции, а не шаги для выполнения. Claude читает логи, историю git и конфигурацию вместе, чтобы сузить причину.",

1293 next: "Подключите Sentry или ваше хранилище логов через MCP"1473 next: "Подключите Sentry или ваше хранилище логов через MCP",

1474 prompt: "{symptom}. проверьте логи, недавние деплои и изменения конфигурации, затем назовите наиболее вероятную причину",

1475 slots: {

1476 symptom: "эндпоинт checkout начал возвращать ошибки 500 час назад"

1477 }

1294 },1478 },

1295 "query-logs-in-plain": {1479 "query-logs-in-plain": {

1296 title: "Запросите логи на простом английском",1480 title: "Запросите логи на простом английском",

1297 teaches: "Спросите вопрос вместо написания SQL. Claude строит запрос, запускает его против ваших подключённых логов и показывает как запрос, так и результат, чтобы вы могли проверить, что запустилось."1481 teaches: "Спросите вопрос вместо написания SQL. Claude составляет запрос, запускает его против ваших подключённых логов и показывает как запрос, так и результат, чтобы вы могли проверить, что запустилось.",

1482 prompt: "покажите все {events} для {scope} за {timeframe}. напишите запрос, выполните его и расскажите, что выделяется",

1483 slots: {

1484 events: "неудачные попытки входа",

1485 scope: "сервиса авторизации",

1486 timeframe: "последние 24 часа"

1487 }

1298 },1488 },

1299 "diagnose-from-a-console": {1489 "diagnose-from-a-console": {

1300 title: "Диагностируйте из скриншота консоли",1490 title: "Диагностируйте из скриншота консоли",

1301 teaches: "Облачные консоли показывают вам проблему, но не команды для её исправления. Claude читает скриншот и переводит панель управления в команды kubectl, gcloud или aws для запуска."1491 teaches: "Облачные консоли показывают вам проблему, но не команды для её исправления. Claude читает скриншот и переводит панель управления в команды kubectl, gcloud или aws для запуска.",

1492 prompt: "вот скриншот {console}. объясните, почему {resource} не работает, и дайте точные команды для исправления",

1493 slots: {

1494 console: "панели Kubernetes в GCP",

1495 resource: "этот под"

1496 }

1302 },1497 },

1303 "analyze-a-data-file": {1498 "analyze-a-data-file": {

1304 title: "Проанализируйте файл данных",1499 title: "Проанализируйте файл данных",

1305 teaches: "Одноразовый вопрос не требует одноразового скрипта. Укажите на файл в папке вашего проекта, и Claude читает его напрямую, находит закономерности и пишет вывод туда, где вы просите.",1500 teaches: "Одноразовый вопрос не требует одноразового скрипта. Укажите на файл в папке вашего проекта, и Claude читает его напрямую, находит закономерности и пишет вывод туда, где вы просите.",

1306 next: "Подключите источник данных через MCP вместо экспорта файлов"1501 next: "Подключите источник данных через MCP вместо экспорта файлов",

1502 prompt: "прочитайте {file}, кратко опишите ключевые закономерности и запишите результаты в {output}",

1503 slots: {

1504 file: "@reports/q1-signups.csv",

1505 output: "HTML-страницу с графиками, затем откройте её в моём браузере"

1506 }

1307 },1507 },

1308 "generate-variations-from-performance": {1508 "generate-variations-from-performance": {

1309 title: "Создайте варианты из данных производительности",1509 title: "Создайте варианты из данных производительности",

1310 teaches: "Укажите ограничение в начале, чтобы генерация оставалась в пределах лимита. Claude читает метрики, выбирает, что заменить, и производит альтернативы, которые подходят.",1510 teaches: "Укажите ограничение в начале, чтобы генерация оставалась в пределах лимита. Claude читает метрики, выбирает, что заменить, и производит альтернативы, которые подходят.",

1311 next: "Подключите платформу объявлений через MCP вместо экспорта файла"1511 next: "Подключите платформу объявлений через MCP вместо экспорта файла",

1512 prompt: "прочитайте {file}, найдите неэффективные {items} и сгенерируйте {n} новых вариантов длиной не более {limit} символов",

1513 slots: {

1514 file: "@ads-performance.csv",

1515 items: "заголовки",

1516 n: "20",

1517 limit: "90"

1518 }

1312 },1519 },

1313 "turn-a-recurring-task": {1520 "turn-a-recurring-task": {

1314 title: "Превратите повторяющуюся задачу в skill",1521 title: "Превратите повторяющуюся задачу в скилл",

1315 teaches: "Назовите шаги один раз; переиспользуйте их как команду. Claude пишет [skill](/docs/ru/skills), который может запустить кто-либо из вашей команды."1522 teaches: "Назовите шаги один раз; переиспользуйте их как команду. Claude пишет [скилл](/docs/ru/skills), который может запустить кто-либо из вашей команды.",

1523 prompt: "создайте скилл /{name} для этого проекта, который {steps}",

1524 slots: {

1525 name: "ship",

1526 steps: "запускает линтер и тесты, затем составляет сообщение коммита"

1527 }

1316 },1528 },

1317 "add-a-hook-for": {1529 "add-a-hook-for": {

1318 title: "Добавьте hook для повторяющегося поведения",1530 title: "Добавьте хук для повторяющегося поведения",

1319 teaches: "Hooks делают поведение автоматическим вместо того, чтобы вы должны были помнить просить об этом. Опишите триггер и действие, и Claude пишет конфигурацию [hook](/docs/ru/hooks)."1531 teaches: "Хуки делают поведение автоматическим вместо того, чтобы вы должны были помнить просить об этом. Опишите триггер и действие, и Claude пишет конфигурацию [хука](/docs/ru/hooks).",

1532 prompt: "напишите хук, который {action} после каждого {event}",

1533 slots: {

1534 action: "запускает prettier",

1535 event: "редактирования файла .ts или .tsx"

1536 }

1320 },1537 },

1321 "connect-a-tool-with": {1538 "connect-a-tool-with": {

1322 title: "Подключите инструмент с MCP",1539 title: "Подключите инструмент с MCP",

1323 teaches: "Подключите источник один раз вместо вставки данных в каждую сессию. После настройки [MCP](/docs/ru/mcp), Claude читает из инструмента напрямую, когда вы спрашиваете об этом."1540 teaches: "Подключите источник один раз вместо вставки данных в каждую сессию. После настройки [MCP](/docs/ru/mcp), Claude читает из инструмента напрямую, когда вы спрашиваете об этом.",

1541 prompt: "настройте MCP-сервер {server}, чтобы вы могли напрямую читать мои {data}",

1542 slots: {

1543 server: "Sentry",

1544 data: "отчёты об ошибках"

1545 }

1324 },1546 },

1325 "capture-what-to-remember": {1547 "capture-what-to-remember": {

1326 title: "Захватите, что помнить в следующий раз",1548 title: "Захватите, что помнить в следующий раз",

1327 teaches: "Спросите перед тем, как забыть. Claude знает, что ему пришлось разобраться в этой сессии, и предлагает записи [CLAUDE.md](/docs/ru/memory), чтобы следующая сессия начиналась с этого контекста."1549 teaches: "Спросите перед тем, как забыть. Claude знает, что ему пришлось разобраться в этой сессии, и предлагает записи [CLAUDE.md](/docs/ru/memory), чтобы следующая сессия начиналась с этого контекста.",

1550 prompt: "кратко опишите, что мы сделали в этой сессии, и предложите, что добавить в CLAUDE.md"

1328 }1551 }

1329};1552};

1330 1553 

remote-control.md +61 −47

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 


360 Ограничения360 Ограничения

361</h2>361</h2>

362 362 

363* **Один удалённый сеанс на интерактивный процесс**: вне режима сервера каждый экземпляр Claude Code поддерживает один удалённый сеанс одновременно. Используйте [режим сервера](#start-a-remote-control-session) для запуска нескольких одновременных сеансов из одного процесса.363* **Одна удалённая сессия на интерактивный процесс**: вне режима сервера каждый экземпляр Claude Code поддерживает одну удалённую сессию одновременно. Используйте [режим сервера](#start-a-remote-control-session) для запуска нескольких одновременных сессий из одного процесса.

364* **Локальный процесс должен продолжать работу**: Remote Control работает как локальный процесс. Если вы закроете терминал, выйдете из Desktop-приложения или VS Code или иным образом остановите процесс `claude`, сеанс перейдёт в автономный режим до тех пор, пока вы не [восстановите его](#resume-sessions-after-stopping-the-server). Чтобы сеанс продолжал работать на удалённой машине после отключения от SSH, запустите его внутри `tmux` или `screen`.364* **Локальный процесс должен продолжать работу**: Remote Control работает как локальный процесс. Если вы закроете терминал, выйдете из Desktop-приложения или VS Code или иным образом остановите процесс `claude`, сессия перейдёт в автономный режим до тех пор, пока вы не [восстановите её](#resume-sessions-after-stopping-the-server). Чтобы сессия продолжала работать на удалённой машине после отключения от SSH, запустите её внутри `tmux` или `screen`.

365* **Сбойные сеансы в режиме сервера**: если сеанс, обслуживаемый `claude remote-control`, дает сбой, отправьте ему сообщение с подключённого устройства. Claude Code обслуживает его снова. Вам не нужно перезапускать сервер. Требуется Claude Code v2.1.238 или позже.365* **Сбойные сессии в режиме сервера**: если сессия, обслуживаемая `claude remote-control`, даёт сбой, отправьте ей сообщение с подключённого устройства. Claude Code снова начнёт её обслуживать. Вам не нужно перезапускать сервер. Требуется Claude Code v2.1.238 или позже.

366* **HTTP 403 отказы в подключённом сеансе**: после подключения интерактивного сеанса Claude Code продолжает повторять попытки в течение трёх минут, когда что-то между вашей машиной и серверами Anthropic отвечает с HTTP 403, что может произойти после изменения VPN или сети. Если отказы продолжаются дольше, Claude Code отключается, и причина указывает, что отказало: сетевой край или прокси, VPN или брандмауэр в вашей собственной сети.366* **Отказы HTTP 403 в подключённой сессии**: после подключения интерактивной сессии Claude Code продолжает повторять попытки в течение до трёх минут, когда что-то между вашей машиной и серверами Anthropic отвечает с HTTP 403, что может произойти после изменения VPN или сети. Если отказы продолжаются дольше, Claude Code отключается, и в причине указывается, что именно отказало: граница сети или прокси, VPN или брандмауэр в вашей собственной сети.

367* **Продолжительный сбой сети**: если ваша машина включена, но не может подключиться к сети, то, что вы делаете дальше, зависит от режима:367* **Продолжительный сбой сети**: если ваша машина включена, но не может подключиться к сети, то, что вы делаете дальше, зависит от режима:

368 * **Режим сервера**: Claude Code сдаётся примерно через 10 минут и процесс `claude remote-control` завершается. Запустите `claude remote-control` снова, чтобы начать новый сеанс.368 * **Режим сервера**: Claude Code сдаётся примерно через 10 минут, и процесс `claude remote-control` завершается. Запустите `claude remote-control` снова, чтобы начать новую сессию.

369 * **Интерактивный сеанс**: продолжайте работать локально. Claude Code повторяет попытки столько, сколько длится сбой, и автоматически переподключается, когда сеть восстанавливается.369 * **Интерактивная сессия**: продолжайте работать локально. Claude Code повторяет попытки столько, сколько длится сбой, и автоматически переподключается, когда сеть восстанавливается.

370* **Сбой пульса присутствия**: если интерактивный сеанс отключается с сообщением `could not reach the Remote Control server for about 30 minutes`, запустите `/remote-control` для переподключения.370* **Вложения, которые не загружаются**: если файл, который вы прикрепляете с телефона или в браузере, не удаётся загрузить на вашу машину, Claude всё равно получает ваше сообщение и файлы, которые были загружены. Вместо отсутствующих файлов Claude Code добавляет к сообщению примечание, например `[1 of 3 attachments did not arrive]`.

371* **Переадресованные диалоги истекают**: Claude Code держит подсказки разрешений и вопросы `AskUserQuestion` открытыми до тех пор, пока вы на них не ответите. Когда Claude Code переадресует другой вид диалога на удалённый сеанс, например подсказку выбора модели, показываемую после отказа по соображениям безопасности, он ждёт пять минут по умолчанию, затем закрывает диалог и продолжает с действием по умолчанию диалога без действия. Установите [`dialogExpiry`](/docs/ru/settings-reference#dialogexpiry) для настройки или отключения крайнего срока. Требуется Claude Code v2.1.224 или позже.371* **Сбой пульса присутствия**: если интерактивная сессия отключается с сообщением `could not reach the Remote Control server for about 30 minutes`, запустите `/remote-control` для переподключения.

372* **Подсказка согласия на использование кредитов Fable не переадресуется**: Claude Code показывает подсказку согласия на использование кредитов Fable в середине сеанса [Fable usage-credits consent prompt](/docs/ru/model-config#fable-and-usage-credits) только там, где работает сеанс, а не на вашем устройстве. Когда сеанс работает в терминале и никто там не отвечает до того, как Claude Code закроет подсказку, ход завершается без отправки запроса; см. [The prompt to confirm went unanswered](/docs/ru/errors#the-prompt-to-confirm-went-unanswered).372* **Переадресованные диалоги истекают**: Claude Code держит запросы разрешений и вопросы `AskUserQuestion` открытыми до тех пор, пока вы на них не ответите. Когда Claude Code переадресует другой вид диалога в удалённую сессию, например запрос выбора модели, показываемый после отказа по соображениям безопасности, он по умолчанию ждёт пять минут, затем закрывает диалог и продолжает работу с вариантом диалога по умолчанию, не выполняющим никаких действий. Установите [`dialogExpiry`](/docs/ru/settings-reference#dialogexpiry) для настройки или отключения крайнего срока. Требуется Claude Code v2.1.224 или позже.

373* **Запрос согласия на использование кредитов Fable не переадресуется**: Claude Code показывает [запрос согласия на использование кредитов Fable](/docs/ru/model-config#fable-and-usage-credits) в середине сессии только там, где работает сессия, а не на вашем устройстве. Когда сессия работает в терминале и никто там не отвечает до того, как Claude Code закроет запрос, ход завершается без отправки запроса; см. [Запрос на подтверждение остался без ответа](/docs/ru/errors#the-prompt-to-confirm-went-unanswered).

373* **Некоторые команды только локальные**: команды, которые работают только в интерфейсе терминала, такие как `/plugin` или `/resume`, работают только из локального CLI, независимо от того, передаёте ли вы аргумент или нет. Следующие работают с мобильных и веб-приложений:374* **Некоторые команды только локальные**: команды, которые работают только в интерфейсе терминала, такие как `/plugin` или `/resume`, работают только из локального CLI, независимо от того, передаёте ли вы аргумент или нет. Следующие работают с мобильных и веб-приложений:

374 * Команды с текстовым выводом: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` и `/reload-plugins`. `/usage-credits` выводит URL биллинга вместо открытия браузера. `/reload-plugins` работает только когда сеанс работает в интерактивном терминале; сеанс без него отклоняет его.375 * Команды с текстовым выводом: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` и `/reload-plugins`. `/usage-credits` выводит URL биллинга вместо открытия браузера. `/reload-plugins` работает только тогда, когда сессия работает в интерактивном терминале; сессия без него отклоняет эту команду.

375 * `/model`, `/effort`, `/fast`, `/color` и `/rename`: передайте значение как аргумент, например `/model sonnet` или `/effort high`. С мобильных и веб-приложений `/model` и `/effort` принимают аргумент вместо средства выбора терминала или ползунка.376 * `/model`, `/effort`, `/fast`, `/color` и `/rename`: передайте значение как аргумент, например `/model sonnet` или `/effort high`. С мобильных и веб-приложений `/model` и `/effort` принимают аргумент вместо средства выбора терминала или ползунка.

376 * `/mcp`: из мобильного приложения возвращает текстовое резюме статуса сервера вместо открытия средства выбора. В веб-приложении `/mcp` само по себе открывает каталог [claude.ai connectors](/docs/ru/mcp#use-mcp-servers-from-claude-ai) вместо возврата резюме. [Подкоманды](/docs/ru/commands#all-commands) `reconnect`, `enable` и `disable` работают с обоих. В отличие от локального CLI, `/mcp reconnect` без имени сервера переподключает каждый сервер, который дал сбой или требует аутентификации.377 * `/mcp`: из мобильного приложения возвращает текстовое резюме статуса сервера вместо открытия средства выбора. В веб-приложении `/mcp` само по себе открывает каталог [коннекторов claude.ai](/docs/ru/mcp#use-mcp-servers-from-claude-ai) вместо возврата резюме. [Подкоманды](/docs/ru/commands#all-commands) `reconnect`, `enable` и `disable` работают в обоих случаях. В отличие от локального CLI, `/mcp reconnect` без имени сервера переподключает каждый сервер, который дал сбой или требует аутентификации.

377 * `/config`: из мобильного приложения передайте `key=value` для установки параметра или запустите его без аргумента, чтобы вывести список ключей, которые вы можете установить. В веб-приложении `/config` вместо этого открывает раздел Claude Code ваших параметров и игнорирует текст после команды.378 * `/config`: из мобильного приложения передайте `key=value`, чтобы задать настройку, или запустите команду без аргумента, чтобы вывести список ключей, которые можно задать. В веб-приложении `/config` вместо этого открывает раздел Claude Code в ваших настройках и игнорирует текст после команды.

378 * На Team и Enterprise `/usage-credits` с мобильных или веб-приложений не отправляет [usage-credits request to your admin](/docs/ru/costs#add-usage-credits-to-your-subscription). Отправка требует подтверждения, которое появляется только в интерактивном CLI, поэтому команда говорит вам запустить его там.379 * На Team и Enterprise `/usage-credits` с мобильных или веб-приложений не отправляет [запрос кредитов использования вашему администратору](/docs/ru/costs#add-usage-credits-to-your-subscription). Отправка требует подтверждения, которое появляется только в интерактивном CLI, поэтому команда предлагает вам запустить её там.

379 * `/autocompact`, начиная с v2.1.221: передайте размер окна как аргумент, например `/autocompact 500k`. Без аргумента он выводит текущий размер окна как текст вместо открытия диалога, который команда показывает в сеансе терминала.380 * `/autocompact`, начиная с v2.1.221: передайте размер окна как аргумент, например `/autocompact 500k`. Без аргумента команда выводит текущий размер окна как текст вместо открытия диалога, который она показывает в сессии терминала.

380 * `/advisor`, начиная с v2.1.260: передайте модель как аргумент, например `/advisor opus`, или передайте `off` для отключения советника. Обе формы применяются только к текущему сеансу и оставляют ваше сохранённое значение по умолчанию без изменений. Без аргумента он выводит текущего советника как текст вместо открытия средства выбора.381 * `/advisor`, начиная с v2.1.260: передайте модель как аргумент, например `/advisor opus`, или передайте `off` для отключения советника. Обе формы применяются только к текущей сессии и оставляют ваше сохранённое значение по умолчанию без изменений. Без аргумента команда выводит текущего советника как текст вместо открытия средства выбора.

381 * `/output-style`, начиная с v2.1.269: передайте имя стиля как аргумент, например `/output-style concise`, или запустите его без аргумента, чтобы вывести список стилей. С мобильных и веб-приложений вы можете выводить и выбирать только [встроенные стили](/docs/ru/output-styles#built-in-output-styles). Чтобы использовать [пользовательский стиль](/docs/ru/output-styles#create-a-custom-output-style), выберите его в самом сеансе.382 * `/output-style`, начиная с v2.1.269: передайте имя стиля как аргумент, например `/output-style concise`, или запустите команду без аргумента, чтобы вывести список стилей. С мобильных и веб-приложений вы можете выводить и выбирать только [встроенные стили](/docs/ru/output-styles#built-in-output-styles). Чтобы использовать [пользовательский стиль](/docs/ru/output-styles#create-a-custom-output-style), выберите его в самой сессии.

382 * `/focus`, начиная с v2.1.281: передайте `on` или `off` как аргумент, например `/focus on`, или запустите его без аргумента для переключения [focus view](/docs/ru/commands#all-commands). Обе формы применяются только к текущему сеансу и оставляют вашу сохранённую выборку без изменений.383 * `/focus`, начиная с v2.1.281: передайте `on` или `off` как аргумент, например `/focus on`, или запустите команду без аргумента для переключения [режима фокуса](/docs/ru/commands#all-commands). Обе формы применяются только к текущей сессии и оставляют ваш сохранённый выбор без изменений.

383 384 

384<h2 id="troubleshooting">385<h2 id="troubleshooting">

385 Troubleshooting386 Устранение неполадок

386</h2>387</h2>

387 388 

388<h3 id="remote-control-requires-a-claude-ai-subscription">389<h3 id="remote-control-requires-a-claude-ai-subscription">


393 394 

394* Вышли из системы, из `/remote-control` или `--remote-control`: `Remote Control requires a claude.ai subscription.` или `/remote-control requires a claude.ai subscription.`395* Вышли из системы, из `/remote-control` или `--remote-control`: `Remote Control requires a claude.ai subscription.` или `/remote-control requires a claude.ai subscription.`

395* Вышли из системы, из `claude remote-control`: `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`396* Вышли из системы, из `claude remote-control`: `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`

396* Вошли в систему, но используется API ключ или токен: `Remote Control requires claude.ai subscription auth.` с последующим указанием используемых учётных данных, таких как `ANTHROPIC_API_KEY is set, so this session is using API-key auth`. Параметр `apiKeyHelper` и `ANTHROPIC_AUTH_TOKEN` называются одинаково.397* Вошли в систему, но используется API-ключ или токен: `Remote Control requires claude.ai subscription auth.` с последующим указанием используемых учётных данных, таких как `ANTHROPIC_API_KEY is set, so this session is using API-key auth`. Настройка `apiKeyHelper` и `ANTHROPIC_AUTH_TOKEN` называются одинаково.

397 398 

398Запустите `claude auth login` и выберите опцию claude.ai. Если сообщение указывает на `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN`, удалите его везде, где он установлен: в переменных окружения вашей оболочки или в блоке `env` [файла параметров](/docs/ru/settings-reference#env). Если оно указывает на `apiKeyHelper`, удалите этот параметр.399Запустите `claude auth login` и выберите опцию claude.ai. Если сообщение указывает на `ANTHROPIC_API_KEY` или `ANTHROPIC_AUTH_TOKEN`, удалите его везде, где он установлен: в переменных окружения вашей оболочки или в блоке `env` [файла настроек](/docs/ru/settings-reference#env). Если оно указывает на `apiKeyHelper`, удалите эту настройку.

399 400 

400<h3 id="remote-control-requires-a-full-scope-login-token">401<h3 id="remote-control-requires-a-full-scope-login-token">

401 "Remote Control requires a full-scope login token"402 "Remote Control requires a full-scope login token"

402</h3>403</h3>

403 404 

404Вы аутентифицированы с помощью долгоживущего токена из `claude setup-token` или переменной окружения `CLAUDE_CODE_OAUTH_TOKEN`. Эти токены могут только делать запросы к модели, поэтому они не могут установить сеансы Remote Control. Запустите `claude auth login` для аутентификации с помощью токена сеанса полного объёма вместо этого.405Вы аутентифицированы с помощью долгоживущего токена из `claude setup-token` или переменной окружения `CLAUDE_CODE_OAUTH_TOKEN`. Эти токены могут только делать запросы к модели, поэтому они не могут устанавливать сессии Remote Control. Вместо этого запустите `claude auth login` для аутентификации с помощью токена сессии полного объёма.

405 406 

406<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">407<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">

407 "Unable to determine your organization for Remote Control eligibility"408 "Unable to determine your organization for Remote Control eligibility"


415 416 

416Claude Code проверил доступность Remote Control для учётной записи, в которую вы вошли, и проверка вернула отрицательный результат. Обычная причина — кэшированные права доступа, которые устарели после изменения плана. Запустите `claude auth logout`, а затем `claude auth login` для их обновления, и обновите Claude Code, если вы используете старую версию.417Claude Code проверил доступность Remote Control для учётной записи, в которую вы вошли, и проверка вернула отрицательный результат. Обычная причина — кэшированные права доступа, которые устарели после изменения плана. Запустите `claude auth logout`, а затем `claude auth login` для их обновления, и обновите Claude Code, если вы используете старую версию.

417 418 

418Запустите `claude doctor` для просмотра того, какая отдельная проверка прав доступа не прошла. Конфликты переменных окружения, недостижимые проверки и параметр Remote Control вашей организации каждый производят своё собственное сообщение, поэтому эта ошибка означает, что сама проверка на уровне учётной записи не прошла.419Запустите `claude doctor` для просмотра того, какая отдельная проверка прав доступа не прошла. Конфликты переменных окружения, недостижимые проверки и настройка Remote Control вашей организации каждый производят своё собственное сообщение, поэтому эта ошибка означает, что не прошла сама проверка на уровне учётной записи.

419 420 

420До версии 2.1.239 это сообщение читалось как "Remote Control is not yet enabled for your account".421До версии 2.1.239 это сообщение читалось как "Remote Control is not yet enabled for your account".

421 422 


423 "Couldn't verify Remote Control eligibility"424 "Couldn't verify Remote Control eligibility"

424</h3>425</h3>

425 426 

426Claude Code не смог связаться со службой флагов функций для проверки того, включён ли Remote Control для вашей учётной записи, обычно потому, что вы находитесь в автономном режиме или прокси блокирует запрос. Повторите попытку, когда у вас будет доступ в сеть, или запустите `claude doctor` для получения подробной информации. Связанное сообщение "Couldn't verify your organization's Remote Control policy" означает, что Claude Code столкнулся с ошибкой при чтении этой политики и имеет то же решение.427Claude Code не смог связаться со службой флагов функций для проверки того, включён ли Remote Control для вашей учётной записи, обычно потому, что вы находитесь в автономном режиме или прокси блокирует запрос. Повторите попытку, когда у вас будет доступ в сеть, или запустите `claude doctor` для получения подробной информации. Связанное сообщение "Couldn't verify your organization's Remote Control policy" означает, что Claude Code столкнулся с ошибкой при чтении этой политики, и имеет то же решение.

427 428 

428<h3 id="remote-control-requires-feature-flag-evaluation">429<h3 id="remote-control-requires-feature-flag-evaluation">

429 "Remote Control requires feature-flag evaluation"430 "Remote Control requires feature-flag evaluation"

430</h3>431</h3>

431 432 

432[Переменная окружения](/docs/ru/env-vars#features-that-need-feature-flag-fetching), которая отключает оценку флагов функций, установлена, и полное сообщение указывает переменную, которую нашёл Claude Code. На версиях до 2.1.154 та же конфигурация производит "Remote Control is not yet enabled for your account" вместо этого. Что делать, зависит от переменной, которую указывает сообщение:433[Переменная окружения](/docs/ru/env-vars#features-that-need-feature-flag-fetching), которая отключает оценку флагов функций, установлена, и полное сообщение указывает переменную, которую нашёл Claude Code. На версиях до 2.1.154 та же конфигурация вместо этого производит "Remote Control is not yet enabled for your account". Что делать, зависит от переменной, которую указывает сообщение:

433 434 

434* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` или `DISABLE_GROWTHBOOK`**: отключите переменную везде, где она установлена, в переменных окружения вашей оболочки или в блоке `env` файла [`settings.json`](/docs/ru/settings-reference#all-settings).435* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` или `DISABLE_GROWTHBOOK`**: отключите переменную везде, где она установлена, в переменных окружения вашей оболочки или в блоке `env` файла [`settings.json`](/docs/ru/settings-reference#all-settings).

435* **`DISABLE_TELEMETRY` или `DO_NOT_TRACK`**: на плане Pro, Max, Team или Enterprise с отключённым `DISABLE_GROWTHBOOK`, эти переменные оставляют Remote Control доступным, если только ваша организация не требует [Trusted Devices](#trusted-devices). Если требует, отключите переменную везде, где она установлена, для использования Remote Control. С версии 2.1.154 по версию 2.1.282 любая переменная производила это сообщение, поэтому обновите Claude Code до версии 2.1.283 или позже.436* **`DISABLE_TELEMETRY` или `DO_NOT_TRACK`**: на плане Pro, Max, Team или Enterprise с отключённым `DISABLE_GROWTHBOOK` эти переменные оставляют Remote Control доступным, если только ваша организация не требует [Trusted Devices](#trusted-devices). Если требует, отключите переменную везде, где она установлена, для использования Remote Control. С версии 2.1.154 по версию 2.1.282 любая из этих переменных производила это сообщение, поэтому обновите Claude Code до версии 2.1.283 или позже.

436 437 

437<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">438<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">

438 "Remote Control is only available when using Claude via api.anthropic.com"439 "Remote Control is only available when using Claude via api.anthropic.com"

439</h3>440</h3>

440 441 

441Сеанс не разговаривает с API Anthropic напрямую, что требует Remote Control. Это происходит на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry. Это также происходит, когда [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars) указывает на хост, отличный от `api.anthropic.com`, такой как [LLM gateway](/docs/ru/llm-gateway) или прокси, даже если вы входите с claude.ai. Смотрите [справочник ошибок](/docs/ru/errors#remote-control-requires-the-anthropic-api) для полного списка причин.442Сессия не взаимодействует с API Anthropic напрямую, что требуется для Remote Control. Это происходит на Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry. Это также происходит, когда [`ANTHROPIC_BASE_URL`](/docs/ru/env-vars) указывает на хост, отличный от `api.anthropic.com`, такой как [LLM-шлюз](/docs/ru/llm-gateway) или прокси, даже если вы входите с claude.ai. Смотрите [справочник ошибок](/docs/ru/errors#remote-control-requires-the-anthropic-api) для полного списка причин.

442 443 

443Сообщение указывает, что направило сеанс в сторону от API Anthropic, такое как `CLAUDE_CODE_USE_BEDROCK` или пользовательский `ANTHROPIC_BASE_URL`. Если у вас есть подходящий вход claude.ai, отключите названную переменную, удалите её из ключа `env` в [параметрах](/docs/ru/settings), если вы установили её там, и перезагрузите сеанс.444Сообщение указывает, что направило сессию в обход API Anthropic, например `CLAUDE_CODE_USE_BEDROCK` или пользовательский `ANTHROPIC_BASE_URL`. Если у вас есть подходящий вход claude.ai, отключите названную переменную, удалите её из ключа `env` в [настройках](/docs/ru/settings), если вы установили её там, и перезапустите сессию.

444 445 

445<h3 id="remote-control-is-disabled-by-your-organization’s-policy">446<h3 id="remote-control-is-disabled-by-your-organizations-policy">

446 "Remote Control is disabled by your organization's policy"447 "Remote Control is disabled by your organization's policy"

447</h3>448</h3>

448 449 

449Политика блокирует Remote Control. Проверьте эти причины по порядку:450Политика блокирует Remote Control. Проверьте эти причины по порядку:

450 451 

451* **Ошибка упоминает `disableRemoteControl`**: ваш администратор IT отключил Remote Control на этом устройстве через [управляемые параметры](/docs/ru/managed-settings), независимо от переключателя на уровне организации и от того, как вы вошли.452* **Ошибка упоминает `disableRemoteControl`**: ваш IT-администратор отключил Remote Control на этом устройстве через [управляемые настройки](/docs/ru/managed-settings), независимо от переключателя на уровне организации и от того, как вы вошли.

452* **Ваш план claude.ai — Pro или Max**: Claude Code всё ещё вошёл в организацию Team или Enterprise с более раннего входа, поэтому он проверяет политику Remote Control этой организации. Запустите `/status` для просмотра того, какой план и организацию использует ваш вход. Запустите `claude auth logout`, а затем `claude auth login` для повторного входа под вашим текущим планом.453* **Ваш план claude.ai — Pro или Max**: Claude Code всё ещё вошёл в организацию Team или Enterprise с более раннего входа, поэтому он проверяет политику Remote Control этой организации. Запустите `/status` для просмотра того, какой план и организацию использует ваш вход. Запустите `claude auth logout`, а затем `claude auth login` для повторного входа под вашим текущим планом.

453* **Сообщение не говорит обратиться к администратору вашей организации**: ваша организация имеет конфигурацию HIPAA, которая несовместима с Remote Control, и `/status` указывает `HIPAA` в строке `Compliance`. В этом состоянии переключатель Remote Control в панели администратора неактивен, поэтому Owner не может изменить его там. Обратитесь в службу поддержки Anthropic для обсуждения вариантов. До версии 2.1.267 этот случай показывал "Remote Control isn't available for your organization due to its compliance policy" вместо этого.454* **Сообщение не говорит обратиться к администратору вашей организации**: ваша организация имеет конфигурацию HIPAA, которая несовместима с Remote Control, и `/status` указывает `HIPAA` в строке `Compliance`. В этом состоянии переключатель Remote Control в панели администратора неактивен, поэтому Owner не может изменить его там. Обратитесь в службу поддержки Anthropic для обсуждения вариантов. До версии 2.1.267 в этом случае вместо этого показывалось "Remote Control isn't available for your organization due to its compliance policy".

454* **В противном случае Owner не включил его для вашей организации**: Remote Control отключён по умолчанию на планах Team и Enterprise. Owner может включить его на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code), включив переключатель **Remote Control**. Этот переключатель является параметром организации на стороне сервера.455* **В противном случае Owner не включил его для вашей организации**: Remote Control отключён по умолчанию на планах Team и Enterprise. Owner может включить его на [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code), включив переключатель **Remote Control**. Этот переключатель является настройкой организации на стороне сервера.

455 456 

456До версии 2.1.281 это сообщение также появлялось, когда Claude Code не загрузил политику вашей организации на этой машине, например после запуска в автономном режиме. Более поздние версии сообщают об этом состоянии как [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) вместо этого.457До версии 2.1.281 это сообщение также появлялось, когда Claude Code не загрузил политику вашей организации на этой машине, например после запуска в автономном режиме. Более поздние версии вместо этого сообщают об этом состоянии как [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control).

458 

459<h3 id="remote-control-was-turned-off-by-your-organizations-policy">

460 "Remote Control was turned off by your organization's policy"

461</h3>

462 

463Политика вашей организации перестала разрешать Remote Control, пока сессия была подключена, поэтому Claude Code отключил её. Что произойдёт с сессией, зависит от того, как вы запустили Remote Control:

464 

465* **С помощью `/remote-control`, `claude --remote-control` или [автоподключения](#enable-remote-control-for-all-sessions)**: сессия продолжает работать без Remote Control, и Claude Code архивирует её на claude.ai

466* **С помощью `claude remote-control`**: сервер останавливается и архивирует сессии, которые он обслуживал, а затем завершает работу

467 

468Вы по-прежнему можете найти архивированную сессию, [отфильтровав архивированные сессии](/docs/ru/claude-code-on-the-web#archive-sessions).

469 

470Remote Control не переподключается самостоятельно. Чтобы снова включить его после того, как ваша организация снова разрешит его, запустите `/remote-control` в сессии или `claude remote-control` в вашей оболочке. Любая из этих команд завершается ошибкой [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy), пока Claude Code на этой машине не получит изменённую политику. Открытая сессия получает её примерно раз в час. Чтобы выяснить, что блокирует Remote Control, сопоставьте полный текст, который выводит команда, с этим разделом.

457 471 

458<h3 id="couldnt-verify-your-organizations-policy-for-remote-control">472<h3 id="couldnt-verify-your-organizations-policy-for-remote-control">

459 "Couldn't verify your organization's policy for remote control"473 "Couldn't verify your organization's policy for remote control"

460</h3>474</h3>

461 475 

462Claude Code не смог получить политику вашей организации и не имеет сохранённой копии на этой машине для использования вместо этого, поэтому он держит Remote Control отключённым, пока не сможет подтвердить, что ваша организация это позволяет. Это обычно происходит, когда вы запускаете Claude Code в автономном режиме или до подключения VPN, или когда прокси мешает запросу. На медленном соединении это также может появиться, пока первый запрос всё ещё в пути.476Claude Code не смог получить политику вашей организации и не имеет сохранённой копии на этой машине для использования вместо неё, поэтому он держит Remote Control отключённым, пока не сможет подтвердить, что ваша организация это позволяет. Это обычно происходит, когда вы запускаете Claude Code в автономном режиме или до подключения VPN, или когда прокси мешает запросу. На медленном соединении это также может появиться, пока первый запрос всё ещё выполняется.

463 477 

464Сообщение принимает одну из этих форм:478Сообщение принимает одну из этих форм:

465 479 

466* Из `/remote-control`, `claude remote-control` или `claude --remote-control`: `Couldn't verify your organization's policy for remote control. Check your network connection and try again.`480* Из `/remote-control`, `claude remote-control` или `claude --remote-control`: `Couldn't verify your organization's policy for remote control. Check your network connection and try again.`

467* Из [автоподключения](#enable-remote-control-for-all-sessions) при запуске сеанса: `couldn't verify your organization's policy — check your network connection and try again`, с префиксом `Remote Control failed` в уведомлении и `Remote Control disconnected` в разговоре. Сеанс затем оставляет Remote Control отключённым.481* Из [автоподключения](#enable-remote-control-for-all-sessions) при запуске сессии: `couldn't verify your organization's policy — check your network connection and try again`, с префиксом `Remote Control failed` в уведомлении и `Remote Control disconnected` в диалоге. Затем сессия оставляет Remote Control отключённым.

468 482 

469Восстановите подключение к сети, затем запустите `/remote-control` или запустите команду снова. Каждая попытка снова проверяет политику, поэтому вам не нужно перезагружать Claude Code. Если сообщение продолжает появляться, запустите `claude doctor` и прочитайте его строку `Organization policy`, которая говорит, почему политика не загрузилась.483Восстановите подключение к сети, затем запустите `/remote-control` или запустите команду снова. Каждая попытка снова проверяет политику, поэтому вам не нужно перезапускать Claude Code. Если сообщение продолжает появляться, запустите `claude doctor` и прочитайте его строку `Organization policy`, которая объясняет, почему политика не загрузилась.

470 484 

471До версии 2.1.281 это состояние показывало `Remote Control is disabled by your organization's policy` вместо этого.485До версии 2.1.281 в этом состоянии вместо этого показывалось `Remote Control is disabled by your organization's policy`.

472 486 

473<h3 id="remote-credentials-fetch-failed">487<h3 id="remote-credentials-fetch-failed">

474 "Remote credentials fetch failed"488 "Remote credentials fetch failed"


482 496 

483Распространённые причины:497Распространённые причины:

484 498 

485* Не вошли в систему: запустите `claude` и используйте `/login` для аутентификации с помощью вашей учётной записи claude.ai. Аутентификация по API ключу не поддерживается для Remote Control.499* Не вошли в систему: запустите `claude` и используйте `/login` для аутентификации с помощью вашей учётной записи claude.ai. Аутентификация по API-ключу не поддерживается для Remote Control.

486* Проблема с сетью или прокси: брандмауэр или прокси может блокировать исходящий HTTPS запрос. Remote Control требует доступа к API Anthropic на порту 443.500* Проблема с сетью или прокси: брандмауэр или прокси может блокировать исходящий HTTPS-запрос. Remote Control требует доступа к API Anthropic на порту 443.

487* Ошибка создания сеанса: если вы также видите `Session creation failed — see debug log`, ошибка произошла ранее в процессе установки. Проверьте, что ваша подписка активна.501* Ошибка создания сессии: если вы также видите `Session creation failed — see debug log`, ошибка произошла ранее в процессе установки. Проверьте, что ваша подписка активна.

488 502 

489<h3 id="couldnt-reconnect-to-your-remote-control-session">503<h3 id="couldnt-reconnect-to-your-remote-control-session">

490 "Couldn't reconnect to your Remote Control session"504 "Couldn't reconnect to your Remote Control session"

491</h3>505</h3>

492 506 

493Когда вы возобновляете разговор с `claude --resume` или `claude --continue`, Claude Code переподключается к сеансу Remote Control, записанному в этом разговоре. Это сообщение означает, что переподключение не удалось по причине, которая может быть временной, такой как сетевой сбой или ошибка сервера, поэтому Claude Code не может подтвердить, существует ли удалённый сеанс.507Когда вы возобновляете диалог с `claude --resume` или `claude --continue`, Claude Code переподключается к сессии Remote Control, записанной в этом диалоге. Это сообщение означает, что переподключение не удалось по причине, которая может быть временной, например сетевой сбой или ошибка сервера, поэтому Claude Code не может подтвердить, существует ли ещё удалённая сессия.

494 508 

495Запустите `/remote-control` для повторной попытки подключения, или запустите новый сеанс с `claude --remote-control` для создания нового сеанса Remote Control. Ваш локальный сеанс продолжает работать без Remote Control в то же время.509Запустите `/remote-control` для повторной попытки подключения или запустите новую сессию с `claude --remote-control` для создания новой сессии Remote Control. Тем временем ваша локальная сессия продолжает работать без Remote Control.

496 510 

497<h3 id="previous-session-is-unavailable">511<h3 id="previous-session-is-unavailable">

498 "Previous session is unavailable — run /remote-control to start a new one"512 "Previous session is unavailable — run /remote-control to start a new one"

499</h3>513</h3>

500 514 

501Claude Code не смог восстановить предыдущий сеанс Remote Control и остановился вместо того, чтобы запустить новый самостоятельно. Вы можете увидеть это сообщение после возобновления разговора с `claude --resume` или `claude --continue`, или после того, как Claude Code [переподключится самостоятельно после отключения](/docs/ru/errors#remote-control-couldnt-refresh-your-login).515Claude Code не смог восстановить предыдущую сессию Remote Control и остановился вместо того, чтобы самостоятельно запустить новую. Вы можете увидеть это сообщение после возобновления диалога с `claude --resume` или `claude --continue`, или после того, как Claude Code [переподключится самостоятельно после отключения](/docs/ru/errors#remote-control-couldnt-refresh-your-login).

502 516 

503Запустите `/remote-control` для запуска нового сеанса Remote Control под текущим входом; ваш локальный сеанс продолжает работать без Remote Control в то же время. Связанное сообщение `Remote Control could not verify the signed-in account — run /remote-control to reconnect` имеет то же решение. Если вы запустите `/remote-control` после `Previous session is unavailable` без перезагрузки Claude Code в первую очередь, Claude Code оставляет более ранние сообщения разговора вне нового сеанса.517Запустите `/remote-control` для запуска новой сессии Remote Control под текущим входом; тем временем ваша локальная сессия продолжает работать без Remote Control. Связанное сообщение `Remote Control could not verify the signed-in account — run /remote-control to reconnect` имеет то же решение. Если вы запустите `/remote-control` после `Previous session is unavailable`, предварительно не перезапустив Claude Code, Claude Code не включит более ранние сообщения диалога в новую сессию.

504 518 

505<h3 id="remote-control-got-an-unexpected-server-response">519<h3 id="remote-control-got-an-unexpected-server-response">

506 "Remote Control got an unexpected server response"520 "Remote Control got an unexpected server response"

507</h3>521</h3>

508 522 

509Сервер Remote Control принял запрос, но ответил в форме, которую эта версия Claude Code не смогла прочитать, при создании удалённого сеанса или получении его учётных данных. Повторная попытка на той же версии не удаётся таким же образом. Запустите `claude update`, затем запустите `/remote-control` для переподключения.523Сервер Remote Control принял запрос, но ответил в форме, которую эта версия Claude Code не смогла прочитать, при создании удалённой сессии или получении её учётных данных. Повторная попытка на той же версии завершится такой же ошибкой. Запустите `claude update`, затем запустите `/remote-control` для переподключения.

510 524 

511<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">525<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">

512 "Your organization requires Trusted Devices for Remote Control, but this device is not enrolled"526 "Your organization requires Trusted Devices for Remote Control, but this device is not enrolled"

513</h3>527</h3>

514 528 

515Ваша организация имеет включённый [Trusted Devices](#trusted-devices) и эта машина ещё не зарегистрирована. Запустите `/login` в Claude Code. Регистрация происходит как часть входа, и нет отдельной команды регистрации.529В вашей организации включены [Trusted Devices](#trusted-devices), а эта машина ещё не зарегистрирована. Запустите `/login` в Claude Code. Регистрация происходит как часть входа, и отдельной команды регистрации нет.

516 530 

517<h3 id="session-expired-for-trusted-device-check">531<h3 id="session-expired-for-trusted-device-check">

518 "session expired for trusted-device check"532 "session expired for trusted-device check"

519</h3>533</h3>

520 534 

521Ваш вход старше 18 часов. Запустите `/login` в Claude Code, или подтвердите с помощью Face ID, Touch ID, Windows Hello или passkey, когда claude.ai или мобильное приложение вас попросит. Смотрите [Trusted Devices](#trusted-devices).535Ваш вход старше 18 часов. Запустите `/login` в Claude Code или подтвердите с помощью Face ID, Touch ID, Windows Hello или passkey, когда claude.ai или мобильное приложение вас попросит. Смотрите [Trusted Devices](#trusted-devices).

522 536 

523<h2 id="related-resources">537<h2 id="related-resources">

524 Связанные ресурсы538 Связанные ресурсы

routines.md +1 −5

Details

365 365 

366Каждый репозиторий, который вы добавляете, клонируется при каждом запуске. Claude начинает с ветви по умолчанию репозитория, если ваша подсказка не указывает иное.366Каждый репозиторий, который вы добавляете, клонируется при каждом запуске. Claude начинает с ветви по умолчанию репозитория, если ваша подсказка не указывает иное.

367 367 

368Claude отправляет свою работу в ветви с префиксом `claude/`, которые всегда принимаются. Когда ваша подсказка направляет Claude на отправку в другую ветвь, Claude Code сначала проверяет отправку и отклоняет ее, если выполняется любое из следующих условий:368Claude отправляет свою работу в ветку с префиксом `claude/`, если ваш промпт не указывает отправить ее в другую ветку. Чтобы контролировать, в какие ветки может отправлять изменения запуск, используйте правила защиты веток или наборы правил (rulesets) на GitHub. Для запусков на инфраструктуре, управляемой Anthropic, а также для самостоятельно размещённых запусков, которые отправляют изменения через [git-прокси Anthropic](/docs/ru/self-hosted-environments-deploy#use-the-anthropic-git-proxy), GitHub применяет их к подключённому вами доступу GitHub, поэтому правило, которое этот доступ может обойти, не блокирует отправку изменений запуском. Самостоятельно размещённый запуск, который отправляет изменения с учётными данными git, предоставленными вашим развёртыванием, вместо этого проверяется по ним. Смотрите [Configure git](/docs/ru/self-hosted-environments-deploy#configure-git).

369 

370* Ветвь защищена на GitHub

371* У кого-то еще есть открытый pull request из этой ветви

372* Ветвь содержит коммиты, созданные кем-то другим, чем вы

373 369 

374<h3 id="connectors">370<h3 id="connectors">

375 Коннекторы371 Коннекторы

Details

91 Sandbox runtime91 Sandbox runtime

92</h2>92</h2>

93 93 

94Пакет [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) оборачивает весь процесс в ту же изоляцию Seatbelt или bubblewrap, которую использует встроенный Bash sandbox. Запуск Claude Code через среду выполнения ограничивает каждый инструмент, hook и сервер MCP в сеансе, а не только Bash. Среда выполнения — это бета-версия исследовательского предпросмотра, и ее формат конфигурации может измениться по мере развития пакета.94Пакет [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropics/sandbox-runtime) оборачивает весь процесс в ту же изоляцию Seatbelt или bubblewrap, которую использует встроенная песочница Bash. Запуск Claude Code через среду выполнения ограничивает инструменты, хуки и MCP-серверы сессии, а также shell-команды. Среда выполнения — это бета-версия research preview, и ее формат конфигурации может измениться по мере развития пакета.

95 95 

96В этом разделе рассматривается, что вы настраиваете и что среда выполнения применяет самостоятельно. Для развертывания среды выполнения в приложениях Agent SDK см. [руководство по безопасному развертыванию](/docs/ru/agent-sdk/secure-deployment#sandbox-runtime).96В этом разделе рассматривается, что вы настраиваете и что среда выполнения применяет самостоятельно. Для развёртывания среды выполнения в приложениях Agent SDK см. [руководство по безопасному развёртыванию](/docs/ru/agent-sdk/secure-deployment#sandbox-runtime).

97 97 

98<h3 id="set-up-and-launch-the-runtime">98<h3 id="set-up-and-launch-the-runtime">

99 Настройка и запуск среды выполнения99 Настройка и запуск среды выполнения

100</h3>100</h3>

101 101 

102На Linux и WSL2 среда выполнения зависит от тех же пакетов `bubblewrap` и `socat`, что и встроенный sandbox, плюс `ripgrep`, который Claude Code поставляет в комплекте, но автономная среда выполнения разрешает из вашего PATH. Установите `bubblewrap` и `socat` как описано в [Настройка Linux и WSL2](/docs/ru/sandboxing#set-up-linux-and-wsl2), и `ripgrep` из менеджера пакетов вашего дистрибутива. На macOS вам не требуются дополнительные пакеты. Среда выполнения использует встроенный Seatbelt sandbox там.102На Linux и WSL2 среда выполнения зависит от тех же пакетов `bubblewrap` и `socat`, что и встроенная песочница, плюс `ripgrep`, который Claude Code поставляет в комплекте, но автономная среда выполнения разрешает из вашего PATH. Установите `bubblewrap` и `socat` как описано в [Настройка Linux и WSL2](/docs/ru/sandboxing#set-up-linux-and-wsl2), и `ripgrep` из менеджера пакетов вашего дистрибутива. На macOS вам не требуются дополнительные пакеты. Там среда выполнения использует встроенную песочницу Seatbelt.

103 103 

104По умолчанию среда выполнения запрещает доступ в сеть и ограничивает запись небольшим набором встроенных путей среды выполнения, поэтому настройте ее перед запуском Claude Code через нее. Поместите вашу конфигурацию в `~/.srt-settings.json` или в файл, который вы передаете с `--settings`. [README](https://github.com/anthropic-experimental/sandbox-runtime) пакета документирует полную схему конфигурации.104По умолчанию среда выполнения запрещает доступ в сеть и ограничивает запись небольшим набором встроенных путей среды выполнения, поэтому настройте ее перед запуском Claude Code через нее. Поместите вашу конфигурацию в `~/.srt-settings.json` или в файл, который вы передаете с `--settings`. [README](https://github.com/anthropics/sandbox-runtime) пакета документирует схему конфигурации.

105 105 

106Разрешите доступ на запись по крайней мере к:106Разрешите доступ на запись по крайней мере к:

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 

114* `api.anthropic.com` или конечной точке вашего настроенного поставщика. У стороннего поставщика также сохраняйте `api.anthropic.com`: проверка безопасности домена WebFetch по-прежнему вызывает его по умолчанию, если вы не установите `skipWebFetchPreflight: true`.116* `api.anthropic.com` или эндпоинт вашего настроенного поставщика. У стороннего поставщика также сохраняйте `api.anthropic.com`: проверка безопасности домена WebFetch по-прежнему вызывает его по умолчанию, если вы не установите `skipWebFetchPreflight: true`.

115* `claude.ai` и `platform.claude.com`, которые требуют [OAuth вход и обновление токена](/docs/ru/network-config#network-access-requirements). Запуски, аутентифицированные с помощью ключа API, могут отбросить эти два.117* `claude.ai` и `platform.claude.com`, которые требуются для [входа через OAuth и обновления токена](/docs/ru/network-config#network-access-requirements). Запуски, аутентифицированные с помощью API-ключа, могут исключить эти два домена.

116 118 

117На Linux и WSL2 среда выполнения применяет разрешения на запись только к путям, которые уже существуют. В свежей среде создайте пути конфигурации Claude Code перед первым запуском:119На Linux и WSL2 среда выполнения применяет разрешения на запись только к путям, которые уже существуют. В свежей среде создайте пути конфигурации Claude Code перед первым запуском:

118 120 


120mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }122mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }

121```123```

122 124 

123После того как файл параметров находится на месте, запустите Claude Code с `npx` и передайте `claude` как команду для обертывания:125После того как файл настроек находится на месте, запустите Claude Code с `npx` и передайте `claude` как команду для обертывания:

124 126 

125```bash theme={null}127```bash theme={null}

126npx @anthropic-ai/sandbox-runtime claude128npx @anthropic-ai/sandbox-runtime claude

127```129```

128 130 

129Claude Code запускается внутри sandbox с границами файловой системы и сети, которые вы настроили. Та же команда работает для sandboxing отдельных серверов MCP или других вспомогательных процессов.131Claude Code запускается внутри песочницы с границами файловой системы и сети, которые вы настроили. Та же команда работает для изоляции в песочнице отдельных MCP-серверов или других вспомогательных процессов.

130 132 

131<h3 id="what-the-runtime-blocks-on-its-own">133<h3 id="what-the-runtime-blocks-on-its-own">

132 Что среда выполнения блокирует самостоятельно134 Что среда выполнения блокирует самостоятельно


136 138 

137* `denyWrite` имеет приоритет над `allowWrite`.139* `denyWrite` имеет приоритет над `allowWrite`.

138* В корне проекта среда выполнения запрещает `.git/hooks`, запрещает `.git/config`, если вы не установите `filesystem.allowGitConfig: true`, и запрещает `.mcp.json`, `.claude/commands`, `.claude/agents` и файлы запуска оболочки.140* В корне проекта среда выполнения запрещает `.git/hooks`, запрещает `.git/config`, если вы не установите `filesystem.allowGitConfig: true`, и запрещает `.mcp.json`, `.claude/commands`, `.claude/agents` и файлы запуска оболочки.

139* На macOS эти запреты проверяются при выполнении записи, поэтому они также охватывают вложенные файлы и репозитории, созданные во время сеанса.141* На macOS эти запреты проверяются при выполнении записи, поэтому они также охватывают вложенные файлы и репозитории, созданные во время сессии.

140* На Linux и WSL2 среда выполнения создает список запретов один раз при запуске. Она надежно охватывает корень проекта, выполняет поверхностное сканирование вложенных копий, которые существуют в этот момент, и не охватывает ничего, что сеанс создает позже, например `git init`, `git clone` или scaffolding. Раздел `mandatoryDenySearchDepth` в README описывает точную семантику сканирования.142* На Linux и WSL2 среда выполнения создает список запретов один раз при запуске. Она надежно охватывает корень проекта, выполняет поверхностное сканирование (по мере возможности) вложенных копий, которые существуют в этот момент, и не охватывает ничего, что сессия создает позже, например `git init`, `git clone` или scaffolding. Раздел `mandatoryDenySearchDepth` в README описывает точную семантику сканирования.

141* Если `~/.srt-settings.json` не существует и вы не передаете `--settings`, среда выполнения все равно запускается. Она блокирует доступ в сеть и ограничивает запись встроенными путями среды выполнения, такими как `/tmp/claude`, `~/.npm/_logs` и `~/.claude/debug`. Не принимайте чистый старт как доказательство того, что ваши параметры загрузились.143* Если `~/.srt-settings.json` не существует и вы не передаете `--settings`, среда выполнения все равно запускается. Она блокирует доступ в сеть и ограничивает запись встроенными путями среды выполнения, такими как `/tmp/claude`, `~/.npm/_logs` и `~/.claude/debug`. Не принимайте чистый старт как доказательство того, что ваши настройки загрузились.

142* Если файл параметров существует, но пуст, нечитаем или недействителен, среда выполнения отказывается запускаться, независимо от того, это `~/.srt-settings.json` или файл, который вы передаете с `--settings`. Она также отказывается запускаться, если файл `--settings` не существует.144* Если файл настроек существует, но пуст, нечитаем или недействителен, среда выполнения отказывается запускаться, независимо от того, это `~/.srt-settings.json` или файл, который вы передаете с `--settings`. Она также отказывается запускаться, если файл `--settings` не существует.

143 145 

144Ваши разрешения на запись по-прежнему включают другие пути, из которых Claude Code загружает конфигурацию, поэтому запретите их с помощью `denyWrite`. Изолированный сеанс, который может их записывать, может сохранять hooks, правила разрешений или серверы MCP, которые запускаются без изоляции при следующем запуске Claude Code.146Ваши разрешения на запись по-прежнему включают другие пути, из которых Claude Code загружает конфигурацию, поэтому запретите их с помощью `denyWrite`. Изолированная сессия, которая может их записывать, может сохранять хуки, правила разрешений или MCP-серверы, которые запускаются без изоляции при следующем запуске Claude Code.

145 147 

146<h3 id="after-unattended-runs">148<h3 id="after-unattended-runs">

147 После автоматических запусков149 После автоматических запусков

148</h3>150</h3>

149 151 

150Проверьте пути, которые вы оставили доступными для записи. На Linux и WSL2 также проверьте все, что создал сеанс.152Проверьте пути, которые вы оставили доступными для записи. На Linux и WSL2 также проверьте все, что создала сессия.

151 153 

152<h2 id="dev-containers">154<h2 id="dev-containers">

153 Dev containers155 Dev containers


165 167 

166Несколько управляемых служб sandbox и удаленного выполнения могут размещать контейнер для вас. Тот же контрольный список применяется к любому контейнеру, который вы работаете: проверьте, что смонтировано с правом записи, какие учетные данные и токены доступны внутри него и какую политику исходящего трафика в сети он позволяет.168Несколько управляемых служб sandbox и удаленного выполнения могут размещать контейнер для вас. Тот же контрольный список применяется к любому контейнеру, который вы работаете: проверьте, что смонтировано с правом записи, какие учетные данные и токены доступны внутри него и какую политику исходящего трафика в сети он позволяет.

167 169 

168Вы можете комбинировать встроенный Bash sandbox внутри контейнера для ограничений для каждой команды. Непривилегированные контейнеры требуют параметра nested-sandbox, описанного в [Sandboxing troubleshooting](/docs/ru/sandboxing#troubleshooting).170Вы можете комбинировать встроенную песочницу Bash внутри контейнера для ограничений на уровне каждой команды. Непривилегированным контейнерам требуется параметр `enableWeakerNestedSandbox`, описанный в разделе [Bubblewrap не запускается внутри контейнера](/docs/ru/sandboxing#bubblewrap-fails-to-start-inside-a-container).

169 171 

170<h2 id="virtual-machine">172<h2 id="virtual-machine">

171 Virtual machine173 Virtual machine

sandboxing.md +606 −307

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# Настройка изолированного инструмента Bash5# Настройка инструмента Bash в песочнице

6 6 

7> Узнайте, как изолированный инструмент Bash в Claude Code обеспечивает изоляцию файловой системы и сети для более безопасного и автономного выполнения агента.7> Ограничьте файлы и сетевые хосты, к которым могут обращаться shell-команды Claude Code, с помощью встроенной песочницы. Включите её, задайте границы и исправьте то, что она нарушает.

8 8 

9Bash sandbox позволяет Claude выполнять большинство команд оболочки без остановки для запроса разрешения. Вместо одобрения каждой команды вы определяете, какие файлы и сетевые домены могут использовать команды, и операционная система применяет эту границу для каждой команды Bash, PowerShell или Monitor и её дочерних процессов.9Песочница Bash — это граница, которую операционная система устанавливает вокруг shell-команд, запускаемых Claude на вашем компьютере. Вы задаёте, к каким файлам и сетевым доменам могут обращаться эти команды, и ограничения применяются к командам Bash, PowerShell и Monitor, а также к запускаемым ими процессам. Поскольку операционная система применяет ограничения во время выполнения команды, Claude Code может [запускать команды в песочнице, не спрашивая вас](#sandbox-modes) о подтверждении каждой из них.

10 

11Песочница охватывает только shell-команды. Файловые инструменты Claude, MCP-серверы и хуки [работают вне её](#what-runs-outside-the-sandbox).

12 

13Песочница работает в macOS, Linux и WSL2. В нативной Windows Claude Code запускает команды без песочницы. Чтобы использовать песочницу на компьютере с Windows, запускайте Claude Code внутри дистрибутива WSL2.

10 14 

11<Note>15<Note>

12 Для сравнения других подходов к изоляции, таких как dev containers, пользовательские контейнеры и виртуальные машины, см. [Sandbox environments](/docs/ru/sandbox-environments). Чтобы уменьшить количество запросов разрешений для инструментов, отличных от Bash, см. [permission modes](/docs/ru/permission-modes).16 На этой странице описана песочница вокруг shell-команд на вашем собственном компьютере. Смежные вопросы рассматриваются на других страницах:

17 

18 * О том, как изолируется облачная сессия, см. [Безопасность и изоляция](/docs/ru/claude-code-on-the-web#security-and-isolation)

19 * Чтобы сравнить другие подходы к изоляции, такие как dev-контейнеры, пользовательские контейнеры и виртуальные машины, см. [Среды песочницы](/docs/ru/sandbox-environments)

20 * Чтобы сократить количество запросов разрешений для инструментов, отличных от Bash, см. [режимы разрешений](/docs/ru/permission-modes)

13</Note>21</Note>

14 22 

23<h2 id="what-the-sandbox-restricts">

24 Что ограничивает песочница

25</h2>

26 

27Пока песочница включена, shell-команды, которые запускает Claude, выполняются внутри её границ, как и процессы, которые эти команды запускают. По умолчанию песочница отключена. Чтобы включить её, выполните `/sandbox` в сессии, как показано в разделе [Начало работы](#get-started), или установите для [`sandbox.enabled`](/docs/ru/settings-reference#sandbox-enabled) значение `true` в [файле настроек](/docs/ru/settings), например `~/.claude/settings.json`.

28 

29В таблице показано, к чему изолированная в песочнице команда имеет доступ по умолчанию, и настройки, которые изменяют каждое значение по умолчанию.

30 

31| Доступ | По умолчанию | Как изменить |

32| :- | :- | :- |

33| Запись | Рабочий каталог, временный каталог пользователя и [добавленные вами каталоги](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration). [Защищённые пути](#protected-paths) остаются запрещёнными для записи | [`filesystem.allowWrite`](/docs/ru/settings-reference#sandbox-filesystem-allowwrite), [`filesystem.denyWrite`](/docs/ru/settings-reference#sandbox-filesystem-denywrite) |

34| Чтение | Большая часть машины, включая файлы с учётными данными, такие как `~/.ssh` и `~/.aws/credentials` | [`filesystem.denyRead`](/docs/ru/settings-reference#sandbox-filesystem-denyread), [`credentials`](#protect-credentials) |

35| Сеть | Прямого выхода нет. Соединения проходят через прокси на вашей машине, который проверяет каждый хост по списку разрешённых доменов, изначально пустому. Ваш режим разрешений определяет, [что происходит с другими хостами](#hosts-outside-your-allowed-domains) | [`network.allowedDomains`](/docs/ru/settings-reference#sandbox-network-alloweddomains), [`network.deniedDomains`](/docs/ru/settings-reference#sandbox-network-denieddomains) |

36| Переменные окружения | Наследуются от Claude Code, включая любые секреты в его окружении | [`credentials`](#protect-credentials), [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars) |

37 

38Claude Code создаёт песочницу на основе пакета с открытым исходным кодом [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropics/sandbox-runtime).

39 

40<h3 id="what-runs-outside-the-sandbox">

41 Что выполняется вне песочницы

42</h3>

43 

44Песочница оборачивает shell-команды. Следующие инструменты и процессы выполняются вне её:

45 

46* **Встроенные инструменты для работы с файлами и веб-ресурсами**: такие инструменты, как Read, Edit, Write, WebFetch и WebSearch, вместо этого подчиняются [правилам разрешений](/docs/ru/permissions). Запись в `denyRead` не останавливает инструмент Read, а `allowedDomains` не ограничивает WebFetch

47* **Другие процессы, которые запускает Claude Code**: командные [хуки](/docs/ru/hooks), локальные [MCP-серверы](/docs/ru/mcp), [мониторы плагинов](/docs/ru/plugins/components#monitors), [LSP-серверы](/docs/ru/tools-reference#lsp-tool-behavior) и вспомогательные команды, такие как команда вашей [строки состояния](/docs/ru/statusline) и `apiKeyHelper`, выполняются с вашим полным доступом

48 

49Некоторые shell-команды также выполняются вне песочницы, в зависимости от ваших настроек:

50 

51* **Команды, которые вы вводите сами**: команда, введённая в [промпте режима оболочки `!`](/docs/ru/interactive-mode#shell-mode-with-prefix), в большинстве сессий выполняется без песочницы. В разделе [Строгий режим песочницы](#turn-off-the-retry-with-strict-sandbox-mode) перечислены сессии, в которых введённая вами команда выполняется в песочнице

52* **Исключённые команды**: команды, соответствующие [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands), выполняются без песочницы

53* **Повторные попытки без песочницы**: Claude может [запросить выполнение команды без песочницы](#the-unsandboxed-retry-escape-hatch), обычно после того, как она завершилась с ошибкой в песочнице

54 

55Чтобы поместить инструменты, процессы и команды из этого раздела за единую границу, запустите сам процесс Claude Code в [контейнере, виртуальной машине или среде выполнения песочницы](/docs/ru/sandbox-environments).

56 

15<h2 id="get-started">57<h2 id="get-started">

16 Начало работы58 Начало работы

17</h2>59</h2>

18 60 

19Sandbox встроен в Claude Code и работает на macOS, Linux и WSL2. Нативная Windows не поддерживается. На Windows запустите Claude Code внутри дистрибьютива WSL2.61Песочница встроена в Claude Code. Что нужно установить, зависит от вашей платформы:

20 62 

21На macOS нет необходимости в установке: sandboxing использует встроенную платформу Seatbelt. На Linux и WSL2 sandbox зависит от двух пакетов, описанных в разделе [Настройка Linux и WSL2](#set-up-linux-and-wsl2). Даже если вы их ещё не установили, вы можете начать с `/sandbox`, так как его панель показывает, что-либо отсутствует.63* **macOS**: изоляция в песочнице использует встроенный фреймворк Seatbelt, поэтому можно сразу переходить к шагам

64* **Linux и WSL2**: песочница использует `bubblewrap` и `socat`, об этом рассказано в разделе [Настройка Linux и WSL2](#set-up-linux-and-wsl2). Даже если вы их ещё не установили, можно начать с `/sandbox`, потому что его панель показывает, чего не хватает

22 65 

23<Steps>66<Steps>

24 <Step title="Запустите /sandbox">67 <Step title="Запустите /sandbox">

25 Начните сеанс Claude Code и выполните команду `/sandbox`:68 Начните сессию Claude Code и выполните команду `/sandbox`:

26 69 

27 ```text theme={null}70 ```text theme={null}

28 /sandbox71 /sandbox

29 ```72 ```

30 73 

31 Это открывает панель sandbox с тремя вкладками, плюс вкладка Dependencies на Linux, когда отсутствует опциональный фильтр seccomp:74 Откроется панель песочницы с тремя вкладками, а также вкладкой Dependencies в Linux, если отсутствует необязательный фильтр seccomp:

32 75 

33 * **Mode**: выберите способ одобрения изолированных команд, описанный на следующем шаге76 * **Mode**: выберите, как подтверждаются команды в песочнице; об этом рассказано на следующем шаге

34 * **Overrides**: выберите, могут ли команды, которые не работают в sandbox, вернуться к выполнению без изоляции. Это параметр [`allowUnsandboxedCommands`](/docs/ru/settings-reference#sandbox-allowunsandboxedcommands)77 * **Overrides**: выберите, могут ли команды, которые завершаются ошибкой в песочнице, в качестве запасного варианта выполняться вне песочницы. Это настройка [`allowUnsandboxedCommands`](/docs/ru/settings-reference#sandbox-allowunsandboxedcommands)

35 * **Config**: просмотрите разрешённые параметры sandbox78 * **Config**: просмотр итоговых настроек песочницы

36 79 

37 Если панель показывает только вкладку Dependencies, отсутствует требуемый пакет. Установите его, как описано в разделе [Настройка Linux и WSL2](#set-up-linux-and-wsl2), перезагрузите Claude Code и снова выполните `/sandbox`.80 Если на панели отображается только вкладка Dependencies, значит, отсутствует обязательный пакет. Установите его, как описано в разделе [Настройка Linux и WSL2](#set-up-linux-and-wsl2), перезапустите Claude Code и снова выполните `/sandbox`.

38 </Step>81 </Step>

39 82 

40 <Step title="Выберите режим">83 <Step title="Выберите режим">

41 На вкладке Mode выберите автоматическое разрешение или обычные разрешения. Автоматическое разрешение выполняет изолированные команды без запроса, а обычные разрешения сохраняют обычные запросы разрешений даже когда команды изолированы. См. [Режимы sandbox](#sandbox-modes) для информации о том, какие команды всё ещё требуют запроса в режиме автоматического разрешения.84 На вкладке Mode выберите auto-allow или обычные разрешения. Режим auto-allow выполняет команды в песочнице без запросов, а режим обычных разрешений сохраняет обычные запросы разрешений, даже когда команды выполняются в песочнице. О том, какие команды всё равно вызывают запрос в режиме auto-allow, см. в разделе [Режимы песочницы](#sandbox-modes).

42 </Step>85 </Step>

43 86 

44 <Step title="Выполните команду Bash">87 <Step title="Выполните команду Bash">

45 Попросите Claude выполнить команду, например сборку или набор тестов. По умолчанию команды внутри sandbox могут писать в рабочий каталог, [каталог временных файлов сеанса](/docs/ru/env-vars) и любые [каталоги, которые вы добавили](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) с помощью `--add-dir`, `/add-dir` или `permissions.additionalDirectories`.88 Попросите Claude выполнить команду, например сборку или набор тестов. По умолчанию команды в песочнице могут записывать в рабочий каталог, [временный каталог пользователя](/docs/ru/env-vars) и любые [каталоги, которые вы добавили](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) с помощью `--add-dir`, `/add-dir` или `permissions.additionalDirectories`.

46 89 

47 Первый раз, когда команде требуется новый сетевой домен, Claude Code запрашивает одобрение; в [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) Claude вместо этого называет хосты, которые требует команда, [в самой команде](#per-command-allowed-domains-in-auto-mode) для проверки классификатором вместе с ней.90 Когда команде впервые нужен новый сетевой домен, Claude Code запрашивает подтверждение; в [авторежиме](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) Claude вместо этого указывает нужные команде хосты [в самой команде](#per-command-allowed-domains-in-auto-mode), чтобы классификатор проверил их вместе с ней.

48 91 

49 Команды, которые не могут выполняться в sandbox, возвращаются к обычному потоку разрешений. Claude Code озаглавливает их запрос разрешения как "Bash command (unsandboxed)" вместо "Bash command", чтобы вы могли определить, какие команды выполнялись вне sandbox. Чтобы расширить или сузить эти границы, см. [Настройка sandboxing](#configure-sandboxing).92 Чтобы расширить или сузить то, что разрешает песочница, см. раздел [Настройка изоляции в песочнице](#configure-sandboxing).

50 93 

51 Если изолированные команды не работают с ошибкой `Operation not permitted` внутри контейнера, см. запись Bubblewrap в разделе [Troubleshooting](#troubleshooting).94 Если команды в песочнице внутри контейнера завершаются ошибкой `Operation not permitted`, см. раздел [Bubblewrap не запускается внутри контейнера](#bubblewrap-fails-to-start-inside-a-container).

52 </Step>95 </Step>

53</Steps>96</Steps>

54 97 

55Выбор режима на панели записывает в локальные параметры вашего проекта в `.claude/settings.local.json`, которые применяются к текущему проекту. Claude Code добавляет этот файл в вашу глобальную gitignore при сохранении параметра там. Чтобы включить sandbox во всех ваших проектах, установите [`sandbox.enabled`](/docs/ru/settings-reference#sandbox-enabled) в `true` в ваших пользовательских параметрах в `~/.claude/settings.json`. Чтобы применить sandboxing для каждого разработчика в организации, используйте [управляемые параметры](#enforce-sandboxing-with-managed-settings).98Когда вы выбираете режим на панели, Claude Code сохраняет его в локальных настройках проекта в `.claude/settings.local.json`, которые применяются к текущему проекту. Claude Code добавляет этот файл в ваш глобальный gitignore, когда сохраняет туда настройку. Чтобы включить песочницу во всех ваших проектах, задайте для [`sandbox.enabled`](/docs/ru/settings-reference#sandbox-enabled) значение `true` в пользовательских настройках в `~/.claude/settings.json`. Чтобы обязать использовать песочницу всех разработчиков в организации, используйте [управляемые настройки](#enforce-sandboxing-with-managed-settings).

56 99 

57Чтобы изменить sandbox для одного сеанса без записи в файл параметров, запустите Claude Code с [`--settings`](/docs/ru/settings#change-a-setting-for-one-session). Например, эта команда запускает изолированный сеанс, в котором Claude не может повторить заблокированную команду вне sandbox:100Чтобы изменить песочницу для одной сессии без записи в файл настроек, запустите Claude Code с [`--settings`](/docs/ru/settings#change-a-setting-for-one-session). Например, эта команда запускает сессию в песочнице, в которой Claude не может повторить попытку выполнения заблокированной команды вне песочницы:

58 101 

59```bash theme={null}102```bash theme={null}

60claude --settings '{"sandbox": {"enabled": true, "allowUnsandboxedCommands": false}}'103claude --settings '{"sandbox": {"enabled": true, "allowUnsandboxedCommands": false}}'

61```104```

62 105 

63<Warning>106<Warning>

64 По умолчанию, если sandbox не может запуститься из-за отсутствия зависимостей или неподдерживаемой платформы, Claude Code показывает предупреждение и выполняет команды без sandboxing. Чтобы сделать это жёстким отказом, установите [`sandbox.failIfUnavailable`](/docs/ru/settings-reference#sandbox-failifunavailable) в `true`. Это предназначено для управляемых развёртываний, которые требуют sandboxing в качестве шлюза безопасности.107 По умолчанию, если песочница не может запуститься из-за отсутствующей зависимости или неподдерживаемой платформы, Claude Code выполняет команды без изоляции в песочнице. Чтобы вместо этого Claude Code завершал работу при запуске, задайте для [`sandbox.failIfUnavailable`](/docs/ru/settings-reference#sandbox-failifunavailable) значение `true`. Эту настройку могут использовать управляемые развёртывания, в которых песочница является обязательным механизмом безопасности.

65</Warning>108</Warning>

66 109 

110<h3 id="confirm-commands-run-inside-the-sandbox">

111 Проверка того, что команды выполняются в песочнице

112</h3>

113 

114Чтобы убедиться, что песочница работает, попросите Claude выполнить каждую строку из таблицы. То, что вы вводите в [промпте `!`](#what-runs-outside-the-sandbox), обычно выполняется вне песочницы, поэтому ввод строки вручную её не проверяет.

115 

116| Команда | Результат в песочнице |

117| :- | :- |

118| `touch ~/sandbox-probe` | Завершается ошибкой `Operation not permitted` в macOS или `Read-only file system` в Linux и WSL2 |

119| `curl --noproxy '*' https://example.com` | Завершается ошибкой `Could not resolve host`, потому что у команды нет пути в обход прокси песочницы |

120 

121Если Claude предлагает повторить попытку выполнения неудавшейся команды вне песочницы, отклоните повторную попытку. Если `touch` выполняется успешно, а ваш домашний каталог не входит в число каталогов, в которые песочница разрешает командам записывать, удалите `~/sandbox-probe`. Затем выполните `/sandbox`, чтобы проверить, что песочница включена и её зависимости установлены.

122 

67<h3 id="set-up-linux-and-wsl2">123<h3 id="set-up-linux-and-wsl2">

68 Настройка Linux и WSL2124 Настройка Linux и WSL2

69</h3>125</h3>

70 126 

71На Linux и WSL2 sandbox зависит от двух пакетов:127В Linux и WSL2 песочница использует следующие пакеты:

72 128 

73* [`bubblewrap`](https://github.com/containers/bubblewrap): инструмент непривилегированной изоляции, который применяет изоляцию файловой системы129* [`bubblewrap`](https://github.com/containers/bubblewrap): непривилегированный инструмент изоляции, обеспечивающий изоляцию файловой системы

74* [`socat`](http://www.dest-unreach.org/socat/): ретранслятор, используемый для маршрутизации сетевого трафика через прокси sandbox130* [`socat`](http://www.dest-unreach.org/socat/): ретранслятор, используемый для направления сетевого трафика через прокси песочницы

75 131 

76Установите их с помощью менеджера пакетов вашего дистрибьютива:132Установите их с помощью менеджера пакетов вашего дистрибутива:

77 133 

78<Tabs>134<Tabs>

79 <Tab title="Ubuntu/Debian">135 <Tab title="Ubuntu/Debian">


89 </Tab>145 </Tab>

90</Tabs>146</Tabs>

91 147 

92Когда зависимость отсутствует, вкладка Dependencies в `/sandbox` показывает, какие из `ripgrep`, `bubblewrap`, `socat` и фильтра seccomp отсутствуют на вашей платформе. Если вы не видите вкладку после установки и перезагрузки Claude Code, все зависимости присутствуют.148Когда зависимость отсутствует, вкладка Dependencies в `/sandbox` показывает, чего из `ripgrep`, `bubblewrap`, `socat` и фильтра seccomp не хватает на вашей платформе. Если после установки и перезапуска Claude Code вы не видите эту вкладку, все зависимости на месте.

93 149 

94Ripgrep поставляется в комплекте с нативным двоичным файлом Claude Code. Фильтр seccomp является опциональным и добавляет блокировку Unix domain socket. Установите его с помощью `npm install -g @anthropic-ai/sandbox-runtime`, если он отсутствует.150Ripgrep входит в состав нативного бинарного файла Claude Code. Фильтр seccomp необязателен и добавляет блокировку доменных сокетов Unix. Если он отсутствует, установите его с помощью `npm install -g @anthropic-ai/sandbox-runtime`.

95 151 

96Когда отсутствует требуемая зависимость, вкладка Dependencies является единственной показываемой вкладкой до её установки. Когда отсутствует только опциональный фильтр seccomp, вкладка Dependencies появляется наряду с другими вкладками. Проверка зависимостей выполняется при запуске, поэтому перезагрузите Claude Code после установки пакетов, чтобы `/sandbox` их обнаружил.152Когда отсутствует обязательная зависимость, вкладка Dependencies остаётся единственной отображаемой вкладкой, пока вы её не установите. Когда отсутствует только необязательный фильтр seccomp, вкладка Dependencies отображается вместе с остальными вкладками. Проверка зависимостей выполняется при запуске, поэтому после установки пакетов перезапустите Claude Code, чтобы `/sandbox` их обнаружил.

97 153 

98<AccordionGroup>154<AccordionGroup>

99 <Accordion title="Ubuntu 24.04 и позже: разрешить bubblewrap создавать пользовательские пространства имён">155 <Accordion title="Ubuntu 24.04 и новее: разрешите bubblewrap создавать пространства имён пользователей">

100 На Ubuntu 24.04 и позже политика AppArmor по умолчанию предотвращает создание bubblewrap пользовательских пространств имён, необходимых для изоляции.156 В Ubuntu 24.04 и новее политика AppArmor по умолчанию не позволяет bubblewrap создавать пространства имён пользователей, необходимые ему для изоляции.

101 157 

102 Чтобы проверить, применяется ли это ограничение в вашей среде, включая внутри WSL2, выполните `sysctl kernel.apparmor_restrict_unprivileged_userns`. Если команда возвращает `0`, пропустите этот шаг. Если она выводит ошибку `No such file or directory`, ключ не существует и вы можете пропустить этот шаг. Если она возвращает `1`, добавьте профиль AppArmor, который предоставляет `bwrap` эту возможность:158 Чтобы проверить, действует ли это ограничение в вашей среде, в том числе в WSL2, выполните `sysctl kernel.apparmor_restrict_unprivileged_userns`. Если команда возвращает `0`, пропустите этот шаг. Если она выводит ошибку `No such file or directory`, ключ не существует, и этот шаг можно пропустить. Если она возвращает `1`, добавьте профиль AppArmor, предоставляющий `bwrap` эту возможность:

103 159 

104 ```bash theme={null}160 ```bash theme={null}

105 sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'161 sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'


113 EOF169 EOF

114 ```170 ```

115 171 

116 Профиль применяется только к самому `bwrap`, а не к командам, которые он выполняет внутри sandbox. Перезагрузите AppArmor, чтобы применить его:172 Профиль применяется только к самому `bwrap`, а не к командам, которые он выполняет в песочнице. Перезагрузите AppArmor, чтобы применить его:

117 173 

118 ```bash theme={null}174 ```bash theme={null}

119 sudo systemctl reload apparmor175 sudo systemctl reload apparmor

120 ```176 ```

121 </Accordion>177 </Accordion>

122 178 

123 <Accordion title="Примечания WSL2">179 <Accordion title="Примечания для WSL2">

124 Проверьте версию WSL с помощью `wsl -l -v` из PowerShell. Если вы видите `Sandboxing requires WSL2`, ваш дистрибьютив работает на WSL1. Обновите его на WSL2 или запустите Claude Code без sandboxing.180 Проверьте версию WSL с помощью `wsl -l -v` в PowerShell. Если вы видите `Sandboxing requires WSL2`, ваш дистрибутив работает на WSL1. Обновите его до WSL2 или запускайте Claude Code без изоляции в песочнице.

125 181 

126 На WSL2 WSL передаёт запуск двоичного файла Windows, такого как `cmd.exe`, `powershell.exe` или что-либо под `/mnt/c/`, хосту Windows через Unix socket, поэтому то, может ли изолированная команда запустить один из них, следует параметрам sandbox для [Unix-socket](/docs/ru/settings-reference#sandbox-network-allowunixsockets): опциональный фильтр seccomp должен быть установлен, чтобы в первую очередь заблокировать socket. Чтобы разрешить эти запуски, установите `allowAllUnixSockets`; чтобы полностью исключить их из sandbox, добавьте команду в [`excludedCommands`](/docs/ru/settings-reference#sandbox-excludedcommands).182 В WSL2 запуск бинарного файла Windows, например `cmd.exe`, `powershell.exe` или чего-либо в `/mnt/c/`, WSL передаёт хосту Windows через сокет Unix, поэтому возможность запустить такой файл из команды в песочнице определяется [настройками сокетов Unix](/docs/ru/settings-reference#sandbox-network-allowunixsockets) песочницы: чтобы сокет вообще блокировался, должен быть установлен необязательный фильтр seccomp. Чтобы разрешить такие запуски, задайте `allowAllUnixSockets`, что открывает все сокеты Unix для команд в песочнице.

127 </Accordion>183 </Accordion>

128</AccordionGroup>184</AccordionGroup>

129 185 

130<h3 id="sandbox-modes">186<h3 id="sandbox-modes">

131 Режимы sandbox187 Режимы песочницы

132</h3>188</h3>

133 189 

134Claude Code предлагает два режима sandbox. В обоих sandbox применяет одни и те же ограничения файловой системы и сети; разница только в том, разрешены ли изолированные команды автоматически или требуют явного разрешения.190Claude Code предлагает два режима песочницы. В обоих песочница применяет одинаковые ограничения файловой системы и сети; различие лишь в том, подтверждаются ли команды в песочнице автоматически или требуют явного разрешения.

135 191 

136<h4 id="auto-allow-mode">192<h4 id="auto-allow-mode">

137 Режим автоматического разрешения193 Режим auto-allow

138</h4>194</h4>

139 195 

140Когда команда может быть изолирована, Claude Code выполняет её внутри sandbox и автоматически разрешает её без запроса вашего разрешения. Команды, которые не могут быть изолированы, такие как те, которые требуют сетевого доступа к неразрешённым хостам, возвращаются к обычному потоку разрешений, где Claude Code проверяет ваши [правила разрешений](/docs/ru/permissions) и запрашивает у вас разрешение для любой команды, которую эти правила не разрешают, с запросом в режиме Manual.196Claude Code автоматически, без запроса, подтверждает команду, если она выполняется в песочнице. Команда проходит обычный [процесс получения разрешений](/docs/ru/permissions), если она выполняется вне песочницы, потому что соответствует [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands) или потому что Claude [повторяет попытку её выполнения вне песочницы](#the-unsandboxed-retry-escape-hatch).

197 

198Команда в песочнице, которая подключается к хосту, который вы не разрешили, остаётся в песочнице. О том, кто решает, будет ли установлено соединение, рассказано в разделе [Хосты вне разрешённых доменов](#hosts-outside-your-allowed-domains).

141 199 

142Даже в режиме автоматического разрешения применяется следующее:200Даже в режиме auto-allow по-прежнему действует следующее:

143 201 

144* Явные [правила отказа](/docs/ru/permissions) всегда соблюдаются202* Явные [правила запрета](/docs/ru/permissions) всегда соблюдаются

145* Команды `rm` или `rmdir`, которые нацелены на [критический путь](/docs/ru/permission-modes#critical-paths), по-прежнему вызывают обычный поток разрешений203* Команды `rm` или `rmdir`, нацеленные на [критический путь](/docs/ru/permission-modes#critical-paths), по-прежнему проходят обычный процесс получения разрешений

146* [Правила ask](/docs/ru/permissions) с областью действия контента, такие как `Bash(git push *)`, по-прежнему требуют запроса даже для изолированных команд204* [Правила запроса](/docs/ru/permissions) с ограничением по содержимому, например `Bash(git push *)`, по-прежнему вызывают запрос даже для команд в песочнице

147* Простое правило `Bash` ask, или эквивалентная форма `Bash(*)`, пропускается для команд, которые выполняются в изолированном режиме; оно по-прежнему применяется к командам, которые возвращаются к обычному потоку разрешений. В [режиме plan](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) правило не пропускается: оно запрашивает разрешение для изолированных команд, включая команды только для чтения. До версии 2.1.212 пропуск применялся и в режиме plan205* Голое правило запроса `Bash` или эквивалентная форма `Bash(*)` пропускается для команд, выполняемых в песочнице; оно по-прежнему применяется к командам, которые переходят к обычному процессу получения разрешений. В [режиме планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) правило не пропускается: оно вызывает запрос и для команд в песочнице, включая команды только для чтения

148 206 

149<Info>207<Info>

150 Режим автоматического разрешения работает независимо от вашего параметра режима разрешений, за исключением [режима plan](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode), команды, которая несёт [разрешённые домены для каждой команды](#per-command-allowed-domains-in-auto-mode), и [проверки классификатором на стороне сервера](/docs/ru/permission-modes#how-the-classifier-evaluates-actions) изолированных команд в режиме auto. Даже если вы не находитесь в режиме "принять правки", изолированные команды Bash выполняются автоматически при включении автоматического разрешения. Это означает, что команды Bash, которые изменяют файлы в границах sandbox, выполняются без запроса, даже в режиме Manual, где инструменты редактирования файлов запрашивали бы разрешение.208 Режим auto-allow работает независимо от настройки режима разрешений, за тремя исключениями: [режим планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode), команда авторежима с [разрешёнными доменами для отдельной команды](#per-command-allowed-domains-in-auto-mode) и [проверка классификатором на стороне сервера](/docs/ru/permission-modes#how-the-classifier-evaluates-actions) команд в песочнице в авторежиме. Даже если вы не находитесь в режиме «accept edits», команды Bash в песочнице выполняются автоматически, когда включён auto-allow. Это означает, что команды Bash, изменяющие файлы в пределах границ песочницы, выполняются без запроса даже в режиме Manual, где инструменты редактирования файлов запросили бы разрешение.

151 209 

152 В режиме plan автоматическое разрешение не расширяет одобрения; см. [режим plan](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) для информации о том, как Claude Code управляет командами во время планирования. До версии 2.1.212 автоматическое разрешение выполняло изолированные команды без запроса и в режиме plan.210 В режиме планирования auto-allow не расширяет подтверждения; о том, как Claude Code контролирует команды во время планирования, см. в разделе [режим планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode).

153</Info>211</Info>

154 212 

155<h4 id="regular-permissions-mode">213<h4 id="regular-permissions-mode">

156 Режим обычных разрешений214 Режим обычных разрешений

157</h4>215</h4>

158 216 

159Все команды Bash проходят через обычный поток разрешений, даже когда они изолированы. Это обеспечивает больше контроля, но требует больше одобрений.217Все команды Bash проходят обычный процесс получения разрешений, даже в песочнице. Это даёт больше контроля, но требует больше подтверждений.

160 218 

161<h4 id="the-unsandboxed-retry-escape-hatch">219<h4 id="the-unsandboxed-retry-escape-hatch">

162 Механизм выхода для неизолированного повтора220 Запасной выход: повторная попытка вне песочницы

221</h4>

222 

223Повторная попытка вне песочницы — это запасной выход для команд, которые завершаются ошибкой в песочнице, например для инструментов, несовместимых с ней. Когда песочница блокирует сетевое соединение, Claude Code указывает запрещённый хост в результате команды, чтобы Claude видел, что было заблокировано. Claude анализирует ошибку и может повторить попытку выполнения команды с параметром `dangerouslyDisableSandbox`.

224 

225Повторная команда выполняется вне песочницы. В интерактивной сессии терминала то, кто её подтверждает, зависит от вашего режима разрешений:

226 

227* **Режим `bypassPermissions`**: повторная попытка выполняется без запроса

228* **Режим Manual и режим `acceptEdits`**: вы получаете запрос с заголовком «Bash command (unsandboxed)»

229* **[Авторежим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode)**: отдельная модель-классификатор оценивает исходную команду

230* **Режим `dontAsk`**: Claude Code отклоняет повторную попытку

231* **Режим планирования**: см. [как Claude Code контролирует команды во время планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode)

232 

233Следующие правила и настройки меняют то, кто подтверждает повторную попытку:

234 

235* **Соответствующее правило разрешения**: если правило разрешения, например `Bash(curl *)`, соответствует команде, оно также подтверждает повторную попытку, поэтому команда выполняется вне песочницы без запроса

236* **Правило запроса для параметра**: добавьте [правило запроса](/docs/ru/permissions#match-by-input-parameter) для `Bash(dangerouslyDisableSandbox:true)`, чтобы получать запрос при повторных попытках Bash. Вы получите запрос и в авторежиме, и в режиме `bypassPermissions`, а правило имеет приоритет над соответствующим правилом разрешения

237* **[`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories)**: о повторных попытках, вызывающих запрос, когда эта настройка включена, рассказано в разделе [Действия, которые не подтверждаются автоматически ни в одном режиме](/docs/ru/permission-modes#actions-no-mode-auto-approves)

238 

239<h4 id="turn-off-the-retry-with-strict-sandbox-mode">

240 Отключение повторной попытки с помощью строгого режима песочницы

163</h4>241</h4>

164 242 

165Некоторые команды вообще не могут выполняться внутри sandbox, такие как инструменты, несовместимые с ним, или те, которые требуют хоста, который вы не разрешили. Claude Code сообщает о нарушениях sandbox в результате заблокированной команды, называя путь или хост, который sandbox отклонил, чтобы Claude видел, что sandbox заблокировал. Вместо того чтобы не выполнить задачу или потребовать отключения sandboxing, Claude Code включает механизм выхода: Claude анализирует нарушение и может повторить команду с параметром `dangerouslyDisableSandbox`.243Вы можете отключить повторную попытку вне песочницы, задав `"allowUnsandboxedCommands": false` в [настройках песочницы](/docs/ru/settings-reference#sandbox-settings). Когда повторная попытка отключена, Claude Code игнорирует параметр `dangerouslyDisableSandbox`. Пока песочница работает, команды, которые выполняет Claude, в этом случае выполняются в песочнице, если они не соответствуют записи `excludedCommands`. Чтобы Claude Code не выполнял команды вне песочницы, когда песочница не может запуститься, задайте также [`failIfUnavailable`](/docs/ru/settings-reference#sandbox-failifunavailable). Вкладка **Overrides** в `/sandbox` показывает эту настройку как **Strict sandbox mode**.

166 244 

167Повторная команда выполняется вне sandbox, поэтому она проходит через обычный поток разрешений. В режиме Manual вы получаете запрос подтверждения. В [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) классификатор оценивает базовую команду. Пока [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) включен, повтор, который требует одобрения для выполнения вне sandbox, запрашивает у вас разрешение вместо этого. Чтобы получить запрос на каждый неизолированный повтор даже в режиме auto, добавьте [правило ask](/docs/ru/permissions#match-by-input-parameter) для `Bash(dangerouslyDisableSandbox:true)`.245Значение `false` в ваших пользовательских настройках, `--settings` или управляемых настройках сохраняет силу, даже когда настройки проекта задают `true`. Значение `false` в ваших пользовательских настройках не делает песочницу обязательной по требованию администратора, поэтому остальные настройки песочницы проекта по-прежнему применяются. До v2.1.285 значение `true` проекта переопределяло `false` в ваших пользовательских настройках.

168 246 

169Вы можете отключить этот механизм выхода, установив `"allowUnsandboxedCommands": false` в ваши [параметры sandbox](/docs/ru/settings-reference#sandbox-settings). При отключении механизма выхода Claude Code игнорирует параметр `dangerouslyDisableSandbox`, и каждая команда, которую выполняет Claude, должна выполняться в sandbox, если только вы не указали её в `excludedCommands`. Вкладка **Overrides** в `/sandbox` показывает этот параметр как **Strict sandbox mode**.247Если вы или ваш администратор отключаете повторную попытку в управляемых настройках или с помощью флага `--settings`, песочница становится обязательной по требованию администратора. Тогда Claude Code игнорирует настройки в файлах репозитория, которые ослабляют песочницу, включая записи `excludedCommands`. Их список приведён в разделе [Настройки репозитория при песочнице, обязательной по требованию администратора](#repository-settings-under-an-admin-required-sandbox).

170 248 

171Режим strict sandbox применяется к командам, которые выполняет Claude. Команды, которые вы вводите сами в [приглашение shell-mode с префиксом `!`](/docs/ru/interactive-mode#shell-mode-with-prefix), выполняются вне sandbox, если только сеанс не является одним из следующих:249Строгий режим песочницы применяется к командам, которые выполняет Claude. Команды, которые вы вводите сами в [промпте режима оболочки `!`](/docs/ru/interactive-mode#shell-mode-with-prefix), выполняются вне песочницы, если только сессия не относится к одному из следующих типов:

172 250 

173* **[Фоновый сеанс](/docs/ru/agent-view)**: режим strict sandbox охватывает и команды shell-mode251* **[Фоновая сессия](/docs/ru/agent-view)**: строгий режим песочницы распространяется и на команды режима оболочки

174* **Сеанс Linux с установленной переменной [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars#variables)**: каждая команда выполняется в sandbox, включая команды shell-mode252* **Сессия в Linux с заданной переменной [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars#variables)**: все команды выполняются в песочнице, включая команды режима оболочки

175 253 

176До версии 2.1.260 режим strict sandbox изолировал команды shell-mode в каждом сеансе.254До v2.1.260 строгий режим песочницы помещал команды режима оболочки в песочницу в каждой сессии.

177 255 

178<h4 id="temporary-directories">256<h4 id="temporary-directories">

179 Временные каталоги257 Временные каталоги

180</h4>258</h4>

181 259 

182Каталог временных файлов сеанса доступен для записи внутри sandbox по умолчанию, наряду с рабочим каталогом. Если вы не [отключите изоляцию файловой системы](#disable-filesystem-isolation), Claude Code устанавливает `$TMPDIR` в этот каталог для изолированных команд, поэтому инструменты, которые записывают временные файлы, работают без дополнительной конфигурации.260По умолчанию в песочнице наряду с рабочим каталогом доступен для записи временный каталог пользователя. Если вы не [отключите изоляцию файловой системы](#disable-filesystem-isolation), Claude Code задаёт `$TMPDIR` равным этому каталогу для команд в песочнице, поэтому инструменты, записывающие временные файлы, работают без дополнительной настройки.

183 261 

184Неизолированные команды наследуют `$TMPDIR` вашей оболочки, когда она установлена, поэтому пока изоляция файловой системы включена, изолированные и неизолированные команды разрешают `$TMPDIR` в разные каталоги. Если ваша оболочка оставляет `$TMPDIR` неустановленной или пустой, неизолированная команда, которая ссылается на `$TMPDIR`, получает ваше переопределение [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars) или временный каталог операционной системы, когда вы не установили его или переопределение является длинным путём, поэтому переменная не расширяется в пустую строку. Чтобы передавать временные файлы между ними, записывайте их в рабочий каталог вместо этого.262Команды вне песочницы наследуют `$TMPDIR` вашей оболочки, если эта переменная задана, поэтому, пока изоляция файловой системы включена, команды в песочнице и вне её разрешают `$TMPDIR` в разные каталоги. Если ваша оболочка оставляет `$TMPDIR` незаданной или пустой, команда вне песочницы, ссылающаяся на `$TMPDIR`, получает ваше переопределение [`CLAUDE_CODE_TMPDIR`](/docs/ru/env-vars) или временный каталог операционной системы, если вы его не задали или переопределение является длинным путём, поэтому переменная не раскрывается в пустую строку. Чтобы передавать временные файлы между ними, записывайте их вместо этого в рабочий каталог.

185 263 

186<h2 id="configure-sandboxing">264<h2 id="configure-sandboxing">

187 Настройка изоляции в песочнице265 Настройка изоляции в песочнице

188</h2>266</h2>

189 267 

190Настройте поведение песочницы через файл `settings.json`. Полную справку по конфигурации см. в разделе [Settings](/docs/ru/settings-reference#sandbox-settings).268Настройте поведение песочницы в файле `settings.json`. Полный справочник по конфигурации см. в разделе [Настройки](/docs/ru/settings-reference#sandbox-settings).

191 269 

192По умолчанию команды в песочнице могут писать в текущий рабочий каталог, временный каталог для каждого пользователя и любые [каталоги, которые вы добавили](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) с помощью `--add-dir`, `/add-dir` или `permissions.additionalDirectories`. Если подпроцессы, такие как `kubectl`, `terraform` или `npm`, должны писать вне этих каталогов, используйте `sandbox.filesystem.allowWrite` для предоставления доступа к определённым путям:270По умолчанию команды в песочнице могут записывать в текущий рабочий каталог, во временный каталог пользователя и в любые [каталоги, которые вы добавили](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) с помощью `--add-dir`, `/add-dir` или `permissions.additionalDirectories`. Если командам подпроцессов, таким как `kubectl`, `terraform` или `npm`, нужно записывать за пределами этих каталогов, используйте `sandbox.filesystem.allowWrite`, чтобы предоставить доступ к определённым путям:

193 271 

194```json theme={null}272```json theme={null}

195{273{


202}280}

203```281```

204 282 

205Эти пути применяются на уровне операционной системы, поэтому все команды, работающие внутри песочницы, включая их дочерние процессы, их соблюдают. Это рекомендуемый подход, когда инструменту требуется доступ на запись в определённое место, вместо полного исключения инструмента из песочницы с помощью `excludedCommands`.283Эти пути применяются на уровне ОС, поэтому их соблюдают все команды, выполняемые внутри песочницы, включая их дочерние процессы. Это рекомендуемый подход, когда инструменту нужен доступ на запись к определённому расположению, вместо того чтобы полностью исключать инструмент из песочницы с помощью `excludedCommands`.

206 284 

207Когда вы определяете один и тот же массив файловой системы в нескольких [областях параметров](/docs/ru/settings#settings-precedence), Claude Code объединяет их, комбинируя пути из каждой области вместо замены массива одной области на массив другой.285Если вы определяете один и тот же массив файловой системы в нескольких [областях действия настроек](/docs/ru/settings#settings-precedence), Claude Code объединяет их, собирая пути из всех областей действия, а не заменяя массив одной области действия массивом другой.

208 286 

209Если вы исключаете источник с помощью [`--setting-sources`](/docs/ru/cli-reference) в CLI или [`settingSources`](/docs/ru/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) в Agent SDK, Claude Code игнорирует его записи `sandbox.filesystem`, его правила разрешения `Edit` и его правила отказа `Read` при построении конфигурации песочницы. Требуется Claude Code v2.1.246 или позже.287Если вы исключаете источник с помощью [`--setting-sources`](/docs/ru/cli-reference) в CLI или [`settingSources`](/docs/ru/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) в Agent SDK, Claude Code игнорирует его записи `sandbox.filesystem`, его правила разрешений `Edit` и его запрещающие правила `Read` при построении конфигурации песочницы. Требуется Claude Code v2.1.246 или новее.

210 288 

211Когда вы редактируете эти списки файловой системы во время сеанса, Claude Code [применяет изменение к работающему сеансу](/docs/ru/settings#when-edits-take-effect), поэтому следующая команда в песочнице выполняется под новыми путями.289Когда вы редактируете эти списки файловой системы во время сессии, Claude Code [применяет изменение к текущей сессии](/docs/ru/settings#when-edits-take-effect), поэтому следующая команда в песочнице выполняется уже с новыми путями.

212 290 

213Префиксы путей контролируют способ разрешения путей:291Пути файловой системы песочницы следуют стандартным соглашениям: `/tmp/build` — абсолютный путь, а `~/.kube` — путь относительно домашнего каталога. Это отличается от [правил разрешений Read и Edit](/docs/ru/permissions#read-and-edit), которые используют `//path` для абсолютных путей и `/path` для путей относительно проекта. Об относительных путях, завершающей косой черте и подстановочных знаках см. [Префиксы путей песочницы](/docs/ru/settings-reference#sandbox-path-prefixes).

214 292 

215| Префикс | Значение | Пример |293Вы также можете запретить доступ на запись или чтение с помощью `sandbox.filesystem.denyWrite` и `sandbox.filesystem.denyRead` и снова разрешить определённые пути внутри запрещённой области с помощью `sandbox.filesystem.allowRead`. Когда правила чтения пересекаются, применяется правило с более узким путём:

216| :- | :- | :- |

217| `/` | Абсолютный путь от корня файловой системы | `/tmp/build` остаётся `/tmp/build` |

218| `~/` | Относительно домашнего каталога | `~/.kube` становится `$HOME/.kube` |

219| `./` или без префикса | Относительно корня проекта для параметров проекта или относительно `~/.claude` для параметров пользователя | `./output` в `.claude/settings.json` разрешается в `<project-root>/output` |

220 

221Этот синтаксис отличается от [правил разрешения Read и Edit](/docs/ru/permissions#read-and-edit), которые используют `//path` для абсолютного и `/path` для относительного к проекту. Пути файловой системы песочницы используют стандартные соглашения: `/tmp/build` является абсолютным. О том, как Claude Code обрабатывает косую черту в конце или подстановочный знак в этих путях, см. [Префиксы путей песочницы](/docs/ru/settings-reference#sandbox-path-prefixes).

222 

223Вы также можете запретить доступ на запись или чтение, используя `sandbox.filesystem.denyWrite` и `sandbox.filesystem.denyRead`, и повторно разрешить определённые пути в запрещённой области, используя `sandbox.filesystem.allowRead`. Когда правила чтения перекрываются, применяется правило с более узким путём:

224 294 

225| Примеры правил | Результат |295| Примеры правил | Результат |

226| :- | :- |296| :- | :- |

227| `"denyRead": ["~/"]` с `"allowRead": ["~/projects"]` | `~/projects` доступен для чтения, а остальная часть домашнего каталога остаётся заблокированной. Более узкое разрешение повторно открывает эту часть запрещённой области |297| `"denyRead": ["~/"]` с `"allowRead": ["~/projects"]` | `~/projects` доступен для чтения, а остальная часть домашнего каталога остаётся заблокированной. Более узкое разрешение снова открывает эту часть запрещённой области |

228| `"allowRead": ["~/"]` с `"denyRead": ["~/.env"]` | `~/.env` остаётся заблокированным, а остальная часть домашнего каталога доступна для чтения. Отказ действует внутри более широкого разрешения, поэтому широкое разрешение не может скрытно повторно открыть секрет |298| `"allowRead": ["~/"]` с `"denyRead": ["~/.env"]` | `~/.env` остаётся заблокированным, а остальная часть домашнего каталога доступна для чтения. Запрет действует внутри более широкого разрешения, поэтому широкое разрешение не может незаметно снова открыть секрет |

229| `"allowRead": ["~/"]` с `"denyRead": ["~/**/.env"]` | Каждый `.env` в домашнем каталоге остаётся заблокированным, а остальное доступно для чтения. [Подстановочный отказ](/docs/ru/settings-reference#sandbox-path-prefixes) действует внутри более широкого разрешения так же, как точный путь |299| `"allowRead": ["~/"]` с `"denyRead": ["~/**/.env"]` | Все `.env` в домашнем каталоге остаются заблокированными, а остальное доступно для чтения. [Запрет с подстановочным знаком](/docs/ru/settings-reference#sandbox-path-prefixes) действует внутри более широкого разрешения так же, как и точный путь |

230 300 

231Пример ниже блокирует чтение из всего домашнего каталога, но по-прежнему разрешает чтение из текущего проекта. Поместите его в `.claude/settings.json` вашего проекта, потому что относительный путь `.` разрешается в корень проекта только когда конфигурация находится в параметрах проекта:301Пример ниже блокирует чтение всего домашнего каталога, но по-прежнему разрешает чтение текущего проекта. Поместите его в `.claude/settings.json` вашего проекта, потому что относительный путь `.` разрешается в корень проекта, только когда конфигурация находится в настройках проекта:

232 302 

233```json theme={null}303```json theme={null}

234{304{


242}312}

243```313```

244 314 

245Если бы вы поместили ту же конфигурацию в `~/.claude/settings.json`, `.` разрешился бы в `~/.claude` вместо этого, и файлы проекта остались бы заблокированными правилом `denyRead`.315Если бы вы поместили ту же конфигурацию в `~/.claude/settings.json`, `.` разрешался бы в `~/.claude`, и файлы проекта оставались бы заблокированными правилом `denyRead`.

316 

317Чтобы запретить командам в песочнице чтение домашних каталогов и смонтированных томов, сохранив при этом рабочие каталоги доступными для чтения, задайте [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) вместо написания правил для путей.

318 

319<h3 id="run-commands-outside-the-sandbox-with-excludedcommands">

320 Запуск команд вне песочницы с помощью `excludedCommands`

321</h3>

322 

323Укажите шаблон команды в [`sandbox.excludedCommands`](/docs/ru/settings-reference#sandbox-excludedcommands), чтобы подходящие команды выполнялись вне песочницы, то есть без ограничений файловой системы и без сетевого прокси. Используйте это для инструмента, который не может работать внутри песочницы и которому вы доверяете полный доступ. Инструмент, которому нужен ещё один каталог или ещё один хост, может заработать с `allowWrite` или `allowedDomains`, которые оставляют команду в песочнице.

324 

325Этот пример выводит команды `docker compose` из песочницы. Сохраните его в `~/.claude/settings.json`, чтобы применить ко всем вашим проектам:

326 

327```json theme={null}

328{

329 "sandbox": {

330 "enabled": true,

331 "excludedCommands": ["docker compose *"]

332 }

333}

334```

335 

336Claude Code проверяет ваши записи для каждого вызова Bash и Monitor. Вызов — это вся командная строка, которую отправляет Claude, и она может объединять несколько команд в цепочку. Следующие правила определяют, покидает ли вызов песочницу:

337 

338* **Завершайте шаблон на ` *`**: записи используют тот же синтаксис, что и [правило разрешений](/docs/ru/permissions#permission-rule-syntax) `Bash(...)`, где шаблон без подстановочного знака означает точное совпадение. `docker` соответствует только `docker` без аргументов. `docker *` соответствует `docker` с аргументами или без них

339* **Каждая команда в вызове должна совпадать**: `npm ci && docker compose build` остаётся в песочнице, если другая запись не покрывает `npm ci`

340* **Claude Code сопоставляет текст вызова**: скрипт или цель `make`, которые вызывают `docker` внутри, не совпадают, как и `/usr/local/bin/docker`

341* **Некоторые вызовы остаются в песочнице**: перенаправление в файл, `cd` или подстановка команды, например `$(...)`, оставляют весь вызов в песочнице. В [справочной записи](/docs/ru/settings-reference#sandbox-excludedcommands) перечислены другие вызовы, которые остаются в песочнице

342* **Место сохранения записи может иметь значение**: пока песочница [обязательна по требованию администратора](#repository-settings-under-an-admin-required-sandbox), Claude Code игнорирует записи в `.claude/settings.json` и `.claude/settings.local.json`

343 

344Исключённая команда проходит обычный процесс проверки разрешений:

246 345 

247Чтобы запретить командам в песочнице доступ на чтение к домашним каталогам и смонтированным томам, сохраняя доступность рабочих каталогов для чтения, установите [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) вместо написания правил путей.346* [Команды только для чтения](/docs/ru/permissions#read-only-commands) и команды, покрытые вашими разрешающими правилами, выполняются без запроса

347* В авторежиме другие исключённые команды проверяет классификатор

348* В режиме `bypassPermissions` исключённая команда выполняется без запроса, если ей не соответствует правило ask

349 

350Чтобы убедиться, что запись срабатывает, переключитесь в ручной режим и попросите Claude выполнить подходящую команду, которая что-то изменяет, например `docker compose up -d`. Запрос разрешения будет озаглавлен «Bash command (unsandboxed)».

351 

352<Warning>

353 Исключённая команда выполняется с вашим полным доступом. Широкая запись, такая как `docker *`, покрывает всё, что может делать этот инструмент. Если вы напишете шаблон, который покрывает интерпретатор, скрипт внутри вашего рабочего каталога или инструмент, работающий с файлом в нём, как `docker compose` работает со своим compose-файлом, Claude может записать этот файл, а затем запустить его вне песочницы. Чем уже шаблон, тем меньше Claude может запустить вне песочницы.

354</Warning>

248 355 

249<h3 id="disable-filesystem-isolation">356<h3 id="disable-filesystem-isolation">

250 Отключение изоляции файловой системы357 Отключение изоляции файловой системы

251</h3>358</h3>

252 359 

253Установите `sandbox.filesystem.disabled` в `true`, чтобы пропустить изоляцию файловой системы, сохраняя изоляцию сети. Пример ниже отключает изоляцию файловой системы, сохраняя список разрешённых доменов сети:360Задайте для `sandbox.filesystem.disabled` значение `true`, чтобы пропустить изоляцию файловой системы, сохранив сетевую изоляцию. Пример ниже отключает изоляцию файловой системы, сохраняя список разрешённых сетевых доменов:

254 361 

255```json theme={null}362```json theme={null}

256{363{


266}373}

267```374```

268 375 

269Песочница имеет два независимых слоя: [изоляция файловой системы](#filesystem-isolation) контролирует, какие пути команды в песочнице могут читать и писать, а [изоляция сети](#network-isolation) контролирует, какие домены они могут достичь. С отключённым слоем файловой системы команды в песочнице получают неограниченный доступ на чтение и запись к файловой системе хоста, в то время как их исходящий трафик сети остаётся ограниченным вашими разрешёнными доменами. Отключите слой, когда вы используете песочницу для контроля того, где команды подключаются, а не того, что они пишут.376Песочница имеет два независимых уровня: [изоляция файловой системы](#filesystem-isolation) определяет, какие пути команды в песочнице могут читать и записывать, а [сетевая изоляция](#network-isolation) определяет, к каким доменам они могут обращаться. При отключённом уровне файловой системы команды в песочнице получают неограниченный доступ на чтение и запись к файловой системе хоста, а их исходящий сетевой трафик по-прежнему ограничен разрешёнными доменами. Отключайте этот уровень, когда вы используете песочницу, чтобы контролировать, куда подключаются команды, а не то, что они записывают.

270 377 

271Параметр отключён по умолчанию и применяется на платформах, где работает песочница: macOS, Linux и WSL2. Требуется Claude Code v2.1.216 или позже.378`sandbox.filesystem.disabled` по умолчанию имеет значение `false`. Требуется Claude Code v2.1.216 или новее.

272 379 

273<Warning>380<Warning>

274 С отключённой изоляцией файловой системы и автоматически разрешёнными командами команда в песочнице может писать файлы, которые позже выполняют или читают другие команды, такие как файлы инициализации оболочки, исполняемые файлы на `$PATH` или `~/.claude/settings.json`, и использовать их для расширения собственного доступа при следующем запуске. Установите `filesystem.disabled` в `true` только для рабочих нагрузок, которым вы доверяете не расширять собственный доступ. Блокировка доменов сети с помощью [`allowManagedDomainsOnly`](#keep-developers-from-widening-the-policy) сужает риск, но не устраняет его, поскольку эта блокировка применяется только к командам, работающим внутри песочницы.381 При отключённой изоляции файловой системы и автоматически разрешённых командах команда в песочнице может записывать файлы, которые позже запускают или читают другие команды, например файлы запуска оболочки, исполняемые файлы в `$PATH` или `~/.claude/settings.json`, и использовать их, чтобы расширить собственный доступ при следующем запуске. Задавайте для `filesystem.disabled` значение `true` только для рабочих нагрузок, которым вы доверяете в том, что они не будут расширять собственный доступ. Блокировка сетевых доменов с помощью [`allowManagedDomainsOnly`](#keep-developers-from-widening-the-policy) снижает риск, но не устраняет его, поскольку эта блокировка применяется только к командам, выполняемым внутри песочницы.

275</Warning>382</Warning>

276 383 

277<h4 id="which-settings-can-disable-it">384<h4 id="which-settings-can-disable-it">

278 Какие параметры могут отключить её385 Какие настройки могут её отключить

279</h4>386</h4>

280 387 

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

282 389 

283* Параметры пользователя, управляемые параметры и флаг CLI `--settings` могут установить его. Параметры проекта в `.claude/settings.json` и `.claude/settings.local.json` не могут, поэтому проверенный проект не может отключить изоляцию файловой системы.390* Пользовательские настройки, управляемые настройки и флаг CLI `--settings` могут её задавать. Настройки проекта в `.claude/settings.json` и `.claude/settings.local.json` не могут, поэтому извлечённый проект не может отключить изоляцию файловой системы.

284* Когда управляемые параметры конфигурируют `sandbox.filesystem` вообще или перечисляют любую запись `sandbox.credentials.files` с `"mode": "deny"`, только управляемые параметры могут установить ключ. Это сохраняет ограничения файловой системы, развёрнутые администратором; чтобы ослабить такое развёртывание, установите `"disabled": true` в управляемых параметрах.391* Если управляемые настройки вообще настраивают `sandbox.filesystem` или содержат какую-либо запись `sandbox.credentials.files` с `"mode": "deny"`, задать этот ключ могут только управляемые настройки. Это сохраняет в силе ограничения файловой системы, развёрнутые администратором; чтобы ослабить такое развёртывание, задайте `"disabled": true` в управляемых настройках.

285* Когда установлена [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars), Claude Code игнорирует `filesystem.disabled` из каждого источника, включая управляемые параметры, и сохраняет изоляцию файловой системы включённой.392* Если задана [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars), Claude Code игнорирует `filesystem.disabled` из любого источника, включая управляемые настройки, и оставляет изоляцию файловой системы включённой.

286 393 

287Закрепляет ли управляемая запись `credentials.files` `filesystem.disabled`, блокируя ключ для управляемых параметров, чтобы разработчики не могли отключить изоляцию файловой системы, зависит от режима записи и того, что происходит с записью при запуске песочницы:394[Допустимая](/docs/ru/settings-reference#invalid-credential-entries-in-managed-settings) запись `mask` не закрепляет ключ, даже если Claude Code [переключается для неё на `deny`](#mask-credential-files) при запуске. Путь, который нельзя замаскировать, например каталог учётных данных, укажите в управляемых настройках как явную запись `deny`, которая закрепляет ключ.

288 

289| Управляемая запись | Закрепляет `filesystem.disabled` | Что защищает файл при отключённой изоляции |

290| - | - | - |

291| `"mode": "deny"` | Да | Ничего: блок чтения является частью слоя файловой системы |

292| `"mode": "mask"`, применённый как маска | Нет | Сама маскировка: [копия-дозорный и прокси](#mask-credential-files) на Linux и WSL2, собственные правила чтения песочницы на macOS |

293| `"mode": "mask"`, [вернулся к `deny`](#mask-credential-files) при настройке | Нет | Ничего, как `deny`. Перечислите путь, который не может быть замаскирован, такой как каталог, как явную запись `deny`, которая закрепляет ключ |

294| `"mode": "mask"`, [деградирован к `deny` валидацией](/docs/ru/managed-settings#invalid-entries-in-managed-settings) | Да, как явный `deny` | Ничего, как `deny` |

295 

296Возврат происходит при запуске песочницы, после того как Claude Code уже прочитал параметры, на которых выполняется проверка закрепления, поэтому вернувшаяся запись никогда не закрепляет. Валидация переписывает недействительную запись в `deny` при загрузке параметров, поэтому деградированная запись закрепляет как та, которую вы написали как `deny`.

297 395 

298<h4 id="what-changes-when-filesystem-isolation-is-off">396<h4 id="what-changes-when-filesystem-isolation-is-off">

299 Что изменяется при отключённой изоляции файловой системы397 Что меняется при отключённой изоляции файловой системы

300</h4>398</h4>

301 399 

302Установка `filesystem.disabled` снимает защиту, которую сам слой файловой системы применяет. Защиты, которые применяют другие слои, продолжают применяться:400Задание `filesystem.disabled` снимает защиту, которую обеспечивает сам уровень файловой системы. Защита, которую обеспечивают другие уровни, продолжает действовать:

303 401 

304| Защита | При отключённой изоляции файловой системы |402| Защита | При отключённой изоляции файловой системы |

305| - | - |403| - | - |

306| `filesystem.denyRead` и [`credentials.files`](#protect-credentials) блоки чтения `deny` | Не применяется. Слой файловой системы применяет оба |404| Блокировки чтения `filesystem.denyRead` и `deny` в [`credentials.files`](#protect-credentials) | Не применяются. Оба механизма обеспечивает уровень файловой системы |

307| `credentials.envVars` записи `deny` и `mask` | Применяется. Очистка переменных окружения независима от слоя файловой системы |405| Записи `deny` и `mask` в `credentials.envVars` | Применяются. Очистка переменных окружения не зависит от уровня файловой системы |

308| [`credentials.files` записи `mask`](#mask-credential-files) применённые как маски | Применяется: маскировка независима от слоя файловой системы. Запись, которая [вернулась к `deny`](#mask-credential-files), не применяется, как любая запись `deny` |406| [Записи `mask` в `credentials.files`](#mask-credential-files), применённые как маски | Применяются: маскирование не зависит от уровня файловой системы. Запись, которая [переключилась на `deny`](#mask-credential-files), не применяется, как и любая запись `deny` |

309 407 

310Два других вещи изменяются:408Меняются ещё две вещи:

311 409 

312* Команды в песочнице наследуют `$TMPDIR` вашей оболочки вместо временного каталога для каждого пользователя, потому что каждый временный каталог доступен для записи и Claude Code больше не перенаправляет команды в каталог для каждого пользователя.410* Команды в песочнице наследуют `$TMPDIR` вашей оболочки вместо временного каталога пользователя, потому что все временные каталоги доступны для записи и Claude Code больше не перенаправляет команды во временный каталог пользователя.

313 411 

314 На Linux переменная часто не установлена в родительской оболочке. Руководство инструмента Bash указывает Claude создавать временные каталоги с помощью `mktemp -d` вместо полагания на `$TMPDIR`.412 В Linux эта переменная часто не задана в родительской оболочке. Руководство по инструменту Bash указывает Claude создавать временные каталоги с помощью `mktemp -d`, а не полагаться на `$TMPDIR`.

315* [`autoAllowBashIfSandboxed`](/docs/ru/settings-reference#sandbox-autoallowbashifsandboxed) по-прежнему по умолчанию `true`, поэтому команды в песочнице продолжают работать без подсказок. Установите его в `false`, чтобы получать подсказки для команд в песочнице.413* [`autoAllowBashIfSandboxed`](/docs/ru/settings-reference#sandbox-autoallowbashifsandboxed) по-прежнему по умолчанию имеет значение `true`, поэтому команды в песочнице продолжают выполняться без запросов. Задайте значение `false`, чтобы запрашивать подтверждение для команд в песочнице.

316 414 

317<h3 id="protect-credentials">415<h3 id="protect-credentials">

318 Защита учётных данных416 Защита учётных данных

319</h3>417</h3>

320 418 

321Параметр `sandbox.credentials` объявляет файлы учётных данных и переменные окружения для защиты от команд в песочнице. Каждая запись называет путь файла или переменную окружения и `mode`. Выделенный блок `credentials` сохраняет правила учётных данных сгруппированными вместе и отдельно от общих правил файловой системы.419Настройка `sandbox.credentials` объявляет файлы учётных данных и переменные окружения, которые нужно защитить от команд в песочнице. Каждая запись указывает путь к файлу или переменную окружения и `mode`. Отдельный блок `credentials` позволяет держать правила для учётных данных вместе и отдельно от общих правил файловой системы.

322 420 

323Для записей с `"mode": "deny"` пути файлов запрещены для чтения внутри песочницы, то же ограничение, которое применяет `filesystem.denyRead`, и переменные окружения не установлены перед каждой командой в песочнице. Защита файла является частью слоя файловой системы, поэтому она не применяется, если вы [отключите изоляцию файловой системы](#disable-filesystem-isolation); защита переменной окружения по-прежнему применяется.421Для записей с `"mode": "deny"` чтение путей к файлам внутри песочницы запрещается, это то же ограничение, которое применяет `filesystem.denyRead`, а переменные окружения удаляются перед выполнением каждой команды в песочнице. Защита файлов является частью уровня файловой системы, поэтому она не действует, если вы [отключите изоляцию файловой системы](#disable-filesystem-isolation); защита переменных окружения продолжает действовать.

324 422 

325Пример ниже блокирует чтение файла учётных данных AWS и каталога SSH и удаляет `GITHUB_TOKEN` и `NPM_TOKEN` из окружения команд в песочнице:423Пример ниже блокирует чтение файла учётных данных AWS и каталога SSH и удаляет `GITHUB_TOKEN` и `NPM_TOKEN` из окружения команд в песочнице:

326 424 


342}440}

343```441```

344 442 

345Записи переменных окружения и записи файлов также принимают `"mode": "mask"`, описанные в разделе [Маскировка учётных данных](#mask-credentials).443Записи переменных окружения и записи файлов также принимают `"mode": "mask"`, описанный в разделе [Маскирование учётных данных](#mask-credentials).

346 444 

347Пути файлов следуют тем же [правилам префиксов](/docs/ru/settings-reference#sandbox-path-prefixes), что и параметры `sandbox.filesystem.*`.445Пути к файлам следуют тем же [правилам префиксов](/docs/ru/settings-reference#sandbox-path-prefixes), что и настройки `sandbox.filesystem.*`.

348 446 

349Claude Code объединяет записи `deny` из каждой [области параметров](/docs/ru/settings#settings-precedence), которую загружает сеанс. Запись `deny` только когда-либо сужает доступ, поэтому любая область может добавить одну, но ни одна область не может удалить ту, которую добавила другая область.447Claude Code объединяет записи `deny` из всех [областей действия настроек](/docs/ru/settings#settings-precedence), которые загружает сессия. Запись `deny` только сужает доступ, поэтому любая область действия может её добавить, но никакая область действия не может удалить запись, добавленную другой.

350 448 

351Когда вы [исключаете источник параметров](#configure-sandboxing):449Когда вы [исключаете источник настроек](#configure-sandboxing):

352 450 

353* **Параметры проекта или локальные**: Claude Code не применяет ни одну из их записей `credentials`. Требуется Claude Code v2.1.246 или позже.451* **Настройки проекта или локальные настройки**: Claude Code не применяет ни одну из их записей `credentials`. Требуется Claude Code v2.1.246 или новее.

354* **Параметры пользователя**: Claude Code по-прежнему применяет записи `deny` в `~/.claude/settings.json` и сохраняет свои [записи файла `mask`](#mask-credential-files) как ограничения, но отбрасывает свои [записи переменной окружения `mask`](#mask-environment-variables).452* **Пользовательские настройки**: Claude Code по-прежнему применяет записи `deny` в `~/.claude/settings.json` и сохраняет их [записи `mask` для файлов](#mask-credential-files) как ограничения, которые больше не разрешают прокси подставлять реальное значение, но отбрасывает их [записи `mask` для переменных окружения](#mask-environment-variables).

355 453 

356Встроенного списка отказа учётных данных нет, поэтому ограничены только файлы и переменные, которые вы перечислили.454Встроенного списка запрещённых учётных данных нет, поэтому ограничиваются только файлы и переменные, которые вы перечислили.

357 455 

358`sandbox.credentials` влияет только на команды Bash в песочнице. Чтобы удалить учётные данные из всех подпроцессов независимо от изоляции, установите [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars).456`sandbox.credentials` влияет только на команды Bash в песочнице. Чтобы удалить учётные данные из всех подпроцессов независимо от изоляции в песочнице, задайте [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ru/env-vars).

359 457 

360<h3 id="mask-credentials">458<h3 id="mask-credentials">

361 Маскировка учётных данных459 Маскирование учётных данных

362</h3>460</h3>

363 461 

364Маскировка идёт дальше, чем запись `deny` в разделе [Защита учётных данных](#protect-credentials). Вместо блокировки учётных данных Claude Code показывает командам в песочнице заполнитель, дозорный, и [прокси песочницы](#network-isolation) подставляет реальное значение на исходящих запросах к хостам, которые вы разрешаете. Для файлов подстановка является поведением Linux и WSL2; [macOS блокирует файл вместо этого](#mask-credential-files).462Когда вы маскируете учётные данные, Claude Code показывает командам в песочнице заполнитель, уникальный для сессии, — сигнальное значение, а [прокси песочницы](#network-isolation) подставляет реальное значение в исходящие запросы к разрешённым вами хостам. Запись `deny` из раздела [Защита учётных данных](#protect-credentials) вместо этого блокирует учётные данные. Для файлов в macOS Claude Code [вместо маскирования блокирует файл](#mask-credential-files).

365 463 

366<h4 id="mask-environment-variables">464Для маскирования переменных окружения требуется Claude Code v2.1.199 или новее. Все поля перечислены в справочнике [`sandbox.credentials`](/docs/ru/settings-reference#sandbox-credentials).

367 Маскировка переменных окружения

368</h4>

369 465 

370`"mode": "mask"` защищает учётные данные, сохраняя работающие инструменты, которые аутентифицируются с ними. `deny` полностью удаляет переменную, что также нарушает инструменты, которые её нужны, такие как `gh` или `npm`. Требуется Claude Code v2.1.199 или позже.466Для маскирования необходимо следующее:

371 467 

372С `mask` команда в песочнице видит значение дозорного для каждого сеанса вместо реального. Каждая запись `mask` может перечислять `injectHosts`, хосты, которым разрешено достичь реальное значение. Когда запрос покидает песочницу для одного из них, [прокси песочницы](#network-isolation) заменяет дозорный на реальное значение. Команда и всё, что она регистрирует, никогда не содержат реальные учётные данные, но её запросы по-прежнему аутентифицируются.468* **Завершение TLS**: прокси подставляет реальное значение внутрь содержимого запроса, поэтому ему нужно его видеть. Задайте [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate), чтобы прокси сам завершал TLS. Без этого маскирование не срабатывает, но ничего не раскрывает: команда по-прежнему видит только сигнальное значение, но оно доходит до сервера без изменений, и аутентификация завершается ошибкой. Claude Code сообщает об этой ошибке конфигурации при запуске.

469* **Разрешённое назначение**: каждая запись `mask` может содержать `injectHosts` — хосты, которым разрешено получать реальное значение. Прокси выполняет подстановку только в соединениях, которые допускает [список разрешённых доменов](#network-isolation), поэтому каждый хост из `injectHosts` также должен быть доступен через `network.allowedDomains`. Для записи `mask` без `injectHosts` прокси подставляет реальное значение в запросы ко всем хостам из `network.allowedDomains`.

470* **Доверенная область действия настроек**: маскирование разрешает прокси куда-то отправлять ваши реальные учётные данные, поэтому Claude Code учитывает записи `mask`, `network.tlsTerminate`, [`credentials.allowPlaintextInject`](/docs/ru/settings-reference#sandbox-credentials-allowplaintextinject), `awsPairs` и `sigv4` только из пользовательских настроек, управляемых настроек и флага `--settings`. Он игнорирует их в `.claude/settings.json` или `.claude/settings.local.json` репозитория. Когда ваш администратор передаёт записи `mask`, `network.tlsTerminate` или `credentials.allowPlaintextInject` через управляемые настройки на сервере, они считаются [настройками, требующими подтверждения](/docs/ru/server-managed-settings#security-approval-dialogs).

373 471 

374Прокси подставляет учётные данные внутри содержимого запроса, поэтому он должен их видеть. Установите [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate), чтобы прокси сам завершал TLS.472<h4 id="mask-environment-variables">

375 473 Маскирование переменных окружения

376Без этого маскировка не срабатывает без раскрытия чего-либо: команда по-прежнему видит только дозорный, но дозорный достигает сервера без изменений и аутентификация не срабатывает. Claude Code сообщает об этой неправильной конфигурации при запуске.474</h4>

377 

378Подстановка охватывает заголовки и тела запросов. Запросы, которые аутентифицируются с подписью, полученной из учётных данных, а не самих учётных данных, нуждаются в повторном подписании на прокси; [Повторное подписание запросов AWS](#re-sign-aws-requests) охватывает, как это работает для AWS.

379 475 

380Прокси вводит только на соединениях, которые [список разрешённых доменов](#network-isolation) допускает, поэтому каждое назначение `injectHosts` также должно быть достижимо через `network.allowedDomains`.476Чтобы замаскировать переменную окружения, задайте `"mode": "mask"` в её записи `credentials.envVars`. Команда и всё, что она записывает в лог, никогда не содержат реальных учётных данных, но её запросы по-прежнему проходят аутентификацию. Если та же переменная указана с `deny` в любой области действия, `deny` имеет приоритет.

381 477 

382Пример ниже маскирует два токена. `GH_TOKEN` подставляется только на запросах к `api.github.com`, в то время как `NPM_TOKEN` не имеет `injectHosts` и подставляется на запросах ко всем хостам в `network.allowedDomains`.478Этот пример маскирует два токена. `GH_TOKEN` подставляется только в запросы к `api.github.com`, а у `NPM_TOKEN` нет `injectHosts`, и он подставляется в запросы ко всем хостам из `network.allowedDomains`:

383 479 

384```json theme={null}480```json theme={null}

385{481{


399}495}

400```496```

401 497 

402<span id="ipv6-destinations-in-injecthosts" />Напишите назначение IPv6 по-разному в двух списках, потому что каждый список имеет свой собственный сопоставитель:498По умолчанию маскирование заменяет всё значение. Для значения со структурой, например строки подключения `DATABASE_URL` или JWT, используйте [поля `extract`, `decode`, `maskClaims` и `onExtractNoMatch`](/docs/ru/settings-reference#sandbox-credentials-envvars), чтобы инструменты, которые разбирают значение, продолжали работать.

403 

404* **`network.allowedDomains`**: [форма в скобках, которую используют списки доменов](#ipv6-addresses-in-domain-lists), такая как `"[::1]"`. Прокси проверяет этот список, чтобы допустить соединение.

405* **`injectHosts`**: голый адрес в его канонической сжатой форме, такой как `"::1"` или `"2001:db8::1"`. Прокси сопоставляет каждую запись с голым адресом назначения соединения, игнорируя порты, поэтому скобочная, зональная или иначе сжатая орфография никогда не совпадает и прокси никогда не вводит учётные данные там.

406 

407`claude doctor` помечает записи `injectHosts`, которые никогда не могут совпадать, предупреждением `Sandbox credential injectHosts entries can never match their destination`. Эта проверка требует Claude Code v2.1.229 или позже.

408 

409В отличие от `deny`, маскировка уполномочивает прокси отправлять ваши реальные учётные данные на перечисленные хосты, поэтому Claude Code соблюдает её только из параметров, которые вы или ваш администратор контролируете: параметры пользователя, управляемые параметры и флаг CLI `--settings`. Claude Code игнорирует записи `mask` в `.claude/settings.json` или `.claude/settings.local.json` репозитория. В этих файлах он также игнорирует `network.tlsTerminate` и [`credentials.allowPlaintextInject`](/docs/ru/settings-reference#sandbox-credentials-allowplaintextinject), параметр, который позволяет прокси вводить учётные данные в незашифрованные запросы. Если вы [исключаете параметры пользователя](#configure-sandboxing), Claude Code отбрасывает записи переменной окружения `mask` в `~/.claude/settings.json` тоже.

410 499 

411Когда ваш администратор доставляет записи `mask`, `network.tlsTerminate` или `credentials.allowPlaintextInject` через управляемые параметры сервера, они считаются [параметрами, которые нуждаются в одобрении](/docs/ru/server-managed-settings#security-approval-dialogs).500<span id="ipv6-destinations-in-injecthosts" />Для IPv6-адреса назначения записывайте адрес в двух списках по-разному:

412 501 

413Когда одна и та же переменная указана с `deny` в любой области, `deny` имеет приоритет.502* **`network.allowedDomains`**: форма в квадратных скобках, например `"[::1]"`

503* **`injectHosts`**: адрес без скобок в канонической сокращённой форме, например `"::1"`

414 504 

415Маскировка заменяет всё значение переменной по умолчанию, что подходит для голого токена. Дополнительные поля записи, которые требуют Claude Code v2.1.224 или позже, обрабатывают значения со структурой:505Прокси сопоставляет каждую запись `injectHosts` с адресом назначения соединения без скобок, игнорируя порты, поэтому запись в квадратных скобках, с идентификатором зоны или в иной сокращённой форме никогда не совпадёт. `claude doctor` помечает записи, которые никогда не могут совпасть, предупреждением `Sandbox credential injectHosts entries can never match their destination`. Эта проверка требует Claude Code v2.1.229 или новее.

416 

417* `extract`: регулярное выражение, которое Claude Code применяет по всему значению, заменяя только текст, захваченный группой 1 каждого совпадения, поэтому инструмент, который анализирует значение, такой как строка подключения `DATABASE_URL`, по-прежнему работает внутри песочницы. Шаблон должен содержать по крайней мере одну захватывающую группу.

418* `onExtractNoMatch` контролирует, что происходит, когда шаблон ничего не совпадает:

419 * `warn`, по умолчанию, предупреждает и передаёт переменную без маскировки

420 * `deny` не устанавливает переменную внутри песочницы

421 * `error` останавливает настройку песочницы, пока вы не исправите конфигурацию

422* `decode: "jwt"`: для переменной, содержащей JSON Web Token (JWT). Claude Code проверяет, что значение является JWT, и заменяет его структурно действительным поддельным токеном, поэтому код внутри песочницы, который декодирует токен, продолжает работать. Добавьте `maskClaims` для перечисления утверждений полезной нагрузки верхнего уровня для маскировки отдельно вместо замены всего токена; другие утверждения остаются читаемыми. Когда значение не проверяется как JWT или ни одно перечисленное утверждение не совпадает, Claude Code передаёт переменную без маскировки с предупреждением. `decode` не может быть объединён с `extract`.

423 

424Полный список полей см. в [строках `credentials.envVars[]` в справке параметров](/docs/ru/settings-reference#sandbox-settings).

425 506 

426<h4 id="re-sign-aws-requests">507<h4 id="re-sign-aws-requests">

427 Повторное подписание запросов AWS508 Повторная подпись запросов AWS

428</h4>509</h4>

429 510 

430Запросы AWS содержат подписи SigV4 по содержимому запроса, поэтому маскируйте `AWS_ACCESS_KEY_ID` и `AWS_SECRET_ACCESS_KEY` вместе. Прокси обнаруживает запрос SigV4 по дозорному ключа доступа и повторно подписывает его после подстановки реальных значений. Маскировка только секрета оставляет запросы подписанными заполнителем, который прокси не может обнаружить, поэтому они не срабатывают в AWS; Claude Code предупреждает об этом случае при запуске, но не когда маскирован только ID ключа доступа. Обнаруженный запрос, который прокси не может повторно подписать, такой как запрос без заголовка `x-amz-date`, не срабатывает с ошибкой прокси вместо достижения сервера с нарушенной подписью.511Запросы AWS содержат подписи SigV4, вычисленные по содержимому запроса, поэтому маскируйте `AWS_ACCESS_KEY_ID` и `AWS_SECRET_ACCESS_KEY` вместе. Прокси распознаёт запрос SigV4 по [сигнальному значению](#mask-credentials) ключа доступа и повторно подписывает запрос реальными значениями, для чего требуется Claude Code v2.1.221 или новее. Если замаскирован только секретный ключ, запросы подписываются заполнителем, который прокси не может распознать, поэтому они отклоняются на стороне AWS.

431 

432Claude Code связывает обычные переменные `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` и `AWS_SESSION_TOKEN` в одно учётное данные автоматически, когда вы маскируете их целые значения. Если ваши учётные данные AWS находятся в переменных с другими именами, сгруппируйте их сами с помощью [`credentials.awsPairs`](/docs/ru/settings-reference#sandbox-credentials-awspairs), что требует Claude Code v2.1.224 или позже. Этот пример добавляет спаривание к конфигурации, которая уже маскирует `MY_KEY_ID`, `MY_SECRET_KEY` и `MY_SESSION_TOKEN` целое значение, как в [конфигурации маскировки выше](#mask-environment-variables):

433 

434```json theme={null}

435{

436 "sandbox": {

437 "credentials": {

438 "awsPairs": [

439 {

440 "accessKeyIdVar": "MY_KEY_ID",

441 "secretAccessKeyVar": "MY_SECRET_KEY",

442 "sessionTokenVar": "MY_SESSION_TOKEN"

443 }

444 ]

445 }

446 }

447}

448```

449 

450Каждая запись следует этим правилам:

451 

452* `accessKeyIdVar` и `secretAccessKeyVar` называют записи `envVars` с маскировкой, содержащие ID ключа доступа и секретный ключ. Дополнительный `sessionTokenVar` называет запись, содержащую токен сеанса для временных учётных данных; когда установлен, прокси отправляет реальный токен как `x-amz-security-token` на повторно подписанных запросах.

453* Каждая названная переменная должна быть записью `mask`, которая маскирует своё целое значение, без `extract` или `decode`.

454* Прокси повторно подписывает запросы на хостах, перечисленных в записи ID ключа доступа `injectHosts`.

455* Именование любой из обычных переменных в паре заменяет автоматическое спаривание.

456 512 

457Как записи `mask`, `awsPairs` соблюдается только из параметров пользователя, управляемых параметров и флага CLI `--settings`.513Claude Code автоматически связывает стандартные переменные `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` и `AWS_SESSION_TOKEN` в один набор учётных данных, если вы маскируете их значения целиком. Если ваши учётные данные AWS хранятся в переменных с другими именами, сгруппируйте их с помощью [`credentials.awsPairs`](/docs/ru/settings-reference#sandbox-credentials-awspairs), для чего требуется Claude Code v2.1.224 или новее.

458 514 

459Три формы запросов AWS содержат подписи, которые прокси не может пересчитать. Когда такой запрос подписан дозорным маскированной пары, прокси не срабатывает вместо пересылки нарушенной подписи; запросы, подписанные немаскированными учётными данными, никогда не затрагиваются. Параметр [`credentials.sigv4`](/docs/ru/settings-reference#sandbox-credentials-sigv4), который требует Claude Code v2.1.224 или позже, ослабляет это для каждой формы: установка ключа формы в `passthrough` пересылает запрос с его подписью, полученной из дозорного, поэтому вызывающий инструмент получает собственный ответ отказа AWS вместо ошибки прокси. Как `awsPairs`, `sigv4` соблюдается только из параметров пользователя, управляемых параметров и флага CLI `--settings`.515Потоковые загрузки, предварительно подписанные URL и запросы SigV4A содержат подписи, которые прокси не может пересчитать. Если такой запрос подписан заполнителем замаскированной пары, прокси завершает его ошибкой, а не пересылает с неверной подписью. Запросы, подписанные незамаскированными учётными данными, это не затрагивает. Чтобы вместо этого пересылать одну из этих форм запросов, используйте [`credentials.sigv4`](/docs/ru/settings-reference#sandbox-credentials-sigv4), для чего требуется Claude Code v2.1.224 или новее. AWS всё равно отклоняет запрос, поэтому вызывающий инструмент получает собственный ответ AWS об отказе вместо ошибки прокси.

460 

461| Форма запроса | Ключ `sigv4` | Почему прокси не может повторно подписать её |

462| :- | :- | :- |

463| потоковые загрузки aws-chunked | `streaming` | Подписи для каждого блока связаны с подписью семени, поэтому повторное подписание потребовало бы переписания тела |

464| Предподписанные URL | `presigned` | Подпись находится в самом URL, без заголовка `Authorization` |

465| Асимметричные подписи SigV4A | `sigv4a` | Нет общего ключа HMAC для пересчёта |

466 516 

467<h4 id="mask-credential-files">517<h4 id="mask-credential-files">

468 Маскировка файлов учётных данных518 Маскирование файлов учётных данных

469</h4>519</h4>

470 520 

471Записи файлов также принимают `"mode": "mask"`, что требует Claude Code v2.1.221 или позже. То, что видит команда в песочнице, зависит от платформы:521Чтобы замаскировать файл учётных данных, задайте `"mode": "mask"` в его записи `credentials.files`. Для маскирования файлов требуется Claude Code v2.1.221 или новее. То, что видит команда в песочнице, зависит от платформы:

472 522 

473* **Linux и WSL2**: команды в песочнице читают копию-дозорный файла, заменитель, чей секрет заменён значением заполнителя, и [прокси песочницы](#network-isolation) подставляет реальное значение на исходящем трафике.523* **Linux и WSL2**: команды в песочнице читают копию файла с [сигнальным значением](#mask-credentials), а прокси подставляет реальное значение в исходящие запросы.

474* **macOS**: команды в песочнице не могут читать перечисленный файл вообще. Claude Code не строит копию-дозорный и не подставляет ничего на исходящем трафике, поэтому инструменты, которые аутентифицируются с файлом, не работают внутри песочницы, тот же эффект, что и `deny`. В отличие от записи `deny`, блок чтения держится даже когда вы [отключаете изоляцию файловой системы](#disable-filesystem-isolation).524* **macOS**: команды в песочнице вообще не могут прочитать файл. Claude Code не создаёт копию с сигнальным значением, поэтому инструменты, которые проходят аутентификацию с помощью этого файла, не работают внутри песочницы — эффект тот же, что и у `deny`. Блокировка чтения сохраняется, даже если вы [отключите изоляцию файловой системы](#disable-filesystem-isolation).

475 525 

476На каждой платформе Claude Code применяет требование [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate) и `injectHosts` так же, как для [маскированных переменных окружения](#mask-environment-variables), и игнорирует параметры репозитория так же. Если вы [исключаете параметры пользователя](#configure-sandboxing), Claude Code сохраняет записи файла `mask` в `~/.claude/settings.json` как ограничения, но записи больше не уполномочивают прокси подставлять реальное значение.526Этот пример маскирует токен GitHub, хранящийся в `~/.config/gh/hosts.yml`. Шаблон `extract` отмечает, какая часть файла является секретом, поэтому в Linux и WSL2 `gh` по-прежнему разбирает остальную часть своей конфигурации:

477 

478Пример ниже маскирует токен GitHub, хранящийся в `~/.config/gh/hosts.yml`; шаблон `extract`, описанный ниже, говорит Claude Code, какая часть файла является секретом. На Linux и WSL2 команды в песочнице, которые читают файл, получают дозорный вместо токена, и прокси подставляет реальный токен на запросах к `api.github.com`:

479 527 

480```json theme={null}528```json theme={null}

481{529{


499}547}

500```548```

501 549 

502Чтобы подтвердить, что маска активна, попросите Claude запустить `cat ~/.config/gh/hosts.yml` в команде в песочнице: на Linux и WSL2 вывод показывает значение дозорного вместо токена, а на macOS чтение не срабатывает вместо этого.550Чтобы убедиться, что маска активна, попросите Claude выполнить `cat ~/.config/gh/hosts.yml` в команде в песочнице. В Linux и WSL2 вывод покажет сигнальное значение вместо токена, а в macOS чтение завершится ошибкой.

503 

504На Linux и WSL2 шаблон `extract` — это то, что сохраняет остальную часть `hosts.yml` читаемой. Claude Code применяет регулярное выражение по всему файлу и заменяет только текст, захваченный группой 1 каждого совпадения, поэтому `gh` по-прежнему анализирует свою конфигурацию и только токен является заполнителем. Используйте `extract` для любого структурированного файла, который инструменты анализируют, такого как `.netrc`, JSON или YAML; шаблон должен содержать по крайней мере одну захватывающую группу. Без `extract` Claude Code заменяет всё содержимое файла одним значением дозорного, что подходит для файла, который содержит один голый секрет и ничего больше.

505 

506Для файла, который содержит JSON Web Token (JWT), установите `decode: "jwt"` вместо или вместе с `extract`. `decode` требует Claude Code v2.1.224 или позже. Claude Code находит кандидатов JWT с встроенным шаблоном или с вашим шаблоном `extract`, когда установлен, проверяет каждого кандидата как JWT и заменяет его структурно действительным поддельным токеном, поэтому код, который декодирует токен внутри песочницы, продолжает работать. Добавьте `maskClaims` для маскировки только названных утверждений полезной нагрузки верхнего уровня внутри каждого проверенного токена и оставьте другие утверждения читаемыми. Когда ни один кандидат не проверяется или ни одно названное утверждение не совпадает, поле `onExtractNoMatch` ниже управляет результатом, как оно делает для шаблона, который ничего не совпадает.

507 

508Два дополнительных поля уточняют, как ведёт себя сопоставление. Оба применяются только когда `mode` — это `mask` и `extract` или `decode` установлены. На macOS Claude Code применяет записи `mask` как `deny` перед запуском шаблона, когда изоляция файловой системы включена, поэтому эти поля и результаты отсутствия совпадения ниже вступают в силу там только когда [изоляция файловой системы отключена](#disable-filesystem-isolation):

509 551 

510* `onExtractNoMatch` контролирует, что происходит, когда сопоставление находит ничего для маскировки в файле:552Без `extract` или `decode` Claude Code заменяет весь файл одним сигнальным значением, что подходит для файла, содержащего только один секрет. Используйте [поля `extract`, `decode`, `maskClaims`, `onExtractNoMatch` и `maskDuplicates`](/docs/ru/settings-reference#sandbox-credentials-files), чтобы управлять частичным маскированием и тем, что происходит, если шаблон ничего не находит.

511 553 

512 * `warn`, по умолчанию, предупреждает и пропускает запись, поэтому команды в песочнице могут читать реальный файл без маскировки. По умолчанию подходит для учётных данных, которые могут быть законно отсутствующими; если секрет может быть присутствующим, но шаблон может его пропустить, используйте `deny`554<Warning>

513 * `deny` делает файл нечитаемым вместо этого555 Если сопоставление не находит ничего для маскирования, значение `onExtractNoMatch` по умолчанию, `warn`, пропускает запись, поэтому команды в песочнице могут прочитать реальный файл без маскирования. В macOS Claude Code применяет записи `mask` как `deny` до выполнения шаблона всякий раз, когда изоляция файловой системы включена, поэтому результаты при отсутствии совпадений действуют там только при [отключённой изоляции файловой системы](#disable-filesystem-isolation). Значение по умолчанию подходит для учётных данных, которые могут обоснованно отсутствовать. Если секрет может присутствовать, но шаблон может его пропустить, используйте [`deny`](/docs/ru/settings-reference#mask-fields-for-files).

514 * `error` останавливает настройку песочницы, пока вы не исправите конфигурацию556</Warning>

515 

516 Claude Code обрабатывает `deny` как `error` всякий раз, когда блок чтения не будет применён: когда вы [отключаете изоляцию файловой системы](#disable-filesystem-isolation), и когда запись `filesystem.allowRead` из любого источника параметров повторно открывает путь файла.

517* `maskDuplicates` также заменяет дословные копии каждого маскированного значения учётных данных, захвата `extract` или проверенного токена `decode`, найденные вне совпадённых диапазонов, для секрета, повторённого где сопоставление не достигает. Он совпадает с сырыми подстроками, поэтому короткое или обычное значение было бы заменено везде, где оно появляется; зарезервируйте его для длинных, высокоэнтропийных секретов. По умолчанию: false.

518 557 

519`mask` применяется к одному файлу, поэтому перечислите каждый файл учётных данных отдельно. Claude Code возвращается к `deny` для записи `mask`, которую он не может безопасно маскировать: путь каталога, шаблон glob, файл больше 8 МиБ или файл, который не является текстом UTF-8. Напишите каталоги как явные записи `deny` вместо этого; таблица в разделе [Какие параметры могут отключить её](#which-settings-can-disable-it) охватывает, закрепляет ли каждая форма `filesystem.disabled` и как она ведёт себя с отключённой изоляцией файловой системы.558`mask` применяется к одному файлу, поэтому перечисляйте каждый файл учётных данных по отдельности. Claude Code переключается на `deny` для записи `mask`, которую не может безопасно замаскировать: путь к каталогу, glob-шаблон, файл размером больше 8 МиБ или файл, не являющийся текстом в UTF-8.

520 559 

521<h2 id="how-sandboxing-works">560<h2 id="how-sandboxing-works">

522 Как работает sandboxing561 Как работает изоляция в песочнице

523</h2>562</h2>

524 563 

525<h3 id="filesystem-isolation">564<h3 id="filesystem-isolation">

526 Изоляция файловой системы565 Изоляция файловой системы

527</h3>566</h3>

528 567 

529Изолированный инструмент Bash ограничивает доступ к файловой системе определёнными каталогами:568Инструмент Bash в песочнице ограничивает доступ к файловой системе определёнными каталогами:

530 569 

531* **Поведение записи по умолчанию**: доступ на чтение и запись к текущему рабочему каталогу и его подкаталогам, любым каталогам, которые вы добавили с помощью `--add-dir`, `/add-dir` или [`permissions.additionalDirectories`](/docs/ru/settings-reference#permissions-additionaldirectories), плюс временный каталог сеанса, на который указывает `$TMPDIR`570* **Поведение записи по умолчанию**: доступ на чтение и запись к текущему рабочему каталогу и его подкаталогам, ко всем каталогам, добавленным через `--add-dir`, `/add-dir` или [`permissions.additionalDirectories`](/docs/ru/settings-reference#permissions-additionaldirectories), а также к пользовательскому временному каталогу, на который указывает `$TMPDIR`

532* **Поведение чтения по умолчанию**: доступ на чтение ко всему компьютеру, кроме определённых запрещённых каталогов. Обратите внимание, что эта политика по умолчанию всё ещё разрешает чтение файлов учётных данных, таких как `~/.aws/credentials` и `~/.ssh/`. Используйте [`sandbox.credentials`](#protect-credentials) для блокировки чтения этих файлов и отмены установки переменных окружения с секретами, или добавьте пути в `denyRead`.571* **Поведение чтения по умолчанию**: доступ на чтение ко всему компьютеру, за исключением некоторых запрещённых каталогов. Это поведение по умолчанию всё равно позволяет читать файлы с учётными данными, поэтому [защитите учётные данные](#protect-credentials), которые команды не должны читать.

533* **Блокировка чтения**: с включённым [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) изолированные команды также теряют доступ на чтение к вашему домашнему каталогу и другим каталогам, которые содержат файлы пользователя, кроме путей, которые [Sandboxed commands under the block](/docs/ru/settings-reference#sandboxed-commands-under-the-block) перечисляет. Этот раздел также указывает, когда эта часть блокировки не применяется.572* **Блокировка чтения**: при включённом [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ru/settings-reference#permissions-blockreadsoutsideworkingdirectories) команды в песочнице также теряют доступ на чтение к вашему домашнему каталогу и другим каталогам с пользовательскими файлами, за исключением путей, перечисленных в разделе [Команды в песочнице при блокировке](/docs/ru/settings-reference#sandboxed-commands-under-the-block). В этом же разделе указано, когда эта часть блокировки не применяется.

534* **Заблокированный доступ**: невозможно изменять файлы вне текущего рабочего каталога, добавленных каталогов и временного каталога сеанса без явного разрешения, включая файлы конфигурации оболочки, такие как `~/.bashrc`, и системные двоичные файлы в `/bin/`573* **Git worktree**: когда рабочий каталог является [связанным git worktree](/docs/ru/worktrees), песочница также разрешает запись в общий каталог `.git` основного репозитория, чтобы такие команды, как `git commit`, могли обновлять ссылки и индекс. Запись в `hooks/` и `config` внутри этого каталога по-прежнему запрещена.

535* **Git worktrees**: когда рабочий каталог является [связанным git worktree](/docs/ru/worktrees), sandbox также разрешает запись в общий каталог `.git` основного репозитория, чтобы команды, такие как `git commit`, могли обновлять ссылки и индекс. Запись в `hooks/` и `config` внутри этого каталога остаётся запрещённой.

536* **Настраиваемо**: определите пользовательские разрешённые и запрещённые пути через параметры

537 574 

538Чтобы полностью пропустить изоляцию файловой системы, сохраняя при этом изоляцию сети, установите [`sandbox.filesystem.disabled`](#disable-filesystem-isolation).575Чтобы полностью отключить изоляцию файловой системы, сохранив сетевую изоляцию, задайте [`sandbox.filesystem.disabled`](#disable-filesystem-isolation).

539 576 

540<h3 id="protected-paths">577<h3 id="protected-paths">

541 Защищённые пути578 Защищённые пути

542</h3>579</h3>

543 580 

544Внутри каталогов, в которые изолированные команды могут записывать данные, sandbox всё ещё запрещает запись в файлы, из которых Claude Code загружает конфигурацию и код. Команда, которая могла бы редактировать эти файлы, могла бы предоставить себе разрешения или добавить hook или MCP сервер, который Claude Code запускает вне sandbox. Система разрешений имеет свои собственные [защищённые пути](/docs/ru/permission-modes#protected-paths), которые контролируют, что Claude Code одобряет перед запуском инструмента; список sandbox применяется к команде, которая уже запущена. Он охватывает четыре группы путей:581Внутри каталогов, в которые могут записывать команды в песочнице, песочница всё равно запрещает запись в файлы, из которых Claude Code загружает конфигурацию и код. Команда, способная редактировать эти файлы, могла бы выдать себе разрешения или добавить хук или MCP-сервер, который Claude Code запускает вне песочницы. У системы разрешений есть собственные [защищённые пути](/docs/ru/permission-modes#protected-paths), которые определяют, что Claude Code одобряет до запуска инструмента; список песочницы применяется к уже запущенной команде. Он охватывает четыре группы путей:

545 582 

546* **В вашем рабочем каталоге и каталогах выше него**: файлы параметров `.claude`, каталоги `.claude/skills`, `.claude/agents`, `.claude/commands` и `.claude/hooks`, `.mcp.json`, а также файлы, которые Claude Code запускает самостоятельно, такие как `.claude/workflows` и `.claude/scheduled_tasks.json`583* **В рабочем каталоге и каталогах выше него**: файлы настроек `.claude`, каталоги `.claude/skills`, `.claude/agents`, `.claude/commands` и `.claude/hooks`, `.mcp.json`, а также файлы, которые Claude Code запускает самостоятельно, например `.claude/workflows` и `.claude/scheduled_tasks.json`

547* **Только в вашем рабочем каталоге**: файлы запуска оболочки, такие как `.bashrc` и `.zshrc`, `.gitconfig`, каталоги `.vscode` и `.idea`, а также `hooks` и `config` внутри `.git`584* **Только в рабочем каталоге**: файлы запуска оболочки, такие как `.bashrc` и `.zshrc`, `.gitconfig`, каталоги `.vscode` и `.idea`, а также `hooks` и `config` внутри `.git`

548* **Файлы, которые превратили бы ваш рабочий каталог в голый git репозиторий**: `HEAD`, `objects` и `refs` на верхнем уровне, плюс `config` и `hooks` там, когда `HEAD` находится рядом с ними. Файл с именем `config` запрещён даже без `HEAD`. На Linux и WSL2 sandbox удаляет файл `HEAD` верхнего уровня или каталог `objects` или `refs`, который появляется во время выполнения изолированной команды585* **Файлы, которые превратили бы рабочий каталог в bare-репозиторий git**: `HEAD`, `objects` и `refs` на верхнем уровне, а также существующие там записи `config` и `hooks`, когда рядом с ними находится `HEAD`. Файл с именем `config` запрещён даже при отсутствии `HEAD`. В Linux и WSL2 песочница удаляет файл `HEAD` или каталог `objects` или `refs` верхнего уровня, появившийся во время выполнения команды в песочнице

549* **В `~/.claude` или в каталоге, на который указывает `CLAUDE_CONFIG_DIR`**: большая часть его содержимого, плюс `~/.claude.json` и хранилище учётных данных `.credentials.json`586* **В `~/.claude` или каталоге, на который указывает `CLAUDE_CONFIG_DIR`**: большая часть его содержимого, а также `~/.claude.json` и хранилище учётных данных `.credentials.json`

550 587 

551Если симлинк появляется в пути защищённого файла параметров во время сеанса, sandbox также запрещает запись в файл, на который он указывает, начиная со следующей команды.588Если во время сессии по пути защищённого файла настроек появляется символическая ссылка, песочница, начиная со следующей команды, также запрещает запись в файл, на который она указывает.

552 589 

553Нет способа исключить один из этих путей: запись `allowWrite` или правило разрешения `Edit`, которое охватывает путь, не снимает защиту. Единственный способ отключить защиту — это [`filesystem.disabled`](#disable-filesystem-isolation), который отключает изоляцию файловой системы для каждого пути. Чтобы увидеть большинство этих путей, разрешённых для вашей машины, запустите `/sandbox` и откройте вкладку **Config**, которая перечисляет их в разделе **Denied within allowed**, смешанные с вашими собственными записями `denyWrite`.590Исключить какой-либо из этих путей невозможно: запись `allowWrite` или разрешающее правило `Edit`, охватывающее путь, не снимает защиту. Единственный способ отключить защиту — [`filesystem.disabled`](#disable-filesystem-isolation), который отключает изоляцию файловой системы для всех путей. Чтобы увидеть большинство этих путей в том виде, в каком они разрешаются на вашей машине, выполните `/sandbox` и откройте вкладку **Config**, где они перечислены в разделе **Denied within allowed** вместе с вашими собственными записями `denyWrite`.

554 591 

555Если `git merge` или `git checkout` не удаётся с ошибкой `unable to unlink old` на одном из этих путей, см. [Troubleshooting](#troubleshooting).592Если `git merge` или `git checkout` завершается ошибкой `unable to unlink old` на одном из этих путей, см. раздел [Команда git завершается ошибкой `unable to unlink old`](#a-git-command-fails-with-unable-to-unlink-old).

556 593 

557<h3 id="network-isolation">594<h3 id="network-isolation">

558 Сетевая изоляция595 Сетевая изоляция

559</h3>596</h3>

560 597 

561Доступ в сеть контролируется через прокси-сервер, работающий вне sandbox:598У команды в песочнице нет прямого доступа к сети:

562 599 

563* **Ограничения домена**: Claude Code не предварительно разрешает никакие домены по умолчанию. Первый раз, когда команде требуется новый домен, Claude Code запрашивает одобрение; в [режиме автоматизации](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) Claude вместо этого называет хосты, которые требуются команде, на самой команде, согласно [Per-command allowed domains](#per-command-allowed-domains-in-auto-mode).600* **Linux и WSL2**: команда выполняется в отдельном сетевом пространстве имён, не подключённом к вашей сети

564* **Варианты одобрения**: если вы выберете «Да» при запросе, Claude Code разрешит хост для остальной части текущего сеанса и больше не будет запрашивать подтверждение для более поздних подключений к тому же хосту. Если вы выберете «Да, и больше не спрашивать», Claude Code сохранит правило разрешения `WebFetch(domain:...)` в ваши [локальные параметры](/docs/ru/permissions#permission-system), чтобы хост оставался разрешённым в будущих сеансах.601* **macOS**: фреймворк песочницы Seatbelt по умолчанию блокирует все подключения, кроме подключения к прокси песочницы

565* **Предварительно разрешённые домены**: предварительно разрешите домены с помощью [`allowedDomains`](/docs/ru/settings-reference#sandbox-network-alloweddomains), чтобы полностью избежать запроса. Claude Code также предварительно разрешает домены из правил разрешения `WebFetch(domain:...)`, как описано в [Permission rules](#permission-rules).

566* **Строгий список разрешений**: если вы установите [`strictAllowlist`](/docs/ru/settings-reference#sandbox-network-strictallowlist) в значение `true` в пользовательских, управляемых или CLI параметрах `--settings`, Claude Code запретит изолированным командам доступ к любому хосту вне списка разрешений вместо запроса. Список разрешений — это тот же, против которого sandbox иначе запрашивает: `allowedDomains` плюс домены из правил разрешения `WebFetch(domain:...)`, или только записи управляемых параметров, когда установлен `allowManagedDomainsOnly`. Claude Code применяет это только для изолированных команд; встроенные инструменты, такие как `WebFetch`, всё ещё следуют своим [правилам разрешения](#permission-rules). Установка этого в `.claude/settings.json` или `.claude/settings.local.json` репозитория не имеет эффекта. Требуется Claude Code версии 2.1.219 или позже.

567* **Управляемая блокировка**: если [`allowManagedDomainsOnly`](/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly) установлен в управляемых параметрах, неразрешённые домены автоматически блокируются вместо запроса, и только `allowedDomains` и правила разрешения `WebFetch(domain:...)` из управляемых параметров учитываются.

568* **Корпоративный прокси**: когда ваша сеть требует, чтобы исходящий трафик проходил через корпоративный прокси, установите `HTTPS_PROXY`, `HTTP_PROXY` и `NO_PROXY` как описано в [proxy configuration](/docs/ru/network-config#proxy-configuration), в блоке `env` ваших параметров, чтобы [фоновые агенты](/docs/ru/network-config#set-network-variables-in-settings-not-the-shell) их получили, или в окружении, из которого вы запускаете Claude Code. Claude Code применяет список разрешений домена и затем туннелирует разрешённые подключения через этот вышестоящий прокси.

569* **Поддержка пользовательского прокси**: продвинутые пользователи могут реализовать пользовательские правила для исходящего трафика

570* **Полное покрытие**: ограничения применяются ко всем скриптам, программам и подпроцессам, порожденным командами

571 602 

572В правиле `WebFetch(domain:...)` sandbox поддерживает две формы подстановочных символов: ведущий `*.`, такой как `*.example.com`, и простой `*`. Простая форма `*` требует Claude Code версии 2.1.186 или позже. Подстановочный символ в любой другой позиции, такой как `WebFetch(domain:example.*)`, всё ещё соответствует выборкам, но не влияет на изолированные команды.603Claude Code запускает прокси песочницы на вашей машине вне песочницы и направляет к нему команды с помощью `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY` и связанных переменных окружения. Прокси проверяет имя хоста каждого подключения по вашим разрешённым и запрещённым доменам.

604 

605То, к чему может подключиться инструмент, зависит от того, использует ли он прокси:

606 

607* **Инструменты, читающие переменные прокси**: `curl`, `npm`, `git` по HTTPS и аналогичные инструменты подключаются, как только их хост разрешён. Запись `allowedDomains` без порта разрешает все порты на этом хосте

608* **Инструменты, игнорирующие переменные прокси**: обычный `ssh`, большинство драйверов баз данных и аналогичные инструменты не могут подключиться даже к разрешённому хосту. См. [Клиент базы данных или другой не-HTTP инструмент не может подключиться к разрешённому хосту](#a-database-client-or-other-non-http-tool-fails-to-reach-an-allowed-host)

609* **Всё, что не является TCP**: UDP, HTTP/3 поверх QUIC и инструменты ICMP, такие как `ping`, не могут выйти за пределы песочницы

610 

611Следующие настройки и поведение определяют, какие хосты разрешает прокси:

612 

613* **Ограничения доменов**: изначально список разрешённых доменов пуст. В разделе [Хосты вне списка разрешённых доменов](#hosts-outside-your-allowed-domains) описано, что происходит, когда команде впервые нужен новый домен.

614* **Варианты подтверждения**: если при запросе вы выберете Yes, Claude Code разрешит хост до конца текущей сессии. Если вы выберете "Yes, and don't ask again", Claude Code сохранит разрешающее правило `WebFetch(domain:...)` в ваших [локальных настройках](/docs/ru/permissions#permission-system), и хост останется разрешённым в будущих сессиях. Пока песочница [обязательна по требованию администратора](#repository-settings-under-an-admin-required-sandbox), Claude Code сохраняет правило в ваших пользовательских настройках, где оно применяется во всех проектах.

615* **Заранее разрешённые домены**: заранее разрешите домены с помощью [`allowedDomains`](/docs/ru/settings-reference#sandbox-network-alloweddomains), чтобы полностью избежать запроса. Claude Code также заранее разрешает домены из разрешающих правил `WebFetch(domain:...)`, как описано в разделе [Правила разрешений](#permission-rules).

616* **Строгий список разрешённых доменов**: если вы зададите [`strictAllowlist`](/docs/ru/settings-reference#sandbox-network-strictallowlist) значение `true` в пользовательских, управляемых настройках или настройках CLI `--settings`, Claude Code будет запрещать командам в песочнице доступ к любому хосту вне списка разрешённых вместо запроса. Список разрешённых состоит из `allowedDomains` и доменов из разрешающих правил `WebFetch(domain:...)` либо только из записей управляемых настроек, если задан `allowManagedDomainsOnly`. Записи репозитория описаны в разделе [Блокировки, действующие без обязательной песочницы](#locks-that-apply-without-an-admin-required-sandbox). Claude Code применяет это только к командам в песочнице; внутрипроцессные инструменты, такие как `WebFetch`, по-прежнему следуют своим [правилам разрешений](#permission-rules). Задание этой настройки в `.claude/settings.json` или `.claude/settings.local.json` репозитория ни на что не влияет. Требуется Claude Code v2.1.219 или новее.

617* **Управляемая блокировка**: если в управляемых настройках задан [`allowManagedDomainsOnly`](/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly), неразрешённые домены блокируются автоматически без запроса, и учитываются только `allowedDomains` и разрешающие правила `WebFetch(domain:...)` из управляемых настроек.

618* **Корпоративный прокси**: если ваша сеть требует, чтобы исходящий трафик проходил через корпоративный прокси, задайте `HTTPS_PROXY`, `HTTP_PROXY` и `NO_PROXY`, как описано в разделе [Конфигурация прокси](/docs/ru/network-config#proxy-configuration), в блоке `env` ваших настроек, чтобы их также получали [фоновые агенты](/docs/ru/network-config#set-network-variables-in-settings-not-the-shell), или в окружении, из которого вы запускаете Claude Code. Claude Code применяет список разрешённых доменов, а затем туннелирует разрешённые подключения через этот вышестоящий прокси. Поддерживаются URL прокси `http://` и `https://`, при необходимости с базовой аутентификацией в URL.

619 

620В правиле `WebFetch(domain:...)` песочница учитывает две формы подстановочных знаков: ведущий `*.`, например `*.example.com`, и одиночный `*`. Форма с одиночным `*` требует Claude Code v2.1.186 или новее. Подстановочный знак в любой другой позиции, например `WebFetch(domain:example.*)`, по-прежнему сопоставляется с запросами, но не влияет на команды в песочнице.

573 621 

574<Note>622<Note>

575 Встроенный прокси применяет список разрешений на основе запрошенного имени хоста и, по умолчанию, не завершает и не проверяет трафик TLS. Экспериментальный параметр [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate), доступный в Claude Code версии 2.1.199 и позже, заставляет встроенный прокси самостоятельно завершать TLS, что требуется для [`mask` записей учётных данных](#mask-credentials). См. [Security limitations](#security-limitations) для понимания последствий поведения по умолчанию и [Custom proxy configuration](#custom-proxy-configuration), если ваша модель угроз требует проверки TLS.623 Встроенный прокси применяет список разрешённых доменов на основе запрошенного имени хоста и по умолчанию не терминирует и не инспектирует трафик TLS. Экспериментальная настройка [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate), доступная в Claude Code v2.1.199 и новее, заставляет встроенный прокси самостоятельно терминировать TLS, что требуется для [записей учётных данных `mask`](#mask-credentials). Последствия поведения по умолчанию описаны в разделе [Ограничения безопасности](#security-limitations), а если ваша модель угроз требует инспекции TLS, см. [Пользовательская конфигурация прокси](#custom-proxy-configuration).

576</Note>624</Note>

577 625 

626<h4 id="hosts-outside-your-allowed-domains">

627 Хосты вне списка разрешённых доменов

628</h4>

629 

630Когда команда в песочнице подключается к хосту, которого нет в ваших разрешённых доменах, команда остаётся в песочнице и ожидает решения. В интерактивной сессии терминала решение зависит от вашего режима разрешений:

631 

632| Режим разрешений | Что происходит с подключением |

633| :- | :- |

634| Режим `bypassPermissions`, а также режим планирования при [доступном обходе разрешений](/docs/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Разрешается без запроса |

635| Ручной режим, режим `acceptEdits` и режим планирования в остальных случаях | Вы получаете запрос |

636| Авторежим | Отклоняется, если команда не [указала хост](#per-command-allowed-domains-in-auto-mode) и классификатор не одобрил список |

637| Режим `dontAsk` | Отклоняется |

638 

639При включённом [`strictAllowlist`](/docs/ru/settings-reference#sandbox-network-strictallowlist) или [`allowManagedDomainsOnly`](/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly) встроенный прокси песочницы отклоняет подключение в любом режиме разрешений. В режиме `bypassPermissions` хосты вне ваших разрешённых доменов разрешаются, если не включена ни одна из этих настроек. В разделе [Запасной выход через повторную попытку вне песочницы](#the-unsandboxed-retry-escape-hatch) описано, когда команда может покинуть песочницу в этом режиме. Подключение к хосту из [`deniedDomains`](/docs/ru/settings-reference#sandbox-network-denieddomains) также отклоняется в любом режиме разрешений.

640 

641<h4 id="hostnames-that-resolve-to-local-addresses">

642 Имена хостов, разрешающиеся в локальные адреса

643</h4>

644 

645После того как имя хоста прошло проверку по списку разрешённых, прокси песочницы разрешает его и отклоняет подключение, если имя разрешается только в локальные адреса. К локальным адресам относятся loopback-адреса, такие как `127.0.0.1`, link-local адреса, такие как эндпоинт облачных метаданных `169.254.169.254`, и адреса, назначенные вашей собственной машине. Именам `localhost` и `*.localhost` разрешено разрешаться в loopback.

646 

647Разрешённое имя хоста интрасети, которое разрешается в частный диапазон, такой как `10.0.0.0/8`, подключается. Чтобы разрешить имени разрешаться в отклоняемый адрес, добавьте этот IP-адрес в `allowedDomains`, например `"127.0.0.1:8080"`.

648 

649Проверка применяется к именам хостов. Подключение к IP-адресу определяется вашими разрешёнными доменами и режимом разрешений. Прокси также пропускает проверку для подключений, которые он отправляет через вышестоящий корпоративный прокси, поскольку имя разрешает этот прокси.

650 

578<h4 id="per-command-allowed-domains-in-auto-mode">651<h4 id="per-command-allowed-domains-in-auto-mode">

579 Разрешённые домены для каждой команды в режиме автоматизации652 Разрешённые домены для отдельных команд в авторежиме

580</h4>653</h4>

581 654 

582В [режиме автоматизации](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) с включённым sandboxing Claude называет хосты, которые требуются команде, на самой команде вместо того, чтобы вызывать одобрение сети для каждого подключения. Каждая команда Bash, PowerShell или [Monitor](/docs/ru/tools-reference#monitor-tool), которая запускается в sandbox, может содержать список хостов, выходящих за пределы списка разрешений sandbox: домен, такой как `registry.npmjs.org`, подстановочный символ, такой как `*.pythonhosted.org`, или IP-адрес, каждый с необязательным `:port`. Классификатор проверяет хосты вместе с командой. Требуется Claude Code версии 2.1.271 или позже.655В [авторежиме](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) с включённой изоляцией в песочнице Claude указывает хосты, необходимые команде, в самой команде, вместо того чтобы запрашивать сетевое подтверждение для каждого подключения. Каждая команда Bash, PowerShell или [Monitor](/docs/ru/tools-reference#monitor-tool), выполняемая в песочнице, может содержать список хостов сверх списка разрешённых песочницы: домен, например `registry.npmjs.org`, подстановочный шаблон, например `*.pythonhosted.org`, или IP-адрес, каждый с необязательным `:port`. Классификатор проверяет хосты вместе с командой. Требуется Claude Code v2.1.271 или новее.

583 656 

584Одобренный список открывает эти хосты только для этой одной команды, пока она выполняется. Ничего не добавляется в разрешённые хосты вашего сеанса или в ваши параметры; следующая команда называет свои собственные хосты.657Одобренный список открывает эти хосты только для одной этой команды и только на время её выполнения. Ничего не добавляется ни в разрешённые хосты вашей сессии, ни в ваши настройки; следующая команда указывает собственные хосты.

585 658 

586Команда, которая содержит хосты, переходит к классификатору вместо того, чтобы быть одобренной правилом разрешения или [режимом автоматического одобрения](#sandbox-modes) sandbox. Если [правило ask](/docs/ru/permissions#manage-permissions) вынуждает запрос для команды, диалог разрешения в вашем терминале перечисляет хосты рядом с ней, и одобрение там охватывает оба.659Команда, содержащая хосты, передаётся классификатору, а не одобряется правилом разрешений или [режимом автоматического разрешения](#sandbox-modes) песочницы. Если [правило ask](/docs/ru/permissions#manage-permissions) принудительно вызывает запрос для команды, диалог разрешения в вашем терминале показывает хосты рядом с ней, и подтверждение там распространяется на то и другое.

587 660 

588Список для каждой команды расширяет только то, что sandbox запрещает по умолчанию. Записи [`deniedDomains`](/docs/ru/settings-reference#sandbox-network-denieddomains) всё ещё блокируют. Когда [`strictAllowlist`](/docs/ru/settings-reference#sandbox-network-strictallowlist) или [`allowManagedDomainsOnly`](/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly) блокирует список разрешений, Claude Code отказывает в списках для каждой команды.661Список для отдельной команды расширяет только то, что песочница запрещает по умолчанию. Записи [`deniedDomains`](/docs/ru/settings-reference#sandbox-network-denieddomains) по-прежнему блокируют подключения. Когда [`strictAllowlist`](/docs/ru/settings-reference#sandbox-network-strictallowlist) или [`allowManagedDomainsOnly`](/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly) блокирует список разрешённых, Claude Code отклоняет списки для отдельных команд.

589 662 

590Пока применяются списки для каждой команды, Claude Code отказывает в подключении к хосту, который ни одна одобренная команда не указала, без запроса или проверки классификатора. Отказ называет хост в результате команды, и Claude повторно запускает команду с добавленным хостом.663Пока действуют списки для отдельных команд, Claude Code отклоняет подключение к хосту, который не указала ни одна одобренная команда, без запроса и без проверки классификатором. Отказ называет хост в результате команды, и Claude повторно запускает команду с добавленным хостом.

591 664 

592<h4 id="ipv6-addresses-in-domain-lists">665<h4 id="ipv6-addresses-in-domain-lists">

593 IPv6 адреса в списках доменов666 IPv6-адреса в списках доменов

594</h4>667</h4>

595 668 

596Списки доменов sandbox — это `allowedDomains`, `deniedDomains` и правила `WebFetch(domain:...)`, которые их питают. Чтобы соответствовать IPv6 адресу в любом из них, напишите литерал в скобках: `"[::1]"` соответствует этому адресу на каждом порту, и `"[::1]:443"` соответствует ему только на порту 443. Напишите порт как число от 1 до 65535 без ведущих нулей. Форма в скобках требует Claude Code версии 2.1.229 или позже. До версии 2.1.229, когда текст после последнего двоеточия записи без скобок был номером порта, Claude Code читал его как один, поэтому `::1:443` назывался адресом `::1` на порту 443.669Чтобы указать IPv6-адрес в `allowedDomains`, `deniedDomains` или правиле `WebFetch(domain:...)`, запишите адрес в квадратных скобках: `"[::1]"` соответствует этому адресу на любом порту, а `"[::1]:443"` — только на порту 443. Форма в квадратных скобках требует Claude Code v2.1.229 или новее.

597 

598Когда вы выбираете «Да, и больше не спрашивать» при запросе одобрения сети для IPv6 адреса, Claude Code сохраняет правило `WebFetch(domain:...)` с адресом в скобках, чтобы правило продолжало соответствовать адресу в будущих сеансах.

599 670 

600Запись без скобок с двумя или более двоеточиями неоднозначна: `::1:443` — это одновременно полный IPv6 адрес и адрес, за которым следует порт. Claude Code применяет неоднозначные написания консервативно вместо угадывания, какое прочтение вы имели в виду:671Запись без скобок, например `::1:443`, неоднозначна: её можно прочитать и как адрес, и как адрес с портом:

601 672 

602* **Списки запретов**: Claude Code запрещает каждое прочтение, которое запись анализирует как, поэтому какое бы прочтение вы ни имели в виду, оно блокируется. Для записи без анализируемого прочтения Claude Code ничего не блокирует.673* **Списки запрещённых**: Claude Code запрещает все варианты прочтения записи, поэтому блокируется любой вариант, который вы могли иметь в виду. Для записи, не имеющей ни одного допустимого прочтения, Claude Code ничего не блокирует

603* **Списки разрешений**: Claude Code никогда не разрешает больше, чем вы написали. Он переписывает неоднозначную запись в её прочтение хоста и порта, когда это прочтение анализируется чисто, и может полностью отбросить запись, а не расширять список разрешений.674* **Списки разрешённых**: Claude Code никогда не разрешает больше, чем вы написали. Он переписывает неоднозначную запись в прочтение «хост и порт», если оно корректно разбирается, и может полностью отбросить запись, чтобы не расширять список разрешённых

604 675 

605Запустите `claude doctor` в вашем терминале, чтобы найти затронутые записи: предупреждение `Sandbox network domain entries have unreliable spellings` называет до трёх из них и считает остальные. Переписьте каждую в форме в скобках, чтобы очистить предупреждение. Предупреждение также называет записи, чьё написание ненадёжно по другим причинам, таким как `@`, символы пути или запроса, или подстановочные символы внутри скобок.676Чтобы найти неоднозначные записи, выполните `claude doctor` в терминале и найдите предупреждение `Sandbox network domain entries have unreliable spellings`. Перепишите каждую неоднозначную запись в форме с квадратными скобками.

606 677 

607<h3 id="os-level-enforcement">678<h3 id="os-level-enforcement">

608 Применение на уровне ОС679 Применение на уровне ОС

609</h3>680</h3>

610 681 

611Изолированный инструмент Bash использует примитивы безопасности операционной системы:682Инструмент Bash в песочнице использует примитивы безопасности операционной системы:

612 683 

613* **macOS**: использует Seatbelt для применения sandbox684* **macOS**: использует Seatbelt для применения песочницы

614* **Linux**: использует [bubblewrap](https://github.com/containers/bubblewrap) для изоляции685* **Linux**: использует [bubblewrap](https://github.com/containers/bubblewrap) для изоляции

615* **WSL2**: использует bubblewrap, как и Linux686* **WSL2**: использует bubblewrap, как и Linux

616 687 

617WSL1 не поддерживается, потому что bubblewrap требует функций ядра, доступных только в WSL2.688Вы также можете запустить пакет [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropics/sandbox-runtime) отдельно, чтобы обернуть им процесс Claude Code. См. [Среда выполнения песочницы](/docs/ru/sandbox-environments#sandbox-runtime).

618 

619Эти же примитивы доступны как отдельный пакет [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime), который страница [Sandbox environments](/docs/ru/sandbox-environments#sandbox-runtime) описывает как отдельный подход для обёртывания всего процесса Claude Code.

620 689 

621<h2 id="how-sandboxing-relates-to-permissions-and-permission-modes">690<h2 id="how-sandboxing-relates-to-permissions-and-permission-modes">

622 Как sandboxing связан с разрешениями и режимами разрешений691 Как sandboxing связан с разрешениями и режимами разрешений


668Режим [автоматического разрешения](#sandbox-modes) sandbox отличается от [режима auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode): автоматическое разрешение одобряет команды Bash, потому что граница sandbox их содержит, в то время как режим auto использует классификатор для проверки действий. Два работают независимо и могут быть объединены, с исключениями, перечисленными в разделе [Sandbox modes](#sandbox-modes). Чтобы выбрать границу изоляции для автоматических запусков, см. [Sandbox environments](/docs/ru/sandbox-environments#how-isolation-relates-to-permission-modes). Для таблицы распространённых пар режимов разрешений и sandbox с флагами, которые запускают каждый из них, см. [Common setups](/docs/ru/permission-modes#common-setups).737Режим [автоматического разрешения](#sandbox-modes) sandbox отличается от [режима auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode): автоматическое разрешение одобряет команды Bash, потому что граница sandbox их содержит, в то время как режим auto использует классификатор для проверки действий. Два работают независимо и могут быть объединены, с исключениями, перечисленными в разделе [Sandbox modes](#sandbox-modes). Чтобы выбрать границу изоляции для автоматических запусков, см. [Sandbox environments](/docs/ru/sandbox-environments#how-isolation-relates-to-permission-modes). Для таблицы распространённых пар режимов разрешений и sandbox с флагами, которые запускают каждый из них, см. [Common setups](/docs/ru/permission-modes#common-setups).

669 738 

670<h2 id="configure-the-sandbox-for-your-organization">739<h2 id="configure-the-sandbox-for-your-organization">

671 Настройка sandbox для вашей организации740 Настройка песочницы для вашей организации

672</h2>741</h2>

673 742 

674Администраторы могут требовать sandboxing для каждого пользователя, препятствовать разработчикам расширять политику и маршрутизировать трафик sandbox через корпоративный прокси.743Администраторы могут требовать изоляцию в песочнице для каждого пользователя, не давать разработчикам расширять политику и направлять трафик песочницы через корпоративный прокси.

675 744 

676<h3 id="enforce-sandboxing-with-managed-settings">745<h3 id="enforce-sandboxing-with-managed-settings">

677 Применение sandboxing с управляемыми параметрами746 Принудительная изоляция в песочнице с помощью управляемых настроек

678</h3>747</h3>

679 748 

680Чтобы требовать sandbox для каждого разработчика, доставьте ключи `sandbox` через [управляемые параметры](/docs/ru/managed-settings#delivery-mechanisms), либо как файл, управляемый вашей MDM, либо через [управляемые параметры сервера](/docs/ru/server-managed-settings) на claude.ai.749Чтобы требовать песочницу для каждого разработчика, доставьте ключи `sandbox` через [управляемые настройки](/docs/ru/managed-settings#delivery-mechanisms): либо как файл, управляемый вашей MDM, либо через [серверные управляемые настройки](/docs/ru/server-managed-settings) на claude.ai.

681 750 

682Следующая конфигурация управляемых параметров включает sandbox, отказывает запустить Claude Code, если sandbox не может инициализироваться, и препятствует модели повторять команды вне sandbox:751Следующая конфигурация управляемых настроек включает песочницу, запрещает запуск Claude Code, если платформа не поддерживается или отсутствует зависимость, и не позволяет модели повторять команды вне песочницы:

683 752 

684```json theme={null}753```json theme={null}

685{754{


691}760}

692```761```

693 762 

694Два ключа помимо `enabled` контролируют, что происходит, когда sandbox не может выполнить команду:763Два ключа помимо `enabled` определяют, что происходит, когда песочница не может выполнить команду:

764 

765* **`failIfUnavailable`**: отсутствующая зависимость, такая как bubblewrap на Linux, блокирует запуск Claude Code вместо возврата к выполнению без изоляции

766* **`allowUnsandboxedCommands: false`**: Claude Code игнорирует механизм выхода `dangerouslyDisableSandbox`, поэтому, когда команда завершается ошибкой в песочнице, Claude не может повторить её вне песочницы

695 767 

696* **`failIfUnavailable`**: отсутствующая зависимость, такая как bubblewrap на Linux, блокирует запуск Claude Code вместо показа предупреждения и возврата к выполнению без изоляции768Рассмотрите также следующие дополнения:

697* **`allowUnsandboxedCommands: false`**: Claude Code игнорирует механизм выхода `dangerouslyDisableSandbox`, поэтому когда команда не выполняется в sandbox, Claude не может повторить её вне sandbox

698 769 

699Два дополнения стоит рассмотреть вместе с ними. Добавьте `excludedCommands` для любых одобренных организацией инструментов, которые должны выполняться без изоляции. Добавьте записи [`sandbox.credentials`](#protect-credentials) для каталогов учётных данных, таких как `~/.aws` и `~/.ssh`, и для переменных окружения с секретами, поскольку политика чтения по умолчанию всё ещё разрешает их.770* Добавьте `excludedCommands` для любых одобренных организацией инструментов, которые должны выполняться без изоляции, поскольку эта конфигурация [не позволяет настройкам репозитория выводить команды из песочницы](#repository-settings-under-an-admin-required-sandbox)

771* Добавьте записи [`sandbox.credentials`](#protect-credentials) для каталогов учётных данных, таких как `~/.aws` и `~/.ssh`, и для переменных окружения с секретами, поскольку политика чтения по умолчанию всё ещё разрешает к ним доступ

700 772 

701Эта конфигурация изолирует команды, которые выполняет Claude. Разработчик всё ещё может ввести команду в [приглашение shell-режима с префиксом `!`](/docs/ru/interactive-mode#shell-mode-with-prefix) и выполнить её вне sandbox с тем же доступом, который у него уже есть в любом терминале вне Claude Code. Смотрите [Механизм выхода для повторного выполнения без sandbox](#the-unsandboxed-retry-escape-hatch) для сеансов, где введённые команды выполняются в sandbox.773Эта конфигурация изолирует в песочнице команды, которые выполняет Claude. Разработчик по-прежнему может ввести команду в [приглашении shell-режима `!`](/docs/ru/interactive-mode#shell-mode-with-prefix) и выполнить её вне песочницы с тем же доступом, который у него уже есть в любом терминале вне Claude Code. Сессии, в которых введённые команды выполняются в песочнице, описаны в разделе [строгий режим песочницы](#turn-off-the-retry-with-strict-sandbox-mode).

702 774 

703Sandbox не работает на нативной Windows, поэтому если ваш парк включает хосты Windows, ограничьте эту конфигурацию macOS и Linux или попросите этих пользователей запустить Claude Code внутри WSL2 или контейнера.775Песочница не работает на нативной Windows, поэтому при установленном `failIfUnavailable` Claude Code завершает работу при запуске на таких машинах. Если ваш парк включает хосты Windows, вы можете:

776 

777* **Доставлять конфигурацию в зависимости от операционной системы**: разверните её через MDM или как [файл управляемых настроек](/docs/ru/managed-settings#delivery-mechanisms) только на машинах с macOS и Linux. [Серверные управляемые настройки](/docs/ru/server-managed-settings#current-limitations) применяются ко всем пользователям организации

778* **Перевести пользователей Windows в поддерживаемую среду**: попросите их запускать Claude Code внутри WSL2 или контейнера

704 779 

705<h3 id="keep-developers-from-widening-the-policy">780<h3 id="keep-developers-from-widening-the-policy">

706 Препятствование разработчикам расширять политику781 Запрет разработчикам расширять политику

707</h3>782</h3>

708 783 

709Для логических ключей, таких как `enabled` и `failIfUnavailable`, Claude Code использует управляемое значение и игнорирует всё, что разработчик устанавливает локально. Для ключей массива, таких как `excludedCommands` и `allowRead`, Claude Code объединяет записи из каждой области, которую загружает сеанс, поэтому разработчик может добавлять записи, которые расширяют политику.784Когда управляемые настройки задают логический ключ, такой как `enabled` или `failIfUnavailable`, Claude Code использует управляемое значение и игнорирует всё, что разработчик задаёт локально. Для ключей-массивов, таких как `allowRead`, Claude Code объединяет записи из областей действия, которые загружает сессия, поэтому разработчик может добавлять записи, расширяющие политику, если этот ключ не защищён блокировкой.

785 

786Если управляемые настройки их не задают, пользовательские настройки разработчика или `--settings` могут включить следующие ключи. Файл `.claude/settings.json` репозитория тоже может это сделать, если только песочница не является [обязательной по требованию администратора](#repository-settings-under-an-admin-required-sandbox). Каждый из них ослабляет песочницу, поэтому установите его в `false` в управляемых настройках, если не хотите, чтобы он использовался:

787 

788* [`enableWeakerNestedSandbox`](/docs/ru/settings-reference#sandbox-enableweakernestedsandbox)

789* [`enableWeakerNetworkIsolation`](/docs/ru/settings-reference#sandbox-enableweakernetworkisolation)

790* [`network.allowAllUnixSockets`](/docs/ru/settings-reference#sandbox-network-allowallunixsockets)

791* [`network.allowLocalBinding`](/docs/ru/settings-reference#sandbox-network-allowlocalbinding)

792* [`allowAppleEvents`](/docs/ru/settings-reference#sandbox-allowappleevents), который репозиторий включить не может

793 

794Установите `allowManagedReadPathsOnly` в `true` в управляемых настройках, чтобы учитывались только записи `allowRead` из управляемых настроек. Это не позволяет разработчикам расширять доступ на чтение за пределы одобренных организацией путей.

710 795 

711Установите `allowManagedReadPathsOnly` в `true` в управляемых параметрах, чтобы только записи `allowRead` из управляемых параметров учитывались. Это препятствует разработчикам расширять доступ на чтение за пределы одобренных организацией путей. Чтобы заблокировать сетевые домены таким же образом, установите [`allowManagedDomainsOnly`](/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly).796Чтобы таким же образом закрепить сетевые домены за управляемыми значениями, установите [`allowManagedDomainsOnly`](/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly). При включённой блокировке [порт прокси](#custom-proxy-configuration) могут задавать только управляемые настройки.

712 797 

713Когда управляемые параметры конфигурируют `sandbox.filesystem` или указывают любую запись `sandbox.credentials.files` с `"mode": "deny"`, только управляемые параметры могут установить [`filesystem.disabled`](#disable-filesystem-isolation), поэтому разработчики не могут отключить развёрнутые администратором ограничения изоляции файловой системы. Закрепляет ли запись `mask` ключ, зависит от того, как она разрешается; таблица в разделе [Какие параметры могут отключить это](#which-settings-can-disable-it) охватывает четыре случая.798Когда управляемые настройки настраивают `sandbox.filesystem` или содержат любую запись `sandbox.credentials.files` с `"mode": "deny"`, только управляемые настройки могут задать [`filesystem.disabled`](#disable-filesystem-isolation), поэтому разработчики не могут отключить ограничения файловой системы, развёрнутые администратором. [Допустимая](/docs/ru/settings-reference#invalid-credential-entries-in-managed-settings) запись `mask` не закрепляет этот ключ. См. раздел [Какие настройки могут её отключить](#which-settings-can-disable-it).

714 799 

715`excludedCommands` не имеет эквивалентной блокировки только для управляемых, поэтому разработчик всегда может добавлять записи, которые выполняют дополнительные команды вне sandbox. Держите управляемый список узким.800<h4 id="repository-settings-under-an-admin-required-sandbox">

801 Настройки репозитория при обязательной песочнице

802</h4>

803 

804Песочница является обязательной по требованию администратора, пока действует одна из следующих настроек:

805 

806* [`allowUnsandboxedCommands`](/docs/ru/settings-reference#sandbox-allowunsandboxedcommands) установлен в `false` в управляемых настройках или через флаг `--settings`, если только управляемые настройки не устанавливают его в `true`

807* [`allowManagedDomainsOnly`](/docs/ru/settings-reference#sandbox-network-allowmanageddomainsonly) установлен в `true` в управляемых настройках

808 

809Эти настройки не включают песочницу, поэтому также задайте `enabled`.

810 

811Пока песочница обязательна по требованию администратора, Claude Code принимает настройки, ослабляющие её, только из управляемых настроек, флага `--settings` и файла `~/.claude/settings.json` каждого разработчика. Он игнорирует эти настройки в файлах `.claude/settings.json` и `.claude/settings.local.json` репозитория:

812 

813| Настройка репозитория | Что игнорирует Claude Code |

814| :- | :- |

815| `excludedCommands`, `ignoreViolations`, `network.allowedDomains`, `network.allowUnixSockets`, `network.allowMachLookup`, `network.httpProxyPort`, `network.socksProxyPort` | Каждую запись |

816| `filesystem.allowWrite`, правила разрешения `Edit(...)`, `permissions.additionalDirectories` | Доступ на запись, который каждая запись даёт командам в песочнице. Файловые инструменты Claude по-прежнему следуют правилам `Edit(...)` и дополнительным каталогам |

817| Правила разрешения `WebFetch(domain:...)` | Хост, который каждое правило добавляет в список разрешённых доменов песочницы. Инструмент WebFetch по-прежнему следует правилу |

818| `enableWeakerNestedSandbox`, `enableWeakerNetworkIsolation`, `network.allowAllUnixSockets`, `network.allowLocalBinding` | `true`. Значение `false` по-прежнему применяется |

819| `enabled`, `failIfUnavailable` | `false`, если `~/.claude/settings.json` разработчика задаёт `true` |

820| `filesystem.allowRead` | Запись, указывающую на путь или путь внутри него, чтение которого запрещают управляемые настройки, `--settings` или пользовательские настройки, либо glob-шаблон, который может ему соответствовать |

821 

822Пока песочница обязательна по требованию администратора, по-прежнему применяются следующие настройки:

823 

824* **В файлах репозитория**: записи запрета и значение `autoAllowBashIfSandboxed`. Задайте этот ключ в управляемых настройках, чтобы репозиторий не мог его изменить

825* **В собственных настройках разработчика**: настройки из таблицы по-прежнему применяются из `~/.claude/settings.json` или `--settings`, если только их не защищает блокировка только для управляемых настроек, такая как `allowManagedDomainsOnly`. Для большинства из них, например `excludedCommands` и `filesystem.allowWrite`, такой блокировки нет

826 

827Конфигурация из раздела [Принудительная изоляция в песочнице с помощью управляемых настроек](#enforce-sandboxing-with-managed-settings) делает песочницу обязательной по требованию администратора. Добавьте в управляемые настройки записи `excludedCommands`, `allowWrite` и записи сокетов, необходимые вашим одобренным инструментам, поскольку репозиторий не может их предоставить.

828 

829Требуется Claude Code v2.1.285 или новее. В версиях с v2.1.282 по v2.1.284 те же настройки заставляли Claude Code игнорировать записи `excludedCommands` репозитория.

830 

831<h4 id="locks-that-apply-without-an-admin-required-sandbox">

832 Блокировки, действующие без обязательной песочницы

833</h4>

834 

835Некоторые настройки заставляют Claude Code игнорировать ключи репозитория, которые напрямую переопределяют одно ограничение, даже если песочница не является обязательной по требованию администратора. Каждая из них действует так, только если задана в файле, указанном в её строке, а остальные настройки песочницы репозитория по-прежнему применяются. Требуется Claude Code v2.1.285 или новее.

836 

837| Настройка | Где её задать | Что Claude Code игнорирует в настройках репозитория |

838| :- | :- | :- |

839| `network.deniedDomains` или правило запрета `WebFetch(domain:...)` | Управляемые настройки, `--settings` | `httpProxyPort` и `socksProxyPort` |

840| `network.strictAllowlist` | Управляемые настройки, `--settings`, пользовательские настройки | Порты прокси, `allowedDomains` и правила разрешения `WebFetch(domain:...)` |

841| `filesystem.denyRead`, правило запрета `Read(...)` или запись `credentials.files` | Управляемые настройки, `--settings` | Запись `allowRead`, `allowWrite`, правило разрешения `Edit(...)` или `additionalDirectories`, указывающую на путь или путь внутри него, чтение которого запрещают управляемые настройки, `--settings` или пользовательские настройки, либо glob-шаблон, который может ему соответствовать |

842 

843Эти блокировки меняют то, к чему могут обращаться команды в песочнице. Инструмент WebFetch и файловые инструменты Claude по-прежнему следуют правилам и дополнительным каталогам репозитория.

716 844 

717<h3 id="custom-proxy-configuration">845<h3 id="custom-proxy-configuration">

718 Конфигурация пользовательского прокси846 Конфигурация пользовательского прокси

719</h3>847</h3>

720 848 

721Для организаций, требующих продвинутой сетевой безопасности, вы можете реализовать пользовательский прокси для:849Чтобы проверять, фильтровать или записывать в лог трафик песочницы с помощью собственных инструментов, замените встроенный прокси песочницы прокси-сервером, который вы запускаете на той же машине.

722 850 

723* Расшифровки и проверки трафика HTTPS851Чтобы направить трафик песочницы через корпоративный прокси в другом месте вашей сети, вместо этого задайте `HTTPS_PROXY`, как описано в пункте **Корпоративный прокси** в разделе [Сетевая изоляция](#network-isolation). Так список разрешённых доменов Claude Code по-прежнему будет применяться.

724* Применения пользовательских правил фильтрации

725* Логирования всех сетевых запросов

726* Интеграции с существующей инфраструктурой безопасности

727 852 

728Чтобы указать Claude Code на ваш прокси, установите порты прокси в [параметрах sandbox](/docs/ru/settings-reference#sandbox-settings):853Чтобы направить команды в песочнице на ваш прокси, задайте порты localhost, которые он прослушивает, в [настройках песочницы](/docs/ru/settings-reference#sandbox-settings):

729 854 

730```json theme={null}855```json theme={null}

731{856{


738}863}

739```864```

740 865 

866Если вы задаёте порт и одновременно задаёте `HTTPS_PROXY` или `HTTP_PROXY`, Claude Code не пересылает то, что команды в песочнице отправляют вашему прокси, дальше на прокси, указанный в этих переменных. Чтобы обращаться к корпоративному прокси, настройте пересылку на него в собственном прокси.

867 

868Какие файлы могут задавать порт, зависит от остальных настроек песочницы:

869 

870* **`allowManagedDomainsOnly` включён**: только управляемые настройки

871* **Песочница [обязательна по требованию администратора](#repository-settings-under-an-admin-required-sandbox) или действует [более узкая сетевая блокировка](#locks-that-apply-without-an-admin-required-sandbox)**: управляемые настройки, `--settings` и пользовательские настройки

872* **В остальных случаях**: любой файл настроек

873 

874Claude Code игнорирует порт, заданный в любом другом месте. До v2.1.285 порт мог задавать любой файл настроек.

875 

876<Warning>

877 Как только применяется любой из портов, ваш прокси отвечает за фильтрацию всего, что ему отправляется. Собственные сетевые средства контроля Claude Code, такие как `allowedDomains`, `deniedDomains`, `strictAllowlist`, запросы подтверждения и [проверка локальных адресов](#hostnames-that-resolve-to-local-addresses), перестают применяться к этому трафику. Команда в песочнице может подключиться к любому из прокси, поэтому если вы задаёте только один порт, списки доменов Claude Code на другом прокси не ограничивают то, к чему команда может обратиться через ваш.

878</Warning>

879 

741<h2 id="troubleshooting">880<h2 id="troubleshooting">

742 Устранение неполадок881 Устранение неполадок

743</h2>882</h2>

744 883 

745Некоторые команды не выполняются внутри sandbox, хотя они работают вне его. Исправления ниже охватывают наиболее распространённые случаи.884Некоторые команды не выполняются внутри песочницы, хотя они работают вне её. Найдите заголовок, соответствующий вашему симптому или сообщению об ошибке.

885 

886Если песочница в вашей организации [обязательна по требованию администратора](#repository-settings-under-an-admin-required-sandbox), Claude Code игнорирует указанные в этих исправлениях настройки в файлах настроек проекта, поэтому сохраняйте их в `~/.claude/settings.json`, где они применяются во всех проектах. Если исправление по-прежнему не действует, возможно, этот ключ задан в управляемых настройках вашей организации.

887 

888Исправление, которое добавляет шаблон в `excludedCommands`, выводит из песочницы команды, соответствующие этому шаблону. См. раздел о том, [что может делать исключённая команда](#run-commands-outside-the-sandbox-with-excludedcommands).

889 

890<h3 id="commands-fail-with-a-host-not-allowed-error">

891 Команды не выполняются с ошибкой host-not-allowed

892</h3>

893 

894Многим инструментам CLI нужен доступ к определённым хостам. Одобрите хост при появлении запроса или добавьте его в [`allowedDomains`](/docs/ru/settings-reference#sandbox-network-alloweddomains). Если ваша организация блокирует список разрешённых доменов с помощью `allowManagedDomainsOnly`, запрос не появляется, поэтому попросите администратора добавить хост.

895 

896<h3 id="jest-hangs-or-fails">

897 `jest` зависает или не выполняется

898</h3>

899 

900`watchman` несовместим с песочницей. Вместо этого запустите `jest --no-watchman`.

901 

902<h3 id="go-based-clis-fail-tls-verification-on-macos">

903 CLI на Go не проходят проверку TLS на macOS

904</h3>

905 

906Такие инструменты, как `gh`, `gcloud` и `terraform`, могут не проходить проверку TLS под [Seatbelt](#os-level-enforcement). Чтобы запускать эти инструменты вне песочницы, добавьте шаблон для каждого инструмента, например `gh *`, в [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands). Тогда инструмент выполняется с вашим полным доступом и своими сохранёнными учётными данными. Если вы используете `httpProxyPort` с MITM-прокси и пользовательским CA, вместо этого установите [`enableWeakerNetworkIsolation`](/docs/ru/settings-reference#sandbox-enableweakernetworkisolation) в `true`.

907 

908<h3 id="open-osascript-or-browser-based-auth-flows-fail-with-error-600-on-macos">

909 `open`, `osascript` или потоки аутентификации через браузер не выполняются с ошибкой `-600` на macOS

910</h3>

911 

912Песочница по умолчанию блокирует Apple Events. Установите [`allowAppleEvents`](/docs/ru/settings-reference#sandbox-allowappleevents) в `true` в пользовательских, управляемых или CLI-настройках, чтобы разрешить их. Claude Code игнорирует этот ключ в настройках проекта.

913 

914Включение `allowAppleEvents` снимает изоляцию выполнения кода, так как изолированные команды смогут запускать другие приложения вне песочницы без запроса пользователю и отправлять команды AppleScript запущенным приложениям с учётом запроса согласия на автоматизацию macOS (TCC). В качестве альтернативы добавьте шаблон, например `open *`, в [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands). Тогда каждый вызов `open` проходит через процедуру запроса разрешения, а `open` может запустить любой файл или приложение, включая созданное Claude.

915 

916<h3 id="docker-commands-fail">

917 Команды `docker` не выполняются

918</h3>

919 

920`docker` несовместим с песочницей. Выведите нужные вам команды `docker` из песочницы с помощью шаблона `excludedCommands`, например `docker compose *`. В разделе [Запуск команд вне песочницы с помощью `excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands) объясняется, к чему может получить доступ исключённая команда `docker`. Более узкий шаблон выводит из песочницы меньше команд.

921 

922<h3 id="pbcopy-xclip-or-wl-copy-doesn’t-update-the-clipboard">

923 `pbcopy`, `xclip` или `wl-copy` не обновляют буфер обмена

924</h3>

925 

926Утилиты буфера обмена `pbcopy`, `xclip` и `wl-copy` могут не получить доступ к системному буферу обмена изнутри песочницы, и в этом случае переданный им текст не поступает.

927 

928Чтобы поместить вывод Claude в ваш буфер обмена, попросите Claude напечатать его в своём ответе, затем запустите [`/copy`](/docs/ru/commands). `/copy` записывает в буфер обмена из процесса Claude Code, а не из изолированной команды.

929 

930Когда Claude передаёт текст одному из этих инструментов, добавление инструмента в [`excludedCommands`](/docs/ru/settings-reference#sandbox-excludedcommands) само по себе не выводит этот вызов из песочницы.

931 

932<h3 id="a-git-command-fails-with-unable-to-unlink-old">

933 Команда git не выполняется с ошибкой `unable to unlink old`

934</h3>

935 

936`git merge`, `git checkout` и подобные команды завершаются ошибкой `unable to unlink old`, когда им нужно заменить файл, запись в который запрещена песочницей. На Linux и WSL2 ошибка заканчивается на `Read-only file system`. Файл может находиться в одном из следующих мест:

937 

938* Под [защищённым путём](#protected-paths), таким как `.claude/skills`

939* Под одной из ваших записей `denyWrite`

940* Вообще вне каталогов, в которые песочница позволяет командам писать

941 

942После сбоя Claude может [предложить повторно запустить команду вне песочницы](#the-unsandboxed-retry-escape-hatch). Одобрите эту повторную попытку или запустите команду git самостоятельно в другом терминале. Если вы установили `allowUnsandboxedCommands` в `false`, Claude не может предложить повторную попытку, поэтому запустите команду самостоятельно.

943 

944<h3 id="bubblewrap-fails-to-start-inside-a-container">

945 Bubblewrap не запускается внутри контейнера

946</h3>

947 

948В непривилегированном контейнере [bubblewrap](#os-level-enforcement) не может смонтировать новую файловую систему `/proc`, поэтому изолированные команды завершаются ошибкой `bwrap`, например `Can't mount proc on /newroot/proc: Operation not permitted`. Установите [`enableWeakerNestedSandbox`](/docs/ru/settings-reference#sandbox-enableweakernestedsandbox) в `true`, чтобы песочница вместо этого выполняла bind-монтирование существующего `/proc` контейнера. Используйте эту настройку только тогда, когда внешний контейнер уже обеспечивает нужную вам границу изоляции, так как она раскрывает изолированным командам информацию о процессах, которую скрыло бы новое монтирование `/proc`.

949 

950<h3 id="0-byte-read-only-files-appear-at-claude-settings-paths-and-yes-and-don’t-ask-again-doesn’t-save">

951 В путях настроек `.claude` появляются файлы размером 0 байт только для чтения, и «Да, и больше не спрашивать» не сохраняется

952</h3>

953 

954На Linux и WSL2 песочница удерживает запрет на запись в ещё не существующий файл, создавая там 0-байтовый заполнитель только для чтения, пока выполняется изолированная команда. После этого песочница удаляет заполнитель. Если сессия принудительно завершается до выполнения этой очистки, например по SIGKILL, заполнители остаются. Последующие сессии при каждом запуске снова монтируют их только для чтения, поэтому запись настроек, например сохранение выбора разрешения, не выполняется там, где остаётся такой заполнитель.

955 

956Запустите `claude doctor` в терминале, чтобы перечислить оставшиеся файлы заполнителей. Предупреждение [`Stale sandbox mask files left by a killed session`](/docs/ru/errors#stale-sandbox-mask-files-left-by-a-killed-session) называет некоторые из них и подсчитывает остальные. Удалите каждый файл с помощью `rm`, пока в этом проекте не запущена другая сессия Claude Code. До версии 2.1.257 Claude Code оставлял те же заполнители, не помечая их.

957 

958<h3 id="git-over-ssh-fails-with-the-sandbox-on">

959 `git` через SSH не работает при включённой песочнице

960</h3>

961 

962На macOS `git fetch`, `git pull` и `git push` для удалённого репозитория по SSH не выполняются внутри песочницы, даже если хост разрешён. На Linux и WSL2 они работают, как только хост разрешён. Claude Code туннелирует SSH-соединение git через [прокси песочницы](#network-isolation), а туннель на macOS не может пройти аутентификацию на этом прокси.

963 

964На Linux и WSL2 проверьте следующее, если соединение по-прежнему не устанавливается:

965 

966* **Хост разрешён на порту 22**: это покрывает запись `allowedDomains` без порта, например `"git.example.com"`

967* **Ваш корпоративный прокси разрешает порт 22**: если ваша сеть требует вышестоящего прокси, туннель также проходит через него

968* **Ключ доступен для чтения как файл**: песочница может блокировать сокет `ssh-agent`, а запись `denyRead` или `credentials` для `~/.ssh` скрывает ваши файлы ключей

969 

970На macOS переключите удалённый репозиторий на HTTPS, для чего нужны учётные данные HTTPS, например персональный токен доступа:

971 

972```bash theme={null}

973git remote set-url origin https://git.example.com/example-org/example-repo.git

974```

975 

976Если вам нужно сохранить удалённый репозиторий по SSH, выведите сетевые команды git из песочницы с помощью [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands):

977 

978```json theme={null}

979{

980 "sandbox": {

981 "excludedCommands": ["git fetch *", "git pull *", "git push *"]

982 }

983}

984```

985 

986Эти записи соответствуют `git push origin main`. Вызов, который добавляет `cd`, использует `git -C` или содержит подстановку команды, остаётся в песочнице. Исключённые команды git могут обращаться к любому хосту, а не только к указанным в `allowedDomains`.

987 

988Обычные `ssh`, `scp` и `rsync` через SSH не работают по причине, указанной в [пункте о клиентах баз данных](#a-database-client-or-other-non-http-tool-fails-to-reach-an-allowed-host).

989 

990<h3 id="a-database-client-or-other-non-http-tool-fails-to-reach-an-allowed-host">

991 Клиент базы данных или другой не-HTTP инструмент не может подключиться к разрешённому хосту

992</h3>

993 

994Инструмент, который игнорирует переменные окружения прокси, не может подключиться изнутри песочницы даже к хосту из `allowedDomains`. У изолированной команды [нет прямого маршрута в сеть](#network-isolation), поэтому инструмент, открывающий собственное соединение, завершается сбоем. Так ведут себя большинство драйверов баз данных, обычный `ssh` и инструменты, использующие UDP.

995 

996Сбой выглядит как ошибка сети или разрешения имён:

997 

998* **macOS**: `Operation not permitted` или ошибка разрешения имён, например `Could not resolve host`

999* **Linux и WSL2**: `Network is unreachable` или ошибка разрешения имён, например `Temporary failure in name resolution`

1000 

1001Инструмент, который использует прокси, завершается сбоем иначе, если его хост не разрешён. Вы получаете запрос на доступ к сети, или инструмент получает от прокси ответ `403`.

1002 

1003Чтобы инструмент мог подключиться, запустите команду, которой он нужен, вне песочницы с помощью [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands). В этом примере исключается один скрипт и добавляется [правило ask](/docs/ru/permissions), чтобы вы одобряли каждый запуск:

1004 

1005```json theme={null}

1006{

1007 "sandbox": {

1008 "excludedCommands": ["python scripts/load_orders.py *"]

1009 },

1010 "permissions": {

1011 "ask": ["Bash(python scripts/load_orders.py *)"]

1012 }

1013}

1014```

1015 

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

1017 

1018<h3 id="a-command-fails-to-reach-a-server-on-localhost">

1019 Команда не может подключиться к серверу на localhost

1020</h3>

1021 

1022По умолчанию изолированная команда не может напрямую подключиться к серверу, запущенному на вашем компьютере вне песочницы, например к dev-серверу или базе данных в контейнере. Что можно изменить, зависит от вашей платформы:

746 1023 

747* **Команды не выполняются с ошибкой host-not-allowed**: многие инструменты CLI должны достичь определённых хостов. Предоставление разрешения при запросе добавляет хост в ваш список разрешённых, поэтому инструмент выполняется внутри sandbox в будущем.1024* **macOS**: установите [`network.allowLocalBinding`](/docs/ru/settings-reference#sandbox-network-allowlocalbinding) в `true`. Тогда изолированные команды смогут прослушивать сетевые порты и подключаться к любому порту на localhost, включая все остальные сервисы, которые там слушают. Сервис на localhost, не требующий аутентификации, например отладчик, сможет действовать от имени команды вне песочницы, а команда, прослушивающая адрес, отличный от loopback, будет принимать соединения с других машин

748* **`jest` зависает или не выполняется**: `watchman` несовместим с sandbox. Вместо этого запустите `jest --no-watchman`.1025* **Linux и WSL2**: `localhost` изолированной команды является приватным для этой команды. Команда может прослушивать порт и обращаться к серверам, которые она запустила сама. Прямое подключение к `localhost` или `127.0.0.1` не достигает серверов на хосте, а `allowLocalBinding` не действует. Запустите команду, которой нужен сервер хоста, вне песочницы с помощью [`excludedCommands`](#run-commands-outside-the-sandbox-with-excludedcommands), где у неё нет ограничений файловой системы и сети. О соединениях, проходящих через прокси песочницы, см. [Имена хостов, разрешающиеся в локальные адреса](#hostnames-that-resolve-to-local-addresses)

749* **Go-based CLIs не выполняют проверку TLS на macOS**: инструменты, такие как `gh`, `gcloud` и `terraform`, могут не выполнять проверку TLS под Seatbelt. Перечислите эти инструменты в [`excludedCommands`](/docs/ru/settings-reference#sandbox-excludedcommands). Если вы используете `httpProxyPort` с MITM прокси и пользовательским CA, установите [`enableWeakerNetworkIsolation`](/docs/ru/settings-reference#sandbox-enableweakernetworkisolation) в `true` вместо этого.

750* **`open`, `osascript` или потоки аутентификации на основе браузера не выполняются с ошибкой `-600` на macOS**: sandbox по умолчанию блокирует Apple Events. Установите [`allowAppleEvents`](/docs/ru/settings-reference#sandbox-allowappleevents) в `true` в ваших пользовательских, управляемых или CLI параметрах, чтобы разрешить их. Параметры проекта игнорируются для этого ключа. Включение его удаляет изоляцию выполнения кода, так как изолированные команды могут затем запускать другие приложения без изоляции без запроса пользователя и отправлять команды AppleScript запущенным приложениям, подлежащим запросу автоматизации macOS (TCC). Кроме того, добавьте команду в [`excludedCommands`](/docs/ru/settings-reference#sandbox-excludedcommands).

751* **Команды `docker` не выполняются**: `docker` несовместим с sandbox. Добавьте `docker *` в [`excludedCommands`](/docs/ru/settings-reference#sandbox-excludedcommands).

752* **`pbcopy`, `xclip` или `wl-copy` не обновляют буфер обмена**: эти утилиты буфера обмена могут не достичь системного буфера обмена изнутри sandbox, в этом случае текст, переданный в них, не поступает.

753 1026 

754 Чтобы поместить вывод Claude в ваш буфер обмена, попросите Claude напечатать его в своём ответе, затем запустите [`/copy`](/docs/ru/commands). `/copy` записывает в буфер обмена из процесса Claude Code, а не из изолированной команды.1027В этом примере настройка включается для macOS:

755 1028 

756 Когда Claude передаёт текст одному из этих инструментов, добавление инструмента в [`excludedCommands`](/docs/ru/settings-reference#sandbox-excludedcommands) не выводит этот вызов из sandbox самостоятельно.1029```json theme={null}

757* **Команда git не выполняется с ошибкой `unable to unlink old`**: `git merge`, `git checkout` и подобные команды не выполняются таким образом, когда им нужно заменить файл, в который sandbox запрещает запись, независимо от того, находится ли этот файл под [защищённым путём](#protected-paths), таким как `.claude/skills`, под одной из ваших записей `denyWrite` или вне каталогов, в которые sandbox позволяет командам писать вообще. На Linux и WSL2 ошибка заканчивается на `Read-only file system`.1030{

1031 "sandbox": {

1032 "network": {

1033 "allowLocalBinding": true

1034 }

1035 }

1036}

1037```

1038 

1039Запись `allowedDomains` для `localhost` применяется к соединениям, проходящим через прокси, поэтому она не влияет на прямое подключение. Claude Code задаёт `NO_PROXY` для изолированных команд, чтобы они подключались к `localhost` напрямую, а не через прокси. Кроме того, эта запись открывает все порты localhost вашего компьютера для команды, которая всё же использует прокси. Об имени хоста для разработки, указывающем на `127.0.0.1`, см. [Разрешённое имя хоста отклоняется с `resolved to a loopback address`](#an-allowed-hostname-is-refused-with-resolved-to-a-loopback-address).

1040 

1041<h3 id="an-allowed-hostname-is-refused-with-resolved-to-a-loopback-address">

1042 Разрешённое имя хоста отклоняется с `resolved to a loopback address`

1043</h3>

1044 

1045Прокси песочницы отклоняет разрешённое имя хоста, которое [разрешается в локальный адрес](#hostnames-that-resolve-to-local-addresses); это затрагивает имена для разработки, такие как `myapp.test`, указывающие на `127.0.0.1`. Команда получает ответ `403`, тело которого называет тип адреса, например `Connection to myapp.test blocked: resolved to a loopback address`.

1046 

1047Добавьте IP-адрес, в который разрешается имя, рядом с именем хоста в `allowedDomains`, каждый с портом, который прослушивает ваш сервер:

1048 

1049```json theme={null}

1050{

1051 "sandbox": {

1052 "network": {

1053 "allowedDomains": ["myapp.test:3000", "127.0.0.1:3000"]

1054 }

1055 }

1056}

1057```

758 1058 

759 После сбоя Claude может [предложить повторно запустить команду вне sandbox](#the-unsandboxed-retry-escape-hatch); одобрите этот повтор или запустите команду git самостоятельно в другом терминале. Если вы установили `allowUnsandboxedCommands` в `false`, Claude не может предложить повтор, поэтому запустите команду самостоятельно. Если одна и та же команда git часто не выполняется, добавьте её в [`excludedCommands`](/docs/ru/settings-reference#sandbox-excludedcommands).1059Запись IP-адреса без порта позволяет изолированным командам обращаться ко всем сервисам, прослушивающим этот адрес.

760* **Bubblewrap не запускается внутри контейнера**: в непривилегированном контейнере bubblewrap не может смонтировать свежую файловую систему `/proc`, поэтому изолированные команды не выполняются с ошибкой `bwrap`, такой как `Can't mount proc on /newroot/proc: Operation not permitted`. Установите [`enableWeakerNestedSandbox`](/docs/ru/settings-reference#sandbox-enableweakernestedsandbox) в `true`, чтобы внутренний sandbox привязал существующий `/proc` контейнера вместо этого. Используйте этот параметр только когда внешний контейнер уже обеспечивает границу изоляции, которая вам требуется, так как это раскрывает информацию о процессе для изолированных команд, которую свежее монтирование `/proc` скрыло бы.

761* **Файлы размером 0 байт только для чтения появляются в путях параметров `.claude`, и "Да, и больше не спрашивать" не сохраняется**: на Linux и WSL2 sandbox удерживает запрет на запись в файл, который ещё не существует, создавая 0-байтовый заполнитель только для чтения там, пока выполняется изолированная команда. Sandbox удаляет заполнитель после этого. Если сеанс завершается до выполнения этой очистки, например по SIGKILL, заполнители остаются. Более поздние сеансы привязывают их только для чтения снова при каждом запуске, поэтому запись параметров, такая как сохранение выбора разрешения, не выполняется там, где она находится.

762 1060 

763 Запустите `claude doctor`, чтобы перечислить оставшиеся файлы заполнителей. Предупреждение [`Stale sandbox mask files left by a killed session`](/docs/ru/errors#stale-sandbox-mask-files-left-by-a-killed-session) называет до трёх из них и подсчитывает остальные. Удалите каждый файл с помощью `rm`, пока в этом проекте не запущен другой сеанс Claude Code. До версии 2.1.257 Claude Code оставлял те же заполнители без их отмечания.1061До версии 2.1.284 прокси подключался к любому адресу, в который разрешалось разрешённое имя хоста.

764* **`--dangerously-skip-permissions` не выполняется как root**: этот флаг блокируется при запуске как root или через sudo на Linux и macOS, потому что доступ root в сочетании с отсутствием запросов разрешений может изменять любой файл или сервис в системе. Проверка автоматически пропускается внутри признанного sandbox. Чтобы запустить автономно в контейнере, используйте конфигурацию [dev container](/docs/ru/devcontainer), которая запускает Claude Code как непривилегированного пользователя.1062 

1063<h3 id="/sandbox-fails-with-sandbox-settings-are-overridden-by-a-higher-priority-configuration">

1064 `/sandbox` завершается ошибкой `Sandbox settings are overridden by a higher-priority configuration`

1065</h3>

1066 

1067`/sandbox` выводит `Error: Sandbox settings are overridden by a higher-priority configuration and cannot be changed locally.` вместо открытия своей панели, когда более высокий [уровень настроек](/docs/ru/settings#settings-precedence) задаёт `sandbox.enabled`, `sandbox.autoAllowBashIfSandboxed` или `sandbox.allowUnsandboxedCommands`. Панель сохраняет ваш выбор в `.claude/settings.local.json`, а сохранённое там значение не может переопределить эти уровни.

1068 

1069Управляемые настройки и `--settings` имеют более высокий приоритет, чем локальные настройки. Чтобы узнать, какие из них загружены в этой сессии, запустите `/status` и посмотрите строку `Setting sources`:

1070 

1071* **`Command line arguments`**: если вы запустили Claude Code с [`--settings`](/docs/ru/settings#change-a-setting-for-one-session), проверьте, задаёт ли переданный файл или JSON один из этих ключей. Если да, измените значение там или запустите Claude Code заново без этих ключей.

1072* **`Enterprise managed settings`**: загружены управляемые настройки вашей организации. Если они задают один из этих ключей, вы не можете изменить его ни через `/sandbox`, ни через какой-либо файл настроек, которым вы управляете, поэтому обратитесь к администратору.

765 1073 

766<h2 id="limitations">1074<h2 id="limitations">

767 Ограничения1075 Ограничения


776* **Фильтрация сети**: sandbox ограничивает домены, к которым процессы могут подключаться. По умолчанию встроенный прокси не завершает и не проверяет TLS исходящего трафика, поэтому содержимое зашифрованных соединений не проверяется. Экспериментальный параметр [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate) завершает TLS на прокси для [подстановки учётных данных `mask`](#mask-credentials), но не добавляет фильтрацию содержимого. Вы несёте ответственность за обеспечение того, чтобы в вашей политике разрешались только доверенные домены.1084* **Фильтрация сети**: sandbox ограничивает домены, к которым процессы могут подключаться. По умолчанию встроенный прокси не завершает и не проверяет TLS исходящего трафика, поэтому содержимое зашифрованных соединений не проверяется. Экспериментальный параметр [`network.tlsTerminate`](/docs/ru/settings-reference#sandbox-network-tlsterminate) завершает TLS на прокси для [подстановки учётных данных `mask`](#mask-credentials), но не добавляет фильтрацию содержимого. Вы несёте ответственность за обеспечение того, чтобы в вашей политике разрешались только доверенные домены.

777 1085 

778<Warning>1086<Warning>

779 Разрешение широких доменов, таких как `github.com`, может создать пути для экспортирования данных. Потому что прокси принимает решение о разрешении на основе предоставленного клиентом имени хоста без проверки TLS, код, работающий внутри sandbox, потенциально может использовать [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) или аналогичные методы для достижения хостов вне списка разрешений. Если ваша модель угроз требует более сильных гарантий, настройте [пользовательский прокси](#custom-proxy-configuration), который завершает TLS и проверяет трафик, и установите его сертификат CA внутри sandbox. Более сильная изоляция сети, осведомлённая о TLS, является активной областью разработки.1087 Разрешение широких доменов, таких как `github.com`, может создать пути для экспортирования данных. Потому что прокси принимает решение о разрешении на основе предоставленного клиентом имени хоста без проверки TLS, код, работающий внутри sandbox, потенциально может использовать [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) или аналогичные методы для достижения хостов вне списка разрешённых доменов. Если ваша модель угроз требует более сильных гарантий, настройте [пользовательский прокси](#custom-proxy-configuration), который завершает TLS и проверяет трафик, и установите его сертификат CA внутри sandbox. Более сильная изоляция сети, осведомлённая о TLS, является активной областью разработки.

780</Warning>1088</Warning>

781 1089 

782* **Повышение привилегий через Unix sockets**: конфигурация `allowUnixSockets` может случайно предоставить доступ к системным сервисам, которые могут привести к обходам sandbox. Например, разрешение доступа к `/var/run/docker.sock` фактически предоставляет доступ к хост-системе через сокет Docker. Тщательно рассмотрите любые Unix sockets, которые вы разрешаете через sandbox.1090* **Повышение привилегий через Unix sockets**: конфигурация `allowUnixSockets` может случайно предоставить доступ к системным сервисам, которые могут привести к обходам sandbox. Например, разрешение доступа к `/var/run/docker.sock` фактически предоставляет доступ к хост-системе через сокет Docker. Тщательно рассмотрите любые Unix sockets, которые вы разрешаете через sandbox.

783* **Повышение привилегий разрешений файловой системы**: чрезмерно широкие разрешения на запись в файловую систему могут включить атаки повышения привилегий. Разрешение записи в каталоги, содержащие исполняемые файлы в `$PATH`, каталоги конфигурации системы или файлы конфигурации оболочки пользователя, такие как `.bashrc` или `.zshrc`, может привести к выполнению кода в разных контекстах безопасности, когда другие пользователи или системные процессы получают доступ к этим файлам.1091* **Повышение привилегий разрешений файловой системы**: чрезмерно широкие разрешения на запись в файловую систему могут включить атаки повышения привилегий. Разрешение записи в каталоги, содержащие исполняемые файлы в `$PATH`, каталоги конфигурации системы или файлы конфигурации оболочки пользователя, такие как `.bashrc` или `.zshrc`, может привести к выполнению кода в разных контекстах безопасности, когда другие пользователи или системные процессы получают доступ к этим файлам.

784* **Сила Linux sandbox**: реализация Linux обеспечивает сильную изоляцию файловой системы и сети, но включает режим `enableWeakerNestedSandbox`, который позволяет ему работать внутри окружений Docker без привилегированных пространств имён или на хостах Linux, где непривилегированные пользовательские пространства имён отключены sysctl. Эта опция значительно ослабляет безопасность и должна использоваться только когда дополнительная изоляция иным образом применяется.1092* **Сила Linux sandbox**: реализация Linux обеспечивает сильную изоляцию файловой системы и сети, но включает режим `enableWeakerNestedSandbox`, который позволяет ему работать внутри окружений Docker без привилегированных пространств имён. Эта опция значительно ослабляет безопасность и должна использоваться только когда дополнительная изоляция иным образом применяется.

785* **Apple Events на macOS**: sandbox на macOS по умолчанию блокирует Apple Events. Параметр `allowAppleEvents` снимает это ограничение, чтобы инструменты, такие как `open` и `osascript`, работали, но он удаляет изоляцию выполнения кода: изолированные команды могут запускать другие приложения без изоляции без запроса пользователя и могут отправлять команды AppleScript запущенным приложениям, в соответствии с запросом согласия на автоматизацию macOS для каждого приложения (TCC). Это учитывается только из пользовательских, управляемых или CLI параметров. Параметры проекта не могут включить это.1093* **Apple Events на macOS**: sandbox на macOS по умолчанию блокирует Apple Events. Параметр `allowAppleEvents` снимает это ограничение, чтобы инструменты, такие как `open` и `osascript`, работали, но он удаляет изоляцию выполнения кода: изолированные команды могут запускать другие приложения без изоляции без запроса пользователя и могут отправлять команды AppleScript запущенным приложениям, в соответствии с запросом согласия на автоматизацию macOS для каждого приложения (TCC). Это учитывается только из пользовательских, управляемых или CLI параметров. Параметры проекта не могут включить это.

786 1094 

787<h3 id="platform-and-tool-compatibility">

788 Совместимость платформ и инструментов

789</h3>

790 

791* **Поддержка платформ**: поддерживает macOS, Linux и WSL2. WSL1 и нативная Windows не поддерживаются.

792* **Накладные расходы производительности**: минимальные, но некоторые операции файловой системы могут быть немного медленнее.

793* **Совместимость инструментов**: некоторые инструменты, требующие определённых шаблонов доступа к системе, могут потребовать корректировки конфигурации или могут потребовать запуска вне sandbox.

794 

795<h3 id="scope">1095<h3 id="scope">

796 Область1096 Область действия

797</h3>1097</h3>

798 1098 

799Sandbox изолирует подпроцессы Bash. Другие инструменты работают в разных границах:1099Песочница изолирует shell-команды и их дочерние процессы. В разделе [Что работает вне песочницы](#what-runs-outside-the-sandbox) перечислены инструменты и вспомогательные процессы, которые она не охватывает. Использование компьютера и субагенты связаны с песочницей следующим образом:

800 1100 

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).1101* **Использование компьютера**: когда 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) для удаления учётных данных из всех подпроцессов.1102* **Субагенты**: [субагенты](/docs/ru/sub-agents) работают в том же процессе, что и родительская сессия, и используют ту же конфигурацию sandbox. Команды Bash внутри субагента изолированы, когда изоляция в песочнице включена в родительской сессии.

804* **Subagents**: [subagents](/docs/ru/sub-agents) работают в том же процессе, что и родительский сеанс, и используют ту же конфигурацию sandbox. Команды Bash внутри subagent изолированы, когда sandboxing включен в родительском сеансе.1103* **Моды**: [мод](/docs/ru/plugins/mods/overview) — это плагин, который запускает собственный код внутри Claude Code, и процесс, запущенный модом, работает вне песочницы. См. [Что доступно моду](/docs/ru/plugins/mods/overview#what-a-mod-can-reach).

805 1104 

806<Warning>1105<Warning>

807 Эффективный sandboxing требует как изоляции файловой системы, так и сетевой изоляции. Без сетевой изоляции скомпрометированный агент может экспортировать конфиденциальные файлы, такие как ключи SSH. Без изоляции файловой системы, будь то из-за разрешительной политики или из-за [отключения уровня файловой системы](#disable-filesystem-isolation), скомпрометированный агент может установить бэкдор в системные ресурсы для получения сетевого доступа. Когда вы расширяете значения по умолчанию, проверьте, что путь `allowWrite`, широкая запись `allowedDomains` или исключение `excludedCommands` не отменяет ограничение на другой стороне.1106 Эффективная изоляция в песочнице требует как изоляции файловой системы, так и сетевой изоляции. Без сетевой изоляции скомпрометированный агент может экспортировать конфиденциальные файлы, такие как ключи SSH. Без изоляции файловой системы, будь то из-за разрешительной политики или из-за [отключения уровня файловой системы](#disable-filesystem-isolation), скомпрометированный агент может установить бэкдор в системные ресурсы для получения сетевого доступа. Когда вы расширяете значения по умолчанию, проверьте, что путь `allowWrite`, широкая запись `allowedDomains` или исключение `excludedCommands` не отменяет ограничение на другой стороне.

808</Warning>1107</Warning>

809 1108 

810<h2 id="see-also">1109<h2 id="see-also">

security.md +16 −20

Details

20 Архитектура на основе разрешений20 Архитектура на основе разрешений

21</h3>21</h3>

22 22 

23В режиме Manual Claude Code начинает с разрешений только для чтения. Когда Claude Code нужно отредактировать файлы, запустить тесты или выполнить команды, он сначала вас спрашивает, и вы выбираете, одобрить ли действие один раз или разрешить его с этого момента.23Режим разрешений сессии определяет, какие действия Claude может выполнять, не спрашивая вас заранее. Авторежим — это встроенный начальный режим разрешений для интерактивных сессий в терминале и VS Code. В разделе [В каком режиме начинается сессия](/docs/ru/permission-modes#which-mode-a-session-starts-in) описаны более ранние версии, другие интерфейсы и настройки, которые изменяют начальный режим разрешений.

24 24 

25В режиме Manual Claude Code также спрашивает перед запуском команд Bash, которые могут изменять вашу систему. Он выполняет встроенный набор [команд только для чтения](/docs/ru/permissions#read-only-commands), таких как `ls`, `cat` и `git status`, без запроса. Вы и ваша организация настраиваете эти разрешения напрямую.25* **Авторежим**: Отдельная модель классификатора проверяет действия вместо вас и блокирует те, которые она считает небезопасными. [Как классификатор оценивает действия](/docs/ru/permission-modes#how-the-classifier-evaluates-actions) перечисляет, какие действия Claude Code одобряет сразу, какие отправляет классификатору и о каких Claude Code все еще вас спрашивает. Ваши явные правила ask и deny по-прежнему применяются, и ваша организация может [отключить авторежим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode)

26* **Режим Manual**: Claude Code начинает с разрешений только для чтения. Когда ему нужно отредактировать файлы, запустить тесты или выполнить команды, он сначала вас спрашивает, и вы выбираете, подтвердить ли действие один раз или разрешить его с этого момента. Он выполняет встроенный набор [команд только для чтения](/docs/ru/permissions#read-only-commands), таких как `ls`, `cat` и `git status`, без запроса

26 27 

27В [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) отдельная модель классификатора проверяет действия вместо вас и блокирует те, которые она считает небезопасными. [Как классификатор оценивает действия](/docs/ru/permission-modes#how-the-classifier-evaluates-actions) перечисляет, какие действия Claude Code одобряет сразу, какие отправляет классификатору и о каких Claude Code все еще вас спрашивает. Ваши явные правила ask и deny по-прежнему применяются, и ваша организация может [отключить режим auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode).28Вы и ваша организация настраиваете эти разрешения напрямую. Для подробной конфигурации разрешений см. [Разрешения](/docs/ru/permissions).

28 

29Режим разрешений, в котором начинается сеанс, зависит от вашего плана, поверхности, с которой вы его запускаете, и ваших параметров и параметров вашей организации; см. [Режимы разрешений](/docs/ru/permission-modes#which-mode-a-session-starts-in).

30 

31Для подробной конфигурации разрешений см. [Разрешения](/docs/ru/permissions).

32 29 

33<h3 id="built-in-protections">30<h3 id="built-in-protections">

34 Встроенные защиты31 Встроенные защиты


37Для снижения рисков в агентных системах:34Для снижения рисков в агентных системах:

38 35 

39* **Изолированный инструмент Bash**: [Sandbox](/docs/ru/sandboxing) команды Bash с изоляцией файловой системы и сети, снижая количество запросов разрешений при сохранении безопасности. Настройте с помощью `/sandbox` для определения границ, в которых Claude Code может работать автономно36* **Изолированный инструмент Bash**: [Sandbox](/docs/ru/sandboxing) команды Bash с изоляцией файловой системы и сети, снижая количество запросов разрешений при сохранении безопасности. Настройте с помощью `/sandbox` для определения границ, в которых Claude Code может работать автономно

40* **Ограничение рабочей директории**: В режиме Manual Claude Code может писать только в папку, в которой он был запущен, и её подпапки, и не может изменять файлы в родительских директориях без явного разрешения. В режиме Manual Claude Code также спрашивает вас перед чтением путей вне этой границы с помощью инструментов Read, Grep и Glob. Расширьте границу с помощью [дополнительных директорий](/docs/ru/permissions#working-directories) для пропуска запроса, или ограничьте более широкий доступ на чтение, доступный командам Bash только для чтения, с помощью [правил sandbox `denyRead`](/docs/ru/sandboxing#filesystem-isolation), которые применяются только при включенной изоляции37* **Ограничение рабочего каталога**: В режиме Manual Claude Code спрашивает вас, прежде чем его файловые инструменты будут читать или записывать за пределами папки, в которой он был запущен, и её подпапок. Эта граница является запросом разрешения, поэтому подтвержденная вами команда Bash по-прежнему может записывать в любое место, доступное вашей учетной записи пользователя

38 * Чтобы читать папку без запроса, добавьте её как [дополнительный каталог](/docs/ru/permissions#working-directories)

39 * Чтобы ограничить команды Bash на уровне операционной системы, включите [изоляцию в песочнице](/docs/ru/sandboxing#filesystem-isolation)

41* **Смягчение усталости от запросов**: Поддержка списков разрешений часто используемых безопасных команд для каждого пользователя, кодовой базы или организации40* **Смягчение усталости от запросов**: Поддержка списков разрешений часто используемых безопасных команд для каждого пользователя, кодовой базы или организации

42* **Режим Accept Edits**: Автоматически одобряет правки файлов и фиксированный набор команд Bash файловой системы, таких как `mkdir`, `touch`, `rm`, `mv`, `cp` и `sed` для путей в рабочей директории. Другие команды Bash и пути вне области действия по-прежнему запрашивают разрешение41* **Режим Accept Edits**: Автоматически одобряет правки файлов и фиксированный набор команд Bash файловой системы, таких как `mkdir`, `touch`, `rm`, `mv`, `cp` и `sed` для путей в рабочей директории. Другие команды Bash и пути вне области действия по-прежнему запрашивают разрешение

43 42 


45 Ответственность пользователя44 Ответственность пользователя

46</h3>45</h3>

47 46 

48Claude Code имеет только те разрешения, которые вы ему предоставляете. Вы несете ответственность за проверку предложенного кода и команд на безопасность перед одобрением.47Вы несете ответственность за проверку предложенного кода и команд на безопасность перед подтверждением.

49 48 

50<h2 id="protect-against-prompt-injection">49<h2 id="protect-against-prompt-injection">

51 Защита от инъекций в подсказки50 Защита от инъекций в подсказки


58</h3>57</h3>

59 58 

60* **Система разрешений**: В режиме Manual чувствительные операции требуют явного одобрения59* **Система разрешений**: В режиме Manual чувствительные операции требуют явного одобрения

61* **Анализ с учетом контекста**: Обнаруживает потенциально вредоносные инструкции путем анализа полного запроса

62* **Санитизация входных данных**: Предотвращает инъекции команд путем обработки пользовательских входных данных

63* **Одобрение команд сетевого доступа**: Команды, которые получают контент из веб-сети, такие как `curl` и `wget`, не одобряются автоматически по умолчанию. В режиме Manual они требуют одобрения, как и любая другая команда Bash, не предназначенная только для чтения, поэтому вы все еще можете одобрить их один раз или добавить явное правило разрешения, такое как `Bash(curl *)`. Чтобы заблокировать их полностью, добавьте их в [`permissions.deny`](/docs/ru/permissions#tool-specific-permission-rules). Правило deny соответствует команде [как написано](/docs/ru/permissions#bash-rule-limits); для сетевого контроля, который не зависит от текста команды, см. [изоляцию сетевого доступа sandbox](/docs/ru/sandboxing#network-isolation)60* **Одобрение команд сетевого доступа**: Команды, которые получают контент из веб-сети, такие как `curl` и `wget`, не одобряются автоматически по умолчанию. В режиме Manual они требуют одобрения, как и любая другая команда Bash, не предназначенная только для чтения, поэтому вы все еще можете одобрить их один раз или добавить явное правило разрешения, такое как `Bash(curl *)`. Чтобы заблокировать их полностью, добавьте их в [`permissions.deny`](/docs/ru/permissions#tool-specific-permission-rules). Правило deny соответствует команде [как написано](/docs/ru/permissions#bash-rule-limits); для сетевого контроля, который не зависит от текста команды, см. [изоляцию сетевого доступа sandbox](/docs/ru/sandboxing#network-isolation)

64 61 

65<h3 id="privacy-safeguards">62<h3 id="privacy-safeguards">


79</h3>76</h3>

80 77 

81* **Одобрение сетевых запросов**: В режиме Manual инструменты, которые делают сетевые запросы, требуют одобрения пользователя по умолчанию78* **Одобрение сетевых запросов**: В режиме Manual инструменты, которые делают сетевые запросы, требуют одобрения пользователя по умолчанию

82* **Изолированные контекстные окна**: Web fetch использует отдельное контекстное окно, чтобы избежать инъекции потенциально вредоносных подсказок79* **Сводки веб-страниц**: Для большинства запросов WebFetch выполняет отдельный вызов модели по содержимому страницы, и Claude получает ответ этого вызова вместо исходной страницы. См. [Поведение инструмента WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior)

83* **Проверка доверия**: Первые запуски кодовой базы и новые MCP servers требуют проверки доверия80* **Проверка доверия**: В интерактивной сессии Claude Code показывает диалог доверия к рабочему пространству, когда вы запускаете его в папке, которой вы ещё не доверяли. Для серверов из файла `.mcp.json` проекта есть собственный запрос подтверждения, а в разделе [Область действия проекта](/docs/ru/mcp#project-scope) перечислены сессии, в которых он пропускается

84 * Примечание: Проверка доверия отключена при неинтерактивном запуске с флагом `-p`81 * Примечание: Сессия с `-p` не показывает ни один из этих запросов. В разделе [Что запускается до того, как вы доверите папке](/docs/ru/permissions#what-runs-before-you-trust-a-folder) перечислено, что файлы репозитория могут запустить в этом случае

85 * Примечание: Когда вы запускаете Claude Code непосредственно в вашем домашнем каталоге, принятие доверия сохраняется только для текущего сеанса и не записывается на диск, поэтому подсказка появляется снова при каждом запуске. Нет никакого параметра для сохранения этого. Запустите Claude Code из подкаталога проекта вместо этого, где принятие доверия сохраняется для каждого каталога82 * Примечание: Когда вы запускаете Claude Code непосредственно в вашем домашнем каталоге, принятие доверия сохраняется только для текущей сессии и не записывается на диск, поэтому запрос появляется снова при каждом запуске. Настройки, позволяющей сохранить его, нет. Вместо этого запускайте Claude Code из подкаталога проекта, где принятие доверия сохраняется для каждого каталога

86* **Обнаружение инъекций команд**: В режиме Manual подозрительные bash команды требуют ручного одобрения даже если они были ранее добавлены в список разрешений83* **Обнаружение инъекций команд**: В режиме Manual Claude Code запрашивает подтверждение перед запуском команды Bash, которую он не может полностью проанализировать. Правило разрешения для части команды, например `Bash(git *)`, не отменяет этот запрос. [Команды в песочнице](/docs/ru/permissions#how-permissions-interact-with-sandboxing) могут выполняться без него

87* **Сопоставление с отказом по умолчанию**: В режиме Manual несопоставленные команды по умолчанию требуют ручного одобрения84* **Сопоставление с отказом по умолчанию**: В режиме Manual несопоставленные команды по умолчанию требуют ручного одобрения

88* **Описания на естественном языке**: Сложные bash команды включают объяснения для понимания пользователем85* **Безопасное хранилище учётных данных**: API-ключи и токены хранятся в macOS Keychain, когда это доступно. В Linux они хранятся в файле с правами доступа `0600`, а в Windows — в файле, который наследует средства контроля доступа каталога вашего профиля пользователя. См. [Управление учётными данными](/docs/ru/authentication#credential-management)

89* **Безопасное хранилище учетных данных**: API ключи и токены хранятся в macOS Keychain, когда это доступно, и защищены разрешениями файлов на Windows и Linux. См. [Управление учетными данными](/docs/ru/authentication#credential-management)

90 86 

91<Warning>87<Warning>

92 **Риск безопасности Windows WebDAV**: При запуске Claude Code на Windows мы рекомендуем не включать WebDAV и не разрешать Claude Code доступ к путям, таким как `\\*`, которые могут содержать подпапки WebDAV. [WebDAV был объявлен устаревшим Microsoft](https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features#:~:text=The%20Webclient%20\(WebDAV\)%20service%20is%20deprecated) из-за рисков безопасности. Включение WebDAV может позволить Claude Code инициировать сетевые запросы к удаленным хостам, обходя систему разрешений.88 **Риск безопасности Windows WebDAV**: При запуске Claude Code на Windows мы рекомендуем не включать WebDAV и не разрешать Claude Code доступ к путям, таким как `\\*`, которые могут содержать подпапки WebDAV. [WebDAV был объявлен устаревшим Microsoft](https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features#:~:text=The%20Webclient%20\(WebDAV\)%20service%20is%20deprecated) из-за рисков безопасности. Включение WebDAV может позволить Claude Code инициировать сетевые запросы к удаленным хостам, обходя систему разрешений.


110 Безопасность MCP106 Безопасность MCP

111</h2>107</h2>

112 108 

113Claude Code позволяет пользователям настраивать серверы Model Context Protocol (MCP). Список разрешенных MCP серверов настраивается в вашем исходном коде как часть параметров Claude Code, которые инженеры проверяют в систему контроля версий.109Вы можете подключить Claude Code к серверам Model Context Protocol (MCP). Серверы на уровне проекта определяются в `.mcp.json`, который можно добавить в систему контроля версий. Серверы с [другими областями действия](/docs/ru/mcp#mcp-installation-scopes) и [коннекторы claude.ai](/docs/ru/mcp#how-connectors-reach-claude-code) настраиваются вне репозитория, а плагины тоже могут добавлять серверы, поэтому просмотр `.mcp.json` не показывает все серверы, которые может загрузить сессия. Чтобы ограничить, какие серверы запускаются в вашей организации, см. раздел [Управляемая конфигурация MCP](/docs/ru/managed-mcp).

114 110 

115Мы рекомендуем либо писать свои собственные MCP серверы, либо использовать MCP серверы от поставщиков, которым вы доверяете. Вы можете настроить разрешения Claude Code для MCP серверов. Anthropic проверяет соединители в соответствии с его [критериями листинга](https://claude.com/docs/connectors/building/review-criteria) перед добавлением их в [Anthropic Directory](https://claude.ai/directory), но не проводит проверку безопасности и не управляет никакими MCP серверами.111Мы рекомендуем либо писать свои собственные MCP серверы, либо использовать MCP серверы от поставщиков, которым вы доверяете. Вы можете настроить разрешения Claude Code для MCP серверов. Anthropic проверяет соединители в соответствии с его [критериями листинга](https://claude.com/docs/connectors/building/review-criteria) перед добавлением их в [Anthropic Directory](https://claude.ai/directory), но не проводит проверку безопасности и не управляет никакими MCP серверами.

116 112 


129* **Изолированные виртуальные машины**: Каждый облачный сеанс работает в изолированной ВМ, управляемой Anthropic125* **Изолированные виртуальные машины**: Каждый облачный сеанс работает в изолированной ВМ, управляемой Anthropic

130* **Элементы управления доступом в сети**: Доступ в сеть ограничен по умолчанию и может быть настроен на отключение или разрешение только определенных доменов126* **Элементы управления доступом в сети**: Доступ в сеть ограничен по умолчанию и может быть настроен на отключение или разрешение только определенных доменов

131* **Защита учетных данных**: Учетные данные GitHub хранятся в зашифрованном виде на серверах Anthropic и никогда не попадают в ВМ сеанса. ВМ содержит краткосрочное учетное данное, ограниченное этим сеансом, и трафик GitHub проходит через [прокси Anthropic](/docs/ru/cloud-environments#github-proxy), который прикрепляет учетное данное GitHub на стороне сервера. См. [Параметры аутентификации GitHub](/docs/ru/claude-code-on-the-web#github-authentication-options) для получения информации о том, как вы предоставляете доступ127* **Защита учетных данных**: Учетные данные GitHub хранятся в зашифрованном виде на серверах Anthropic и никогда не попадают в ВМ сеанса. ВМ содержит краткосрочное учетное данное, ограниченное этим сеансом, и трафик GitHub проходит через [прокси Anthropic](/docs/ru/cloud-environments#github-proxy), который прикрепляет учетное данное GitHub на стороне сервера. См. [Параметры аутентификации GitHub](/docs/ru/claude-code-on-the-web#github-authentication-options) для получения информации о том, как вы предоставляете доступ

132* **Ограничения ветвей**: Операции Git push ограничены текущей рабочей ветвью128* **Ограничения push**: [Прокси GitHub](/docs/ru/cloud-environments#github-proxy) отклоняет удаление веток и push всего, что не является веткой, например тега. GitHub определяет, какие ветки может обновлять сессия, применяя правила защиты веток и наборы правил вашего репозитория к подключённому вами доступу GitHub. Правило, которое этот доступ может обойти, не блокирует push из сессии

133* **Логирование аудита**: Все операции в облачных сеансах регистрируются в целях соответствия и аудита129* **Логирование аудита**: Все операции в облачных сеансах регистрируются в целях соответствия и аудита

134* **Автоматическая очистка**: Облачные ВМ сеансов высвобождаются после периода неактивности130* **Автоматическая очистка**: Облачные ВМ сеансов высвобождаются после периода неактивности

135* **Удаление**: Вы можете [удалить сеанс](/docs/ru/claude-code-on-the-web#delete-sessions) в любое время. См. [Поток данных облачного выполнения](/docs/ru/data-usage#cloud-execution-data-flow-and-dependencies) для получения информации о том, что Anthropic хранит для облачного сеанса131* **Удаление**: Вы можете [удалить сеанс](/docs/ru/claude-code-on-the-web#delete-sessions) в любое время. См. [Поток данных облачного выполнения](/docs/ru/data-usage#cloud-execution-data-flow-and-dependencies) для получения информации о том, что Anthropic хранит для облачного сеанса

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>

Details

203 }203 }

204 ]204 ]

205 },205 },

206 // Зарегистрируйте marketplace плагинов команды при каждом клонировании206 // Зарегистрируйте маркетплейс плагинов команды при каждом клонировании

207 "extraKnownMarketplaces": {207 "extraKnownMarketplaces": {

208 "acme-tools": {208 "acme-tools": {

209 "source": {209 "source": {


212 }212 }

213 }213 }

214 },214 },

215 // Включите один плагин из этого marketplace; плагин из внешнего источника, такого как репозиторий GitHub, все еще требует, чтобы каждый человек установил его один раз215 // Включите один плагин из этого маркетплейса; плагин из внешнего источника, такого как репозиторий GitHub, все еще требует, чтобы каждый человек установил его один раз

216 "enabledPlugins": {216 "enabledPlugins": {

217 "code-formatter@acme-tools": true217 "code-formatter@acme-tools": true

218 },218 },

219 // Команды Sandbox: записываемая папка build; npm и example.com предварительно разрешены, другие хосты все еще запрашивают219 // Команды в песочнице: папка сборки с правом записи; npm и example.com предварительно разрешены

220 "sandbox": {220 "sandbox": {

221 "enabled": true,221 "enabled": true,

222 "filesystem": {222 "filesystem": {


250* [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly) и [`allowManagedMcpServersOnly`](/docs/ru/settings-reference#allowmanagedmcpserversonly) делают управляемые списки разрешений для разрешений и MCP единственными применяемыми250* [`allowManagedPermissionRulesOnly`](/docs/ru/settings-reference#allowmanagedpermissionrulesonly) и [`allowManagedMcpServersOnly`](/docs/ru/settings-reference#allowmanagedmcpserversonly) делают управляемые списки разрешений для разрешений и MCP единственными применяемыми

251* `allowedMcpServers` закрепляет MCP сервер по URL251* `allowedMcpServers` закрепляет MCP сервер по URL

252* `strictKnownMarketplaces` разрешает один marketplace плагинов252* `strictKnownMarketplaces` разрешает один marketplace плагинов

253* `sandbox` помещает команды в sandbox с фиксированным списком разрешений сети и без повторной попытки без sandbox253* `sandbox` изолирует команды в песочнице с фиксированным списком разрешённых сетевых доменов и без повторной попытки вне песочницы. Его ключ `failIfUnavailable` [не даёт Claude Code запуститься там, где песочница не может работать](/docs/ru/sandboxing#enforce-sandboxing-with-managed-settings)

254* `requiredMinimumVersion` устанавливает минимальную версию Claude Code254* `requiredMinimumVersion` устанавливает минимальную версию Claude Code

255* `cleanupPeriodDays` сокращает хранение стенограмм сеансов и других локальных данных до семи дней255* `cleanupPeriodDays` сокращает хранение стенограмм сеансов и других локальных данных до семи дней

256* `companyAnnouncements` показывает сообщение при запуске256* `companyAnnouncements` показывает сообщение при запуске

settings-reference.md +595 −562

Details

574<span id="all-settings" />574<span id="all-settings" />

575 575 

576<h2 id="settings-index">576<h2 id="settings-index">

577 Индекс параметров577 Индекс настроек

578</h2>578</h2>

579 579 

580Каждый ключ ниже ссылается на его запись. Область применения указывает [файлы](/docs/ru/settings#settings-files-and-who-they-affect), в которых он может находиться: `User` — это `~/.claude/settings.json`, `Project` — это `.claude/settings.json`, `Local` — это `.claude/settings.local.json`, а `Managed` — это [то, что развёртывает ваша организация](/docs/ru/managed-settings). `Any file` означает все четыре, а `Global config` означает [`~/.claude.json`](#global-config-settings).580Каждый ключ ниже ссылается на его запись. Область действия указывает [файлы](/docs/ru/settings#settings-files-and-who-they-affect), в которых он может находиться: `User` — это `~/.claude/settings.json`, `Project` — это `.claude/settings.json`, `Local` — это `.claude/settings.local.json`, а `Managed` — это [то, что развёртывает ваша организация](/docs/ru/managed-settings). `Any file` означает все четыре, а `Global config` означает [`~/.claude.json`](#global-config-settings).

581 581 

582<ReferenceFilter582<ReferenceFilter

583 noun="settings"583 noun="settings"


592| Key | Description | Topic | Scope |592| Key | Description | Topic | Scope |

593| :- | :- | :- | :- |593| :- | :- | :- | :- |

594| [`advisorModel`](#advisormodel) | Выберите, какая модель отвечает, когда Claude использует [инструмент советника](/docs/ru/advisor) | Model and responses | Any file |594| [`advisorModel`](#advisormodel) | Выберите, какая модель отвечает, когда Claude использует [инструмент советника](/docs/ru/advisor) | Model and responses | Any file |

595| [`agent`](#agent) | Начните каждый сеанс как именованный [подагент](/docs/ru/sub-agents) с его подсказкой, инструментами и моделью | Agents, sessions, and worktrees | Any file |595| [`agent`](#agent) | Начинайте каждую сессию как именованный [субагент](/docs/ru/sub-agents) с его промптом, инструментами и моделью | Agents, sessions, and worktrees | Any file |

596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Позвольте Claude отправить [push-уведомление на ваш телефон](/docs/ru/remote-control#mobile-push-notifications), когда он решит это сделать | Remote, desktop, and notifications | Any file |596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Позвольте Claude отправить [push-уведомление на ваш телефон](/docs/ru/remote-control#mobile-push-notifications), когда он решит это сделать | Remote, desktop, and notifications | Any file |

597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Загружайте [разъёмы claude.ai](/docs/ru/mcp), которые Claude Code получает сам, наряду с развёрнутым [`managed-mcp.json`](/docs/ru/managed-mcp#exclusive-control-with-managed-mcp-json) | MCP | Managed |597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Загружайте [коннекторы claude.ai](/docs/ru/mcp), которые Claude Code получает сам, наряду с развёрнутым [`managed-mcp.json`](/docs/ru/managed-mcp#exclusive-control-with-managed-mcp-json) | MCP | Managed |

598| [`allowClaudeInChromeWithManagedMcp`](#allowclaudeinchromewithmanagedmcp) | Позвольте встроенному [серверу Claude в Chrome](/docs/ru/chrome) работать наряду с развёрнутым [`managed-mcp.json`](/docs/ru/managed-mcp#exclusive-control-with-managed-mcp-json) | MCP | Managed |598| [`allowClaudeInChromeWithManagedMcp`](#allowclaudeinchromewithmanagedmcp) | Позвольте встроенному серверу [Claude in Chrome](/docs/ru/chrome) работать наряду с развёрнутым [`managed-mcp.json`](/docs/ru/managed-mcp#exclusive-control-with-managed-mcp-json) | MCP | Managed |

599| [`allowedChannelPlugins`](#allowedchannelplugins) | Замените список разрешений по умолчанию для [плагинов канала](/docs/ru/channels#restrict-which-channel-plugins-can-run), которые могут отправлять сообщения | Plugins and skills | Managed |599| [`allowedChannelPlugins`](#allowedchannelplugins) | Замените список разрешённых по умолчанию [плагинов каналов](/docs/ru/channels#restrict-which-channel-plugins-can-run), которые могут отправлять сообщения | Plugins and skills | Managed |

600| [`allowedHttpHookUrls`](#allowedhttphookurls) | Ограничьте, какие URL-адреса могут использовать [HTTP hooks](/docs/ru/hooks) | Hooks and automation | Any file |600| [`allowedHttpHookUrls`](#allowedhttphookurls) | Ограничьте, какие URL-адреса могут использовать [HTTP-хуки](/docs/ru/hooks) | Hooks and automation | Any file |

601| [`allowedMcpServers`](#allowedmcpservers) | Создайте список разрешений для [MCP серверов](/docs/ru/mcp), которые могут добавлять пользователи | MCP | Any file |601| [`allowedMcpServers`](#allowedmcpservers) | Создайте список разрешённых [MCP-серверов](/docs/ru/mcp), которые могут добавлять пользователи | MCP | Any file |

602| [`allowedProviders`](#allowedproviders) | Ограничьте, какие [поставщики API](/docs/ru/third-party-integrations) может использовать машина | Authentication and providers | Managed |602| [`allowedProviders`](#allowedproviders) | Ограничьте, какие [поставщики API](/docs/ru/third-party-integrations) может использовать машина | Authentication and providers | Managed |

603| [`allowManagedHooksOnly`](#allowmanagedhooksonly) | Запускайте только [hooks](/docs/ru/hooks), которые развёртывает ваша организация | Hooks and automation | Managed |603| [`allowManagedHooksOnly`](#allowmanagedhooksonly) | Запускайте только [хуки](/docs/ru/hooks), которые развёртывает ваша организация | Hooks and automation | Managed |

604| [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) | Сделайте список разрешений управляемых [MCP](/docs/ru/mcp) единственным применяемым | MCP | Managed |604| [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) | Сделайте управляемый список разрешённых серверов [MCP](/docs/ru/mcp) единственным применяемым | MCP | Managed |

605| [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly) | Сделайте [управляемые параметры](/docs/ru/managed-settings) единственным источником параметров для [правил разрешений](/docs/ru/permissions#managed-settings) | Permission settings | Managed |605| [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly) | Сделайте [управляемые настройки](/docs/ru/managed-settings) единственным источником настроек для [правил разрешений](/docs/ru/permissions#managed-settings) | Permission settings | Managed |

606| [`alwaysThinkingEnabled`](#alwaysthinkingenabled) | Отключите [расширенное мышление](/docs/ru/model-config#extended-thinking) для каждого сеанса | Model and responses | Any file |606| [`alwaysThinkingEnabled`](#alwaysthinkingenabled) | Отключите [расширенное мышление](/docs/ru/model-config#extended-thinking) для каждой сессии | Model and responses | Any file |

607| [`apiKeyHelper`](#apikeyhelper) | Создайте [учётные данные API](/docs/ru/authentication#credential-management) с помощью вашей собственной команды | Authentication and providers | Any file |607| [`apiKeyHelper`](#apikeyhelper) | Создайте [учётные данные API](/docs/ru/authentication#credential-management) с помощью вашей собственной команды | Authentication and providers | Any file |

608| [`askUserQuestionTimeout`](#askuserquestiontimeout) | Позвольте неотвеченному вопросу [автоматически продолжиться](/docs/ru/tools-reference#question-auto-continue-timeout) после времени простоя | Interface and terminal | User or managed |608| [`askUserQuestionTimeout`](#askuserquestiontimeout) | Позвольте неотвеченному вопросу [автоматически продолжиться](/docs/ru/tools-reference#question-auto-continue-timeout) после времени простоя | Interface and terminal | User or managed |

609| [`appendPlugins`](#appendplugins) | Запускайте [моды](/docs/ru/plugins/mods/admin) вашей организации после каждого мода, который устанавливает пользователь | Plugins and skills | User or managed |609| [`appendPlugins`](#appendplugins) | Запускайте [моды](/docs/ru/plugins/mods/admin) вашей организации после каждого мода, который устанавливает пользователь | Plugins and skills | User or managed |

610| [`attribution`](#attribution) | Настройте атрибуцию, которую Claude Code добавляет к коммитам и pull request'ам | Git and attribution | Any file |610| [`attribution`](#attribution) | Настройте атрибуцию, которую Claude Code добавляет к коммитам и pull request'ам | Git and attribution | Any file |

611| [`attribution.commit`](#attribution-commit) | Измените или скройте трейлер, который Claude Code добавляет к коммитам | Git and attribution | Any file |611| [`attribution.commit`](#attribution-commit) | Измените или скройте трейлер, который Claude Code добавляет к коммитам | Git and attribution | Any file |

612| [`attribution.pr`](#attribution-pr) | Измените или скройте строку атрибуции в описаниях pull request'ов | Git and attribution | Any file |612| [`attribution.pr`](#attribution-pr) | Измените или скройте строку атрибуции в описаниях pull request'ов | Git and attribution | Any file |

613| [`attribution.sessionUrl`](#attribution-sessionurl) | Опустите ссылку на сеанс claude.ai из [облачных](/docs/ru/claude-code-on-the-web) и [Remote Control](/docs/ru/remote-control) коммитов | Git and attribution | Any file |613| [`attribution.sessionUrl`](#attribution-sessionurl) | Опустите ссылку на сессию claude.ai из [облачных](/docs/ru/claude-code-on-the-web) и [Remote Control](/docs/ru/remote-control) коммитов | Git and attribution | Any file |

614| [`autoCompactEnabled`](#autocompactenabled) | Отключите или включите [автоматическое сжатие](/docs/ru/context-window) | Memory and context | Any file |614| [`autoCompactEnabled`](#autocompactenabled) | Отключите или включите [автоматическое сжатие контекста](/docs/ru/context-window) | Memory and context | Any file |

615| [`autoCompactWindow`](#autocompactwindow) | Установите, насколько полным становится контекст перед тем, как Claude Code [сжимает](/docs/ru/context-window) | Memory and context | Any file |615| [`autoCompactWindow`](#autocompactwindow) | Установите, насколько заполненным становится контекст перед тем, как Claude Code [сжимает](/docs/ru/context-window) его | Memory and context | Any file |

616| [`autoConnectIde`](#autoconnectide) | Автоматически подключайтесь к работающей [VS Code](/docs/ru/vs-code) или [JetBrains](/docs/ru/jetbrains#from-external-terminals) IDE из внешнего терминала | Global config settings | Global config |616| [`autoConnectIde`](#autoconnectide) | Автоматически подключайтесь к работающей [VS Code](/docs/ru/vs-code) или [JetBrains](/docs/ru/jetbrains#from-external-terminals) IDE из внешнего терминала | Global config settings | Global config |

617| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Ждите в открытом сеансе и [автоматически продолжайте задачу](/docs/ru/interactive-mode#wait-for-a-usage-limit-to-reset) после сброса лимита использования claude.ai | Interface and terminal | User or managed |617| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Ждите в открытой сессии и [автоматически продолжайте задачу](/docs/ru/interactive-mode#wait-for-a-usage-limit-to-reset) после сброса лимита использования claude.ai | Interface and terminal | User or managed |

618| [`autoInstallIdeExtension`](#autoinstallideextension) | Отключите автоматическую установку [расширения IDE](/docs/ru/vs-code#install-the-extension) из терминала VS Code | Global config settings | Global config |618| [`autoInstallIdeExtension`](#autoinstallideextension) | Отключите автоматическую установку [расширения IDE](/docs/ru/vs-code#install-the-extension) из терминала VS Code | Global config settings | Global config |

619| [`autoMemoryDirectory`](#automemorydirectory) | Сохраняйте [автоматическую память](/docs/ru/memory#auto-memory) в выбранном вами каталоге | Memory and context | Any file |619| [`autoMemoryDirectory`](#automemorydirectory) | Сохраняйте [автоматическую память](/docs/ru/memory#auto-memory) в выбранном вами каталоге | Memory and context | Any file |

620| [`autoMemoryEnabled`](#automemoryenabled) | Отключите или включите [автоматическую память](/docs/ru/memory#auto-memory) | Memory and context | Any file |620| [`autoMemoryEnabled`](#automemoryenabled) | Отключите или включите [автоматическую память](/docs/ru/memory#auto-memory) | Memory and context | Any file |

621| [`autoMode`](#automode) | Добавьте свои собственные правила разрешения и запрета к классификатору [режима авто](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) | Permission settings | User or managed |621| [`autoMode`](#automode) | Добавьте свои собственные правила разрешения и запрета к классификатору [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) | Permission settings | User or managed |

622| [`autoMode.classifyAllShell`](#automode-classifyallshell) | Отправляйте каждую команду shell через [классификатор режима авто](/docs/ru/permission-modes#what-the-classifier-blocks-by-default), даже те, которые соответствуют узкому правилу разрешения | Permission settings | User or managed |622| [`autoMode.classifyAllShell`](#automode-classifyallshell) | Отправляйте каждую shell-команду через [классификатор авторежима](/docs/ru/permission-modes#what-the-classifier-blocks-by-default), даже те, которые соответствуют узкому правилу разрешения | Permission settings | User or managed |

623| [`autoScrollEnabled`](#autoscrollenabled) | [Следите за новым выводом](/docs/ru/fullscreen#auto-follow) в нижней части при полноэкранном отображении | Interface and terminal | Any file |623| [`autoScrollEnabled`](#autoscrollenabled) | [Следите за новым выводом](/docs/ru/fullscreen#auto-follow) в нижней части при полноэкранном отображении | Interface and terminal | Any file |

624| [`autoUpdatesChannel`](#autoupdateschannel) | Следуйте стабильному [каналу выпуска](/docs/ru/setup#configure-release-channel) вместо последнего | Updates and versioning | Any file |624| [`autoUpdatesChannel`](#autoupdateschannel) | Следуйте стабильному [каналу выпуска](/docs/ru/setup#configure-release-channel) вместо последнего | Updates and versioning | Any file |

625| [`availableModels`](#availablemodels) | [Ограничьте, какие модели](/docs/ru/model-config#restrict-model-selection) люди могут выбирать | Model and responses | Any file |625| [`availableModels`](#availablemodels) | [Ограничьте, какие модели](/docs/ru/model-config#restrict-model-selection) люди могут выбирать | Model and responses | Any file |

626| [`availableModelsMatch`](#availablemodelsmatch) | Сделайте каждую запись ID модели `availableModels` [разрешающей только версию, которую она называет](/docs/ru/model-config#block-specific-models-or-versions) | Model and responses | Managed |626| [`availableModelsMatch`](#availablemodelsmatch) | Сделайте каждую запись ID модели `availableModels` [разрешающей только версию, которую она называет](/docs/ru/model-config#block-specific-models-or-versions) | Model and responses | Managed |

627| [`awaySummaryEnabled`](#awaysummaryenabled) | Отключите [краткое описание сеанса](/docs/ru/interactive-mode#session-recap), показываемое при возврате к терминалу | Remote, desktop, and notifications | Any file |627| [`awaySummaryEnabled`](#awaysummaryenabled) | Отключите [краткое описание сессии](/docs/ru/interactive-mode#session-recap), показываемое при возврате к терминалу | Remote, desktop, and notifications | Any file |

628| [`awsAuthRefresh`](#awsauthrefresh) | Обновляйте истёкшие [учётные данные Bedrock](/docs/ru/amazon-bedrock#advanced-credential-configuration) в `.aws` с помощью вашей собственной команды | Authentication and providers | Any file |628| [`awsAuthRefresh`](#awsauthrefresh) | Обновляйте истёкшие [учётные данные Bedrock](/docs/ru/amazon-bedrock#advanced-credential-configuration) в `.aws` с помощью вашей собственной команды | Authentication and providers | Any file |

629| [`awsCredentialExport`](#awscredentialexport) | Предоставляйте [учётные данные Bedrock](/docs/ru/amazon-bedrock#advanced-credential-configuration) как JSON из вашей собственной команды | Authentication and providers | Any file |629| [`awsCredentialExport`](#awscredentialexport) | Предоставляйте [учётные данные Bedrock](/docs/ru/amazon-bedrock#advanced-credential-configuration) как JSON из вашей собственной команды | Authentication and providers | Any file |

630| [`axScreenReader`](#axscreenreader) | Отображайте [вывод, удобный для программ чтения с экрана](/docs/ru/accessibility) | Interface and terminal | Any file |630| [`axScreenReader`](#axscreenreader) | Отображайте [вывод, удобный для программ чтения с экрана](/docs/ru/accessibility) | Interface and terminal | Any file |


633| [`blockedMarketplaces`](#blockedmarketplaces) | Блокируйте источники [маркетплейса плагинов](/docs/ru/plugins/overview) для вашей организации | Plugins and skills | Managed |633| [`blockedMarketplaces`](#blockedmarketplaces) | Блокируйте источники [маркетплейса плагинов](/docs/ru/plugins/overview) для вашей организации | Plugins and skills | Managed |

634| [`browserExternalPageTools`](#browserexternalpagetools) | Отключите инструменты Claude на внешних страницах в [настольной](/docs/ru/desktop) панели Browser | Tools | Managed |634| [`browserExternalPageTools`](#browserexternalpagetools) | Отключите инструменты Claude на внешних страницах в [настольной](/docs/ru/desktop) панели Browser | Tools | Managed |

635| [`channelsEnabled`](#channelsenabled) | Разрешите [каналы](/docs/ru/channels#enable-channels-for-your-organization) для вашей организации | Plugins and skills | Managed |635| [`channelsEnabled`](#channelsenabled) | Разрешите [каналы](/docs/ru/channels#enable-channels-for-your-organization) для вашей организации | Plugins and skills | Managed |

636| [`claudeInChromeDefaultEnabled`](#claudeinchromedefaultenabled) | Включите [интеграцию с Chrome](/docs/ru/chrome) в каждом интерактивном сеансе CLI без передачи `--chrome` | Global config settings | Global config |636| [`claudeInChromeDefaultEnabled`](#claudeinchromedefaultenabled) | Включите [интеграцию с Chrome](/docs/ru/chrome) в каждой интерактивной сессии CLI без передачи `--chrome` | Global config settings | Global config |

637| [`claudeMd`](#claudemd) | Внедрите организационные [инструкции CLAUDE.md](/docs/ru/memory#deploy-organization-wide-claude-md) из управляемых параметров | Memory and context | Managed |637| [`claudeMd`](#claudemd) | Внедрите организационные [инструкции CLAUDE.md](/docs/ru/memory#deploy-organization-wide-claude-md) из управляемых настроек | Memory and context | Managed |

638| [`claudeMdExcludes`](#claudemdexcludes) | Пропускайте определённые [файлы CLAUDE.md](/docs/ru/memory#exclude-specific-claude-md-files) при загрузке памяти | Memory and context | Any file |638| [`claudeMdExcludes`](#claudemdexcludes) | Пропускайте определённые [файлы CLAUDE.md](/docs/ru/memory#exclude-specific-claude-md-files) при загрузке памяти | Memory and context | Any file |

639| [`cleanupPeriodDays`](#cleanupperioddays) | Выберите, сколько дней Claude Code хранит [стенограммы](/docs/ru/data-usage#data-retention) перед их удалением | Privacy and telemetry | Any file |639| [`cleanupPeriodDays`](#cleanupperioddays) | Выберите, сколько дней Claude Code хранит [транскрипты](/docs/ru/data-usage#data-retention) перед их удалением | Privacy and telemetry | Any file |

640| [`companyAnnouncements`](#companyannouncements) | Показывайте объявления вашей организации при запуске | Interface and terminal | Any file |640| [`companyAnnouncements`](#companyannouncements) | Показывайте объявления вашей организации при запуске | Interface and terminal | Any file |

641| [`copyFullResponse`](#copyfullresponse) | Сделайте [`/copy`](/docs/ru/commands) копирующей полный ответ без отображения средства выбора блока кода | Global config settings | Global config |641| [`copyFullResponse`](#copyfullresponse) | Сделайте так, чтобы [`/copy`](/docs/ru/commands) копировала полный ответ без отображения средства выбора блока кода | Global config settings | Global config |

642| [`copyOnSelect`](#copyonselect) | Отключите автоматическое копирование текста, который вы выбираете мышью в [полноэкранном отображении](/docs/ru/fullscreen#use-the-mouse) и представлении агента | Global config settings | Global config |642| [`copyOnSelect`](#copyonselect) | Отключите автоматическое копирование текста, который вы выбираете мышью в [полноэкранном отображении](/docs/ru/fullscreen#use-the-mouse) и представлении агента | Global config settings | Global config |

643| [`crossSessionInbound`](#crosssessioninbound) | Выберите, доставляет ли Claude Code [сообщения из ваших других сеансов](/docs/ru/cross-session-messaging#control-inbound-messages), показывает уведомление без их доставки или отказывает в них | Agents, sessions, and worktrees | Any file |643| [`crossSessionInbound`](#crosssessioninbound) | Выберите, доставляет ли Claude Code [сообщения из ваших других сессий](/docs/ru/cross-session-messaging#control-inbound-messages), показывает уведомление без их доставки или отклоняет их | Agents, sessions, and worktrees | Any file |

644| [`defaultShell`](#defaultshell) | Выберите, запускается ли Bash или PowerShell для команд shell, которые вы вводите с префиксом [`!`](/docs/ru/interactive-mode#shell-mode-with-prefix) | Interface and terminal | Any file |644| [`defaultShell`](#defaultshell) | Выберите, запускается ли Bash или PowerShell для shell-команд, которые вы вводите с префиксом [`!`](/docs/ru/interactive-mode#shell-mode-with-prefix) | Interface and terminal | Any file |

645| [`defaultToAgentsView`](#defaulttoagentsview) | Откройте [представление агента](/docs/ru/agent-view) вместо нового разговора при запуске `claude` без аргументов | Global config settings | Global config |645| [`defaultToAgentsView`](#defaulttoagentsview) | Открывайте [представление агента](/docs/ru/agent-view) вместо нового диалога при запуске `claude` без аргументов | Global config settings | Global config |

646| [`deniedMcpServers`](#deniedmcpservers) | Блокируйте определённые [MCP серверы](/docs/ru/mcp) по URL, команде или имени | MCP | Any file |646| [`deniedMcpServers`](#deniedmcpservers) | Блокируйте определённые [MCP-серверы](/docs/ru/mcp) по URL, команде или имени | MCP | Any file |

647| [`deniedModels`](#deniedmodels) | [Блокируйте определённые модели](/docs/ru/model-config#block-specific-models-or-versions), даже те, которые разрешает `availableModels` | Model and responses | Managed |647| [`deniedModels`](#deniedmodels) | [Блокируйте определённые модели](/docs/ru/model-config#block-specific-models-or-versions), даже те, которые разрешает `availableModels` | Model and responses | Managed |

648| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | Установите возрастной лимит в днях для [стенограмм Claude Desktop и Cowork](/docs/ru/claude-directory#cleaned-up-automatically) | Privacy and telemetry | User or managed |648| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | Установите возрастной лимит в днях для [транскриптов Claude Desktop и Cowork](/docs/ru/claude-directory#cleaned-up-automatically) | Privacy and telemetry | User or managed |

649| [`dialogExpiry`](#dialogexpiry) | Установите, как долго Claude Code ждёт, пока [Remote Control](/docs/ru/remote-control) или хост SDK ответит на переданный диалог, прежде чем отменить диалог | Interface and terminal | User or managed |649| [`dialogExpiry`](#dialogexpiry) | Установите, как долго Claude Code ждёт, пока [Remote Control](/docs/ru/remote-control) или хост SDK ответит на переданное диалоговое окно, прежде чем отменить его | Interface and terminal | User or managed |

650| [`diffTool`](#difftool) | Выберите, открываются ли предложенные Claude изменения файлов в [VS Code](/docs/ru/vs-code) или [JetBrains](/docs/ru/jetbrains#features) средстве просмотра различий или остаются в терминале | Global config settings | Global config |650| [`diffTool`](#difftool) | Выберите, открываются ли предложенные Claude изменения файлов в средстве просмотра diff [VS Code](/docs/ru/vs-code) или [JetBrains](/docs/ru/jetbrains#features) или остаются в терминале | Global config settings | Global config |

651| [`disableAgentView`](#disableagentview) | Отключите фоновые агенты и [представление агента](/docs/ru/agent-view) | Agents, sessions, and worktrees | Any file |651| [`disableAgentView`](#disableagentview) | Отключите фоновые агенты и [представление агента](/docs/ru/agent-view) | Agents, sessions, and worktrees | Any file |

652| [`disableAllHooks`](#disableallhooks) | Отключите [hooks](/docs/ru/hooks), пользовательскую [строку состояния](/docs/ru/statusline) и пользовательскую команду [`@` предложения файла](/docs/ru/interactive-mode#quick-commands) одновременно | Hooks and automation | Any file |652| [`disableAllHooks`](#disableallhooks) | Отключите [хуки](/docs/ru/hooks), пользовательскую [строку состояния](/docs/ru/statusline) и пользовательскую команду [предложения файлов `@`](/docs/ru/interactive-mode#quick-commands) одновременно | Hooks and automation | Any file |

653| [`disableArtifact`](#disableartifact) | Устарело; используйте `enableArtifact` для отключения [инструмента Artifact](/docs/ru/artifacts) | Remote, desktop, and notifications | Any file |653| [`disableArtifact`](#disableartifact) | Устарело; используйте `enableArtifact` для отключения [инструмента Artifact](/docs/ru/artifacts) | Remote, desktop, and notifications | Any file |

654| [`disableAutoMode`](#disableautomode) | Удалите [режим авто](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) из цикла режимов разрешений | Permission settings | Any file |654| [`disableAutoMode`](#disableautomode) | Удалите [авторежим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) из цикла режимов разрешений | Permission settings | Any file |

655| [`disableBrowserExternalNavigation`](#disablebrowserexternalnavigation) | Ограничьте [настольную](/docs/ru/desktop) панель Browser только localhost для людей и Claude | Tools | Managed |655| [`disableBrowserExternalNavigation`](#disablebrowserexternalnavigation) | Ограничьте [настольную](/docs/ru/desktop) панель Browser только localhost для людей и Claude | Tools | Managed |

656| [`disableBundledSkills`](#disablebundledskills) | Отключите [навыки](/docs/ru/skills#bundled-skills) и [рабочие процессы](/docs/ru/workflows), включённые в Claude Code | Plugins and skills | Any file |656| [`disableBundledSkills`](#disablebundledskills) | Отключите [скиллы](/docs/ru/skills#bundled-skills) и [рабочие процессы](/docs/ru/workflows), включённые в Claude Code | Plugins and skills | Any file |

657| [`disableClaudeAiConnectors`](#disableclaudeaiconnectors) | Отключите [разъёмы claude.ai](/docs/ru/mcp#disable-claude-ai-connectors), чтобы Claude Code их не получал | MCP | Any file |657| [`disableClaudeAiConnectors`](#disableclaudeaiconnectors) | Отключите [коннекторы claude.ai](/docs/ru/mcp#disable-claude-ai-connectors), чтобы Claude Code их не получал | MCP | Any file |

658| [`disableCommandPluginSources`](#disablecommandpluginsources) | Блокируйте [плагины](/docs/ru/plugins/overview), которые устанавливаются путём выполнения команды, объявленной маркетплейсом | Plugins and skills | Managed |658| [`disableCommandPluginSources`](#disablecommandpluginsources) | Блокируйте [плагины](/docs/ru/plugins/overview), которые устанавливаются путём выполнения команды, объявленной маркетплейсом | Plugins and skills | Managed |

659| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Остановите регистрацию Claude Code обработчика [`claude-cli://`](/docs/ru/deep-links) | Remote, desktop, and notifications | Any file |659| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Запретите Claude Code регистрировать обработчик [`claude-cli://`](/docs/ru/deep-links) | Remote, desktop, and notifications | Any file |

660| [`disableDesktopLocalSessions`](#disabledesktoplocalsessions) | Отключите [сеансы Desktop Code](/docs/ru/desktop#local-sessions-on-managed-devices), которые работают на устройстве, оставляя SSH для других хостов и облака | Remote, desktop, and notifications | Managed |660| [`disableDesktopLocalSessions`](#disabledesktoplocalsessions) | Отключите [сессии Desktop Code](/docs/ru/desktop#local-sessions-on-managed-devices), которые работают на устройстве, оставляя SSH к другим хостам и облако | Remote, desktop, and notifications | Managed |

661| [`disabledMcpjsonServers`](#disabledmcpjsonservers) | Отклоняйте определённые серверы из [`.mcp.json`](/docs/ru/mcp#project-scope) проекта | MCP | Any file |661| [`disabledMcpjsonServers`](#disabledmcpjsonservers) | Отклоняйте определённые серверы из [`.mcp.json`](/docs/ru/mcp#project-scope) проекта | MCP | Any file |

662| [`disableMobileSimulatorTools`](#disablemobilesimulatortools) | Блокируйте инструменты Claude в [настольной](/docs/ru/desktop) панели iOS Simulator | Tools | Managed |662| [`disableMobileSimulatorTools`](#disablemobilesimulatortools) | Блокируйте инструменты Claude в [настольной](/docs/ru/desktop) панели iOS Simulator | Tools | Managed |

663| [`disableRemoteControl`](#disableremotecontrol) | Отключите [Remote Control](/docs/ru/remote-control) везде, где он может запуститься | Remote, desktop, and notifications | Any file |663| [`disableRemoteControl`](#disableremotecontrol) | Отключите [Remote Control](/docs/ru/remote-control) везде, где он может запуститься | Remote, desktop, and notifications | Any file |

664| [`disableSideloadFlags`](#disablesideloadflags) | Отклоняйте флаги CLI, которые загружают [плагины](/docs/ru/plugins/overview), [подагенты](/docs/ru/sub-agents) и [MCP серверы](/docs/ru/mcp) | Enterprise and managed settings | Managed |664| [`disableSideloadFlags`](#disablesideloadflags) | Отклоняйте флаги CLI, которые загружают [плагины](/docs/ru/plugins/overview), [субагенты](/docs/ru/sub-agents) и [MCP-серверы](/docs/ru/mcp) в обход установки | Enterprise and managed settings | Managed |

665| [`disableSkillShellExecution`](#disableskillshellexecution) | Остановите [навыки](/docs/ru/skills) и пользовательские команды от встроенного выполнения shell | Plugins and skills | Any file |665| [`disableSkillShellExecution`](#disableskillshellexecution) | Запретите [скиллам](/docs/ru/skills) и пользовательским командам встроенное выполнение shell-команд | Plugins and skills | Any file |

666| [`disableWorkflows`](#disableworkflows) | Отключите [динамические рабочие процессы](/docs/ru/workflows) для всех; используйте `enableWorkflows` для себя | Hooks and automation | Any file |666| [`disableWorkflows`](#disableworkflows) | Отключите [динамические рабочие процессы](/docs/ru/workflows) для всех; используйте `enableWorkflows` для себя | Hooks and automation | Any file |

667| [`editorMode`](#editormode) | Используйте [сочетания клавиш vim](/docs/ru/interactive-mode#vim-editor-mode) в приглашении ввода | Interface and terminal | Any file |667| [`editorMode`](#editormode) | Используйте [сочетания клавиш vim](/docs/ru/interactive-mode#vim-editor-mode) в поле ввода промпта | Interface and terminal | Any file |

668| [`effortLevel`](#effortlevel) | Установите уровень [усилий](/docs/ru/model-config#adjust-effort-level) по умолчанию для моделей без сохранённого уровня | Model and responses | Any file |668| [`effortLevel`](#effortlevel) | Установите [уровень effort](/docs/ru/model-config#adjust-effort-level) по умолчанию для моделей без собственного сохранённого уровня | Model and responses | Any file |

669| [`emojiCompletionEnabled`](#emojicompletionenabled) | Отключите [предложения и замену эмодзи `:shortcode:`](/docs/ru/interactive-mode#emoji-shortcodes) в приглашении ввода | Interface and terminal | Any file |669| [`emojiCompletionEnabled`](#emojicompletionenabled) | Отключите [предложения и замену эмодзи `:shortcode:`](/docs/ru/interactive-mode#emoji-shortcodes) в поле ввода промпта | Interface and terminal | Any file |

670| [`enableAllProjectMcpServers`](#enableallprojectmcpservers) | Одобрите каждый сервер в файлах проекта [`.mcp.json`](/docs/ru/mcp#project-server-approvals-and-workspace-trust) без подсказки | MCP | Any file |670| [`enableAllProjectMcpServers`](#enableallprojectmcpservers) | Одобряйте каждый сервер в файлах проекта [`.mcp.json`](/docs/ru/mcp#project-server-approvals-and-workspace-trust) без запроса подтверждения | MCP | Any file |

671| [`enableArtifact`](#enableartifact) | Отключите [инструмент Artifact](/docs/ru/artifacts) с помощью `false` в любом файле; ни один файл не может его включить обратно | Remote, desktop, and notifications | Any file |671| [`enableArtifact`](#enableartifact) | Отключите [инструмент Artifact](/docs/ru/artifacts) с помощью `false` в любом файле; ни один файл не может его включить обратно | Remote, desktop, and notifications | Any file |

672| [`enabledMcpjsonServers`](#enabledmcpjsonservers) | Одобрите определённые серверы из [`.mcp.json`](/docs/ru/mcp#project-server-approvals-and-workspace-trust) проекта | MCP | Any file |672| [`enabledMcpjsonServers`](#enabledmcpjsonservers) | Одобрите определённые серверы из [`.mcp.json`](/docs/ru/mcp#project-server-approvals-and-workspace-trust) проекта | MCP | Any file |

673| [`enabledPlugins`](#enabledplugins) | Включайте или отключайте отдельные [плагины](/docs/ru/plugins/overview) по области | Plugins and skills | Any file |673| [`enabledPlugins`](#enabledplugins) | Включайте или отключайте отдельные [плагины](/docs/ru/plugins/overview) для каждой области действия | Plugins and skills | Any file |

674| [`enableWorkflows`](#enableworkflows) | Включайте или отключайте [динамические рабочие процессы](/docs/ru/workflows) в зависимости от умолчания вашего плана | Hooks and automation | Any file |674| [`enableWorkflows`](#enableworkflows) | Включайте или отключайте [динамические рабочие процессы](/docs/ru/workflows) вопреки умолчанию вашего плана | Hooks and automation | Any file |

675| [`enforceAvailableModels`](#enforceavailablemodels) | Держите [выбор по умолчанию `/model`](/docs/ru/model-config#enforce-the-allowlist-for-the-default-model) внутри вашего списка разрешений `availableModels` | Model and responses | Any file |675| [`enforceAvailableModels`](#enforceavailablemodels) | Держите [выбор по умолчанию в `/model`](/docs/ru/model-config#enforce-the-allowlist-for-the-default-model) в пределах вашего списка разрешённых моделей `availableModels` | Model and responses | Any file |

676| [`env`](#env) | Установите [переменные окружения](/docs/ru/env-vars#in-settings-files) для каждого сеанса и его подпроцессов | Memory and context | Any file |676| [`env`](#env) | Установите [переменные окружения](/docs/ru/env-vars#in-settings-files) для каждой сессии и её подпроцессов | Memory and context | Any file |

677| [`externalEditorContext`](#externaleditorcontext) | Показывайте последний ответ Claude как комментарии при нажатии [Ctrl+G](/docs/ru/interactive-mode#general-controls) для редактирования | Global config settings | Global config |677| [`externalEditorContext`](#externaleditorcontext) | Показывайте последний ответ Claude как комментарии при нажатии [Ctrl+G](/docs/ru/interactive-mode#general-controls) для редактирования | Global config settings | Global config |

678| [`extraKnownMarketplaces`](#extraknownmarketplaces) | Зарегистрируйте [маркетплейсы](/docs/ru/plugins/overview) для репозитория или организации | Plugins and skills | Any file |678| [`extraKnownMarketplaces`](#extraknownmarketplaces) | Зарегистрируйте [маркетплейсы](/docs/ru/plugins/overview) для репозитория или организации | Plugins and skills | Any file |

679| [`fallbackModel`](#fallbackmodel) | Назовите [резервные модели](/docs/ru/model-config#fallback-model-chains) на случай перегрузки основной | Model and responses | Any file |679| [`fallbackModel`](#fallbackmodel) | Назовите [резервные модели](/docs/ru/model-config#fallback-model-chains) на случай перегрузки основной | Model and responses | Any file |

680| [`fastMode`](#fastmode) | Включите [быстрый режим](/docs/ru/fast-mode) для сеансов, где он доступен | Model and responses | Any file |680| [`fastMode`](#fastmode) | Включите [быстрый режим](/docs/ru/fast-mode) для сессий, где он доступен | Model and responses | Any file |

681| [`fastModePerSessionOptIn`](#fastmodepersessionoptin) | Требуйте, чтобы люди включали [быстрый режим](/docs/ru/fast-mode) в каждом сеансе | Model and responses | Any file |681| [`fastModePerSessionOptIn`](#fastmodepersessionoptin) | Требуйте, чтобы люди включали [быстрый режим](/docs/ru/fast-mode) в каждой сессии | Model and responses | Any file |

682| [`feedbackDrafts`](#feedbackdrafts) | Контролируйте, ставит ли Claude в очередь [черновики обратной связи](/docs/ru/tools-reference#sendfeedback-tool-behavior) для вашего рассмотрения | Privacy and telemetry | User or managed |682| [`feedbackDrafts`](#feedbackdrafts) | Контролируйте, ставит ли Claude в очередь [черновики обратной связи](/docs/ru/tools-reference#sendfeedback-tool-behavior) для вашего рассмотрения | Privacy and telemetry | User or managed |

683| [`feedbackSurveyRate`](#feedbacksurveyrate) | Измените частоту появления [опроса качества сеанса](/docs/ru/data-usage#session-quality-surveys) | Privacy and telemetry | Any file |683| [`feedbackSurveyRate`](#feedbacksurveyrate) | Измените частоту появления [опроса качества сессии](/docs/ru/data-usage#session-quality-surveys) | Privacy and telemetry | Any file |

684| [`fileCheckpointingEnabled`](#filecheckpointingenabled) | Отключите или включите снимки файлов, которые [`/rewind`](/docs/ru/checkpointing) восстанавливает | Memory and context | Any file |684| [`fileCheckpointingEnabled`](#filecheckpointingenabled) | Отключите или включите снимки файлов, которые [`/rewind`](/docs/ru/checkpointing) восстанавливает | Memory and context | Any file |

685| [`fileSuggestion`](#filesuggestion) | Предоставляйте [автодополнение файла `@`](/docs/ru/interactive-mode#quick-commands) из вашей собственной команды | Interface and terminal | Any file |685| [`fileSuggestion`](#filesuggestion) | Предоставляйте [автодополнение файлов `@`](/docs/ru/interactive-mode#quick-commands) из вашей собственной команды | Interface and terminal | Any file |

686| [`footerLinksRegexes`](#footerlinksregexes) | Превратите ID проблем или рецензий в выводе в [кликабельные ссылки](/docs/ru/statusline#clickable-links) ниже поля ввода | Interface and terminal | User or managed |686| [`footerLinksRegexes`](#footerlinksregexes) | Превратите ID задач или рецензий в выводе в [кликабельные ссылки](/docs/ru/statusline#clickable-links) под полем ввода | Interface and terminal | User or managed |

687| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | Установите [URL шлюза](/docs/ru/claude-apps-gateway#set-the-gateway-url), к которому подключается экран входа | Authentication and providers | Managed |687| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | Установите [URL шлюза](/docs/ru/claude-apps-gateway#set-the-gateway-url), к которому подключается экран входа | Authentication and providers | Managed |

688| [`forceLoginMethod`](#forceloginmethod) | [Ограничьте вход](/docs/ru/authentication#restrict-login-to-your-organization) на claude.ai, Claude Console или [облачный шлюз](/docs/ru/claude-apps-gateway) | Authentication and providers | Any file |688| [`forceLoginMethod`](#forceloginmethod) | [Ограничьте вход](/docs/ru/authentication#restrict-login-to-your-organization) на claude.ai, Claude Console или [облачный шлюз](/docs/ru/claude-apps-gateway) | Authentication and providers | Any file |

689| [`forceLoginOrgUUID`](#forceloginorguuid) | [Привяжите входы claude.ai к вашей организации](/docs/ru/authentication#restrict-login-to-your-organization); только управляемый источник это обеспечивает | Authentication and providers | Any file |689| [`forceLoginOrgUUID`](#forceloginorguuid) | [Привяжите входы claude.ai к вашей организации](/docs/ru/authentication#restrict-login-to-your-organization); только управляемый источник это обеспечивает | Authentication and providers | Any file |

690| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Блокируйте запуск до тех пор, пока [параметры, управляемые сервером](/docs/ru/server-managed-settings) не будут свежо получены | Enterprise and managed settings | Managed |690| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Блокируйте запуск до тех пор, пока [настройки, управляемые сервером](/docs/ru/server-managed-settings), не будут заново получены | Enterprise and managed settings | Managed |

691| [`gatewayInternalNetworks`](#gatewayinternalnetworks) | Позвольте `/login` достичь [облачного шлюза](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) на общедоступном пространстве IPv4, которое ваша организация использует внутри | Authentication and providers | Managed |691| [`gatewayInternalNetworks`](#gatewayinternalnetworks) | Позвольте `/login` достичь [облачного шлюза](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) в общедоступном пространстве IPv4, которое ваша организация использует внутри | Authentication and providers | Managed |

692| [`gcpAuthRefresh`](#gcpauthrefresh) | Обновляйте [учётные данные Google Cloud](/docs/ru/google-vertex-ai#advanced-credential-configuration) с помощью вашей собственной команды | Authentication and providers | Any file |692| [`gcpAuthRefresh`](#gcpauthrefresh) | Обновляйте [учётные данные Google Cloud](/docs/ru/google-vertex-ai#advanced-credential-configuration) с помощью вашей собственной команды | Authentication and providers | Any file |

693| [`hooks`](#hooks) | Запускайте свои собственные команды как [hooks](/docs/ru/hooks) в точках жизненного цикла Claude Code | Hooks and automation | Any file |693| [`hooks`](#hooks) | Запускайте свои собственные команды как [хуки](/docs/ru/hooks) в точках жизненного цикла Claude Code | Hooks and automation | Any file |

694| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Ограничьте, какие переменные окружения [HTTP hooks](/docs/ru/hooks) могут помещать в заголовки | Hooks and automation | Any file |694| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Ограничьте, какие переменные окружения [HTTP-хуки](/docs/ru/hooks) могут помещать в заголовки | Hooks and automation | Any file |

695| [`includeCoAuthoredBy`](#includecoauthoredby) | Устарело; используйте `attribution` для скрытия или изменения атрибуции коммитов и PR | Git and attribution | Any file |695| [`includeCoAuthoredBy`](#includecoauthoredby) | Устарело; используйте `attribution` для скрытия или изменения атрибуции коммитов и PR | Git and attribution | Any file |

696| [`includeGitInstructions`](#includegitinstructions) | Удалите встроенные инструкции коммитов и PR из контекста Claude | Git and attribution | Any file |696| [`includeGitInstructions`](#includegitinstructions) | Удалите встроенные инструкции для коммитов и PR из контекста Claude | Git and attribution | Any file |

697| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Получайте [push-уведомление](/docs/ru/remote-control#mobile-push-notifications), когда Claude ждёт вас | Remote, desktop, and notifications | Any file |697| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Получайте [push-уведомление](/docs/ru/remote-control#mobile-push-notifications), когда Claude ждёт вас | Remote, desktop, and notifications | Any file |

698| [`isolatePeerMachines`](#isolatepeermachines) | Спросите вас перед тем, как Claude [отправит сообщение одному из ваших сеансов на другой машине](/docs/ru/cross-session-messaging#require-approval-for-cross-machine-messages) | Agents, sessions, and worktrees | Any file |698| [`isolatePeerMachines`](#isolatepeermachines) | Спрашивать вас перед тем, как Claude [отправит сообщение одной из ваших сессий на другой машине](/docs/ru/cross-session-messaging#require-approval-for-cross-machine-messages) | Agents, sessions, and worktrees | Any file |

699| [`keybindingFlavor`](#keybindingflavor) | Устарело и не имеет эффекта; сочетания клавиш для редактирования слов всегда [следуют соглашениям readline](/docs/ru/interactive-mode#make-ctrl-w-delete-back-to-whitespace) | Interface and terminal | Any file |699| [`keybindingFlavor`](#keybindingflavor) | Устарело и не имеет эффекта; сочетания клавиш для редактирования слов всегда [следуют соглашениям readline](/docs/ru/interactive-mode#make-ctrl-w-delete-back-to-whitespace) | Interface and terminal | Any file |

700| [`language`](#language) | Попросите Claude отвечать на языке, отличном от английского | Model and responses | Any file |700| [`language`](#language) | Попросите Claude отвечать на языке, отличном от английского | Model and responses | Any file |

701| [`leftArrowOpensAgents`](#leftarrowopensagents) | Отключите сочетание клавиш `←`, которое [переводит сеанс в фон и открывает представление агента](/docs/ru/agent-view#switch-sessions-without-leaving-the-terminal) | Global config settings | Global config |701| [`leftArrowOpensAgents`](#leftarrowopensagents) | Отключите сочетание клавиш `←`, которое [переводит сессию в фон и открывает представление агента](/docs/ru/agent-view#switch-sessions-without-leaving-the-terminal) | Global config settings | Global config |

702| [`managedMcpServers`](#managedmcpservers) | Предоставляйте удалённые [MCP серверы](/docs/ru/managed-mcp#provide-servers-through-managed-settings) каждому пользователю наряду с теми, которые они добавляют | MCP | Managed |702| [`managedMcpServers`](#managedmcpservers) | Предоставляйте удалённые [MCP-серверы](/docs/ru/managed-mcp#provide-servers-through-managed-settings) каждому пользователю наряду с теми, которые они добавляют | MCP | Managed |

703| [`managedSourcesBehavior`](#managedsourcesbehavior) | Объедините каждый [управляемый источник](/docs/ru/managed-settings#how-claude-code-combines-managed-sources), который вы развёртываете, вместо использования только одного с наивысшим приоритетом | Enterprise and managed settings | Managed |703| [`managedSourcesBehavior`](#managedsourcesbehavior) | Объединяйте каждый [управляемый источник](/docs/ru/managed-settings#how-claude-code-combines-managed-sources), который вы развёртываете, вместо использования только одного с наивысшим приоритетом | Enterprise and managed settings | Managed |

704| [`maxEffortLevel`](#maxeffortlevel) | Ограничьте [уровень усилий](/docs/ru/model-config#adjust-effort-level) для каждой модели или для каждой модели на каждом поставщике | Model and responses | Any file |704| [`maxEffortLevel`](#maxeffortlevel) | Ограничьте [уровень effort](/docs/ru/model-config#adjust-effort-level) для всех моделей или для каждой модели отдельно, у любого поставщика | Model and responses | Any file |

705| [`maxProseWidth`](#maxprosewidth) | Ограничьте ширину прозы в ответах Claude в широком терминале | Interface and terminal | Any file |705| [`maxProseWidth`](#maxprosewidth) | Ограничьте ширину прозы в ответах Claude в широком терминале | Interface and terminal | Any file |

706| [`minimumVersion`](#minimumversion) | Держите [автоматические обновления](/docs/ru/setup#pin-a-minimum-version) от установки чего-либо ниже версии | Updates and versioning | Any file |706| [`minimumVersion`](#minimumversion) | Не позволяйте [автоматическим обновлениям](/docs/ru/setup#pin-a-minimum-version) устанавливать версии ниже заданной | Updates and versioning | Any file |

707| [`model`](#model) | Измените [модель](/docs/ru/model-config#set-a-default-model-for-new-sessions), с которой Claude Code начинает | Model and responses | Any file |707| [`model`](#model) | Измените [модель](/docs/ru/model-config#set-a-default-model-for-new-sessions), с которой Claude Code начинает | Model and responses | Any file |

708| [`modelOverrides`](#modeloverrides) | [Сопоставьте ID моделей](/docs/ru/model-config#override-model-ids-per-version) с ID вашего поставщика, такими как Bedrock ARN | Model and responses | Any file |708| [`modelOverrides`](#modeloverrides) | [Сопоставьте ID моделей](/docs/ru/model-config#override-model-ids-per-version) с ID вашего поставщика, такими как Bedrock ARN | Model and responses | Any file |

709| [`modelPicker`](#modelpicker) | Выберите, какие модели [средство выбора `/model`](/docs/ru/model-config#available-models) перечисляет, в вашем собственном порядке и с вашими собственными метками | Model and responses | User or managed |709| [`modelPicker`](#modelpicker) | Выберите, какие модели перечисляет [средство выбора `/model`](/docs/ru/model-config#available-models), в вашем собственном порядке и с вашими собственными метками | Model and responses | User or managed |

710| [`modelPricing`](#modelpricing) | Сообщайте расходы по контрактным ставкам вашей организации вместо цены списка | Model and responses | Managed |710| [`modelPricing`](#modelpricing) | Сообщайте расходы по контрактным ставкам вашей организации вместо прейскурантной цены | Model and responses | Managed |

711| [`modelSettings`](#modelsettings) | Сохраняйте [уровень усилий](/docs/ru/model-config#adjust-effort-level) на модель или ограничивайте усилия одной модели | Model and responses | Any file |711| [`modelSettings`](#modelsettings) | Сохраняйте [уровень effort](/docs/ru/model-config#adjust-effort-level) для каждой модели или ограничивайте effort одной модели | Model and responses | Any file |

712| [`otelHeadersHelper`](#otelheadershelper) | Создавайте ротирующие заголовки [OpenTelemetry](/docs/ru/monitoring-usage#dynamic-headers) с помощью вашей собственной команды | Authentication and providers | Any file |712| [`otelHeadersHelper`](#otelheadershelper) | Создавайте ротирующие заголовки [OpenTelemetry](/docs/ru/monitoring-usage#dynamic-headers) с помощью вашей собственной команды | Authentication and providers | Any file |

713| [`outputStyle`](#outputstyle) | Измените роль, тон и формат вывода Claude с помощью [стиля вывода](/docs/ru/output-styles) | Model and responses | Any file |713| [`outputStyle`](#outputstyle) | Измените роль, тон и формат вывода Claude с помощью [стиля вывода](/docs/ru/output-styles) | Model and responses | Any file |

714| [`parentSettingsBehavior`](#parentsettingsbehavior) | Применяйте или отбрасывайте ограничения, которые [хост SDK или IDE](/docs/ru/managed-settings#let-an-embedding-host-add-policy) передаёт при развёртывании [управляемых параметров](/docs/ru/managed-settings) | Enterprise and managed settings | Managed |714| [`parentSettingsBehavior`](#parentsettingsbehavior) | Применяйте или отбрасывайте ограничения, которые [хост SDK или IDE](/docs/ru/managed-settings#let-an-embedding-host-add-policy) передаёт при развёртывании [управляемых настроек](/docs/ru/managed-settings) | Enterprise and managed settings | Managed |

715| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Удалено в v2.1.257 вместе с объяснением команды `Ctrl+E` на подсказках разрешений shell | Global config settings | Global config |715| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Удалено в v2.1.257 вместе с объяснением команды по `Ctrl+E` в запросах разрешений для shell-команд | Global config settings | Global config |

716| [`permissions`](#permissions) | Установите правила разрешения, запроса и запрета и начальный [режим разрешений](/docs/ru/permission-modes) | Permission settings | Any file |716| [`permissions`](#permissions) | Установите правила разрешения, запроса и запрета и начальный [режим разрешений](/docs/ru/permission-modes) | Permission settings | Any file |

717| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Дайте Claude доступ к файлам в [каталогах вне текущего](/docs/ru/permissions#working-directories) | Permission settings | Any file |717| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Дайте Claude доступ к файлам в [каталогах вне текущего](/docs/ru/permissions#working-directories) | Permission settings | Any file |

718| [`permissions.allow`](#permissions-allow) | Одобрите перечисленные [использования инструментов](/docs/ru/permissions#permission-rule-syntax) без подсказки | Permission settings | Any file |718| [`permissions.allow`](#permissions-allow) | Одобряйте перечисленные [использования инструментов](/docs/ru/permissions#permission-rule-syntax) без запроса подтверждения | Permission settings | Any file |

719| [`permissions.ask`](#permissions-ask) | Всегда запрашивайте перед перечисленными [использованиями инструментов](/docs/ru/permissions#permission-rule-syntax) | Permission settings | Any file |719| [`permissions.ask`](#permissions-ask) | Всегда запрашивайте подтверждение перед перечисленными [использованиями инструментов](/docs/ru/permissions#permission-rule-syntax) | Permission settings | Any file |

720| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Сделайте инструменты файлов отказывающимися от чтения вне [рабочих каталогов](/docs/ru/permissions#working-directories) в каждом режиме разрешений | Permission settings | Any file |720| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Заставьте файловые инструменты отказываться от чтения вне [рабочих каталогов](/docs/ru/permissions#working-directories) в каждом режиме разрешений | Permission settings | Any file |

721| [`permissions.defaultMode`](#permissions-defaultmode) | Установите [режим разрешений](/docs/ru/permission-modes#which-mode-a-session-starts-in), в котором начинаются новые сеансы | Permission settings | Any file |721| [`permissions.defaultMode`](#permissions-defaultmode) | Установите [режим разрешений](/docs/ru/permission-modes#which-mode-a-session-starts-in), в котором начинаются новые сессии | Permission settings | Any file |

722| [`permissions.deny`](#permissions-deny) | Блокируйте перечисленные [использования инструментов](/docs/ru/permissions#permission-rule-syntax), включая чтение файлов, содержащих секреты | Permission settings | Any file |722| [`permissions.deny`](#permissions-deny) | Блокируйте перечисленные [использования инструментов](/docs/ru/permissions#permission-rule-syntax), включая чтение файлов, содержащих секреты | Permission settings | Any file |

723| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Предотвратите вход кого-либо в [режим bypassPermissions](/docs/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Permission settings | Any file |723| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Запретите кому-либо входить в [режим bypassPermissions](/docs/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Permission settings | Any file |

724| [`plansDirectory`](#plansdirectory) | Выберите, где [режим плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) записывает файлы плана | Memory and context | Any file |724| [`plansDirectory`](#plansdirectory) | Выберите, где [режим планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) записывает файлы плана | Memory and context | Any file |

725| [`pluginConfigs`](#pluginconfigs) | Сохраняйте ответы, которые вы дали диалогу конфигурации [плагина](/docs/ru/plugins/overview) | Plugins and skills | User or managed |725| [`pluginConfigs`](#pluginconfigs) | Сохраняйте ответы, которые вы дали в диалоговом окне конфигурации [плагина](/docs/ru/plugins/overview) | Plugins and skills | User or managed |

726| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | Выберите, какие [маркетплейсы](/docs/ru/plugins/org#restrict-what-users-can-install) могут выводить предложения по установке плагинов в `/plugin` | Plugins and skills | Managed |726| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | Выберите, какие [маркетплейсы](/docs/ru/plugins/org#restrict-what-users-can-install) могут выводить предложения по установке плагинов в `/plugin` | Plugins and skills | Managed |

727| [`pluginTrustMessage`](#plugintrustmessage) | Добавьте свой собственный текст к предупреждению о доверии [плагина](/docs/ru/plugins/overview) | Plugins and skills | Managed |727| [`pluginTrustMessage`](#plugintrustmessage) | Добавьте свой собственный текст к предупреждению о доверии [плагину](/docs/ru/plugins/overview) | Plugins and skills | Managed |

728| [`policyHelper`](#policyhelper) | Запустите исполняемый файл, который вычисляет [управляемые параметры](/docs/ru/managed-settings#compute-the-policy-with-a-helper-program) при запуске | Enterprise and managed settings | Managed |728| [`policyHelper`](#policyhelper) | Запустите исполняемый файл, который вычисляет [управляемые настройки](/docs/ru/managed-settings#compute-the-policy-with-a-helper-program) при запуске | Enterprise and managed settings | Managed |

729| [`policyHelper.path`](#policyhelper-path) | Назовите [вспомогательный исполняемый файл](/docs/ru/managed-settings#compute-the-policy-with-a-helper-program), который запускает Claude Code | Enterprise and managed settings | Managed |729| [`policyHelper.path`](#policyhelper-path) | Назовите [вспомогательный исполняемый файл](/docs/ru/managed-settings#compute-the-policy-with-a-helper-program), который запускает Claude Code | Enterprise and managed settings | Managed |

730| [`policyHelper.refreshIntervalMs`](#policyhelper-refreshintervalms) | Повторно запустите [помощника](/docs/ru/managed-settings#compute-the-policy-with-a-helper-program) в фоне по расписанию | Enterprise and managed settings | Managed |730| [`policyHelper.refreshIntervalMs`](#policyhelper-refreshintervalms) | Повторно запускайте [вспомогательную программу](/docs/ru/managed-settings#compute-the-policy-with-a-helper-program) в фоне с заданным интервалом | Enterprise and managed settings | Managed |

731| [`policyHelper.timeoutMs`](#policyhelper-timeoutms) | Установите, как долго Claude Code ждёт [помощника](/docs/ru/managed-settings#compute-the-policy-with-a-helper-program) | Enterprise and managed settings | Managed |731| [`policyHelper.timeoutMs`](#policyhelper-timeoutms) | Установите, как долго Claude Code ждёт [вспомогательную программу](/docs/ru/managed-settings#compute-the-policy-with-a-helper-program) | Enterprise and managed settings | Managed |

732| [`preferredNotifChannel`](#preferrednotifchannel) | Выберите [звонок терминала или уведомление рабочего стола](/docs/ru/terminal-config#get-a-terminal-bell-or-notification) для завершения задачи | Remote, desktop, and notifications | Any file |732| [`preferredNotifChannel`](#preferrednotifchannel) | Выберите [звонок терминала или уведомление рабочего стола](/docs/ru/terminal-config#get-a-terminal-bell-or-notification) для завершения задачи | Remote, desktop, and notifications | Any file |

733| [`prefersReducedMotion`](#prefersreducedmotion) | [Уменьшите или отключите](/docs/ru/accessibility#accessibility-settings) анимацию спиннера, мерцания и вспышки | Interface and terminal | Any file |733| [`prefersReducedMotion`](#prefersreducedmotion) | [Уменьшите или отключите](/docs/ru/accessibility#accessibility-settings) анимацию спиннера, мерцания и вспышки | Interface and terminal | Any file |

734| [`prependPlugins`](#prependplugins) | Запускайте [моды](/docs/ru/plugins/mods/admin) вашей организации перед каждым модом, который устанавливает пользователь | Plugins and skills | User or managed |734| [`prependPlugins`](#prependplugins) | Запускайте [моды](/docs/ru/plugins/mods/admin) вашей организации перед каждым модом, который устанавливает пользователь | Plugins and skills | User or managed |

735| [`processWrapper`](#processwrapper) | Запускайте фоновые процессы Claude Code через [корпоративный запускатель](/docs/ru/corporate-launcher) на macOS и Linux | Agents, sessions, and worktrees | User or managed |735| [`processWrapper`](#processwrapper) | Запускайте фоновые процессы Claude Code через [корпоративный запускатель](/docs/ru/corporate-launcher) на macOS и Linux | Agents, sessions, and worktrees | User or managed |

736| [`promptCacheTtl`](#promptcachettl) | Выберите [время жизни кэша подсказок](/docs/ru/prompt-caching#cache-lifetime) для основного разговора | Model and responses | Any file |736| [`promptCacheTtl`](#promptcachettl) | Выберите [время жизни кэша промптов](/docs/ru/prompt-caching#cache-lifetime) для основного диалога | Model and responses | Any file |

737| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Скройте серые [предложения подсказок](/docs/ru/interactive-mode#prompt-suggestions) в поле ввода | Interface and terminal | Any file |737| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Скройте серые [предложения промптов](/docs/ru/interactive-mode#prompt-suggestions) в поле ввода | Interface and terminal | Any file |

738| [`prStatusFooterEnabled`](#prstatusfooterenabled) | Отключите [значок статуса PR](/docs/ru/interactive-mode#pr-review-status) в нижнем колонтитуле приглашения и проверку pull request'а позади него | Global config settings | Global config |738| [`prStatusFooterEnabled`](#prstatusfooterenabled) | Отключите значок [статуса ревью PR](/docs/ru/interactive-mode#pr-review-status) в нижней панели промпта и стоящую за ним проверку pull request | Global config settings | Global config |

739| [`prUrlTemplate`](#prurltemplate) | Укажите ссылки PR на внутренний инструмент проверки кода вместо github.com | Git and attribution | Any file |739| [`prUrlTemplate`](#prurltemplate) | Направляйте ссылки на PR во внутренний инструмент код-ревью вместо github.com | Git and attribution | Any file |

740| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Выберите [облачную среду](/docs/ru/cloud-environments) по умолчанию для `claude --cloud`; самостоятельно размещённый ID `ccpool_` доступен только для чтения из пользовательских и управляемых параметров и `--settings` | Remote, desktop, and notifications | Any file |740| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Выберите [облачную среду](/docs/ru/cloud-environments) по умолчанию для `claude --cloud`; самостоятельно размещённый ID `ccpool_` считывается только из пользовательских и управляемых настроек и `--settings` | Remote, desktop, and notifications | Any file |

741| [`remoteControlAtStartup`](#remotecontrolatstartup) | Подключайте [Remote Control](/docs/ru/remote-control#enable-remote-control-for-all-sessions) автоматически при запуске сеанса | Remote, desktop, and notifications | Any file |741| [`remoteControlAtStartup`](#remotecontrolatstartup) | Подключайте [Remote Control](/docs/ru/remote-control#enable-remote-control-for-all-sessions) автоматически при запуске сессии | Remote, desktop, and notifications | Any file |

742| [`requiredMaximumVersion`](#requiredmaximumversion) | [Отказывайте в запуске](/docs/ru/setup#pin-a-minimum-version) на версии новее, чем позволяет ваша организация | Updates and versioning | Managed |742| [`requiredMaximumVersion`](#requiredmaximumversion) | [Отказывайте в запуске](/docs/ru/setup#pin-a-minimum-version) на версии новее, чем позволяет ваша организация | Updates and versioning | Managed |

743| [`requiredMinimumVersion`](#requiredminimumversion) | [Отказывайте в запуске](/docs/ru/setup#pin-a-minimum-version) на версии старше, чем требует ваша организация | Updates and versioning | Managed |743| [`requiredMinimumVersion`](#requiredminimumversion) | [Отказывайте в запуске](/docs/ru/setup#pin-a-minimum-version) на версии старше, чем требует ваша организация | Updates and versioning | Managed |

744| [`respectGitignore`](#respectgitignore) | Держите игнорируемые git файлы вне [средства выбора файла `@`](/docs/ru/interactive-mode#quick-commands) | Interface and terminal | Any file |744| [`respectGitignore`](#respectgitignore) | Исключайте игнорируемые git файлы из [средства выбора файлов `@`](/docs/ru/interactive-mode#quick-commands) | Interface and terminal | Any file |

745| [`respondToBashCommands`](#respondtobashcommands) | Остановите Claude от ответа после выполнения [`!` команды shell](/docs/ru/interactive-mode#shell-mode-with-prefix) | Interface and terminal | Any file |745| [`respondToBashCommands`](#respondtobashcommands) | Запретите Claude отвечать после выполнения [shell-команды с `!`](/docs/ru/interactive-mode#shell-mode-with-prefix) | Interface and terminal | Any file |

746| [`sandbox`](#sandbox) | [Изолируйте команды Bash](/docs/ru/sandboxing) от вашей файловой системы и сети на macOS, Linux и WSL2 | Sandbox settings | Any file |746| [`sandbox`](#sandbox) | [Изолируйте команды Bash](/docs/ru/sandboxing) от вашей файловой системы и сети на macOS, Linux и WSL2 | Sandbox settings | Any file |

747| [`sandbox.allowAppleEvents`](#sandbox-allowappleevents) | Позвольте [изолированным](/docs/ru/sandboxing) командам отправлять Apple Events на macOS | Sandbox settings | User or managed |747| [`sandbox.allowAppleEvents`](#sandbox-allowappleevents) | Позвольте [изолированным](/docs/ru/sandboxing) командам отправлять Apple Events на macOS | Sandbox settings | User or managed |

748| [`sandbox.allowUnsandboxedCommands`](#sandbox-allowunsandboxedcommands) | Позвольте Claude повторить заблокированную команду вне [песочницы](/docs/ru/sandboxing#the-unsandboxed-retry-escape-hatch) или запретить это | Sandbox settings | Any file |748| [`sandbox.allowUnsandboxedCommands`](#sandbox-allowunsandboxedcommands) | Позвольте Claude повторить попытку выполнения заблокированной команды вне [песочницы](/docs/ru/sandboxing#the-unsandboxed-retry-escape-hatch) или запретите это | Sandbox settings | Any file |

749| [`sandbox.autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) | Запускайте [изолированные](/docs/ru/sandboxing#auto-allow-mode) команды без подсказки разрешения | Sandbox settings | Any file |749| [`sandbox.autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) | Запускайте [изолированные](/docs/ru/sandboxing#auto-allow-mode) команды без запроса разрешения | Sandbox settings | Any file |

750| [`sandbox.bwrapPath`](#sandbox-bwrappath) | Укажите [песочницу](/docs/ru/sandboxing) на двоичный файл bubblewrap вне `PATH` | Sandbox settings | Managed |750| [`sandbox.bwrapPath`](#sandbox-bwrappath) | Укажите [песочнице](/docs/ru/sandboxing) двоичный файл bubblewrap вне `PATH` | Sandbox settings | Managed |

751| [`sandbox.credentials`](#sandbox-credentials) | Скройте или замаскируйте файлы учётных данных и переменные внутри [песочницы](/docs/ru/sandboxing#protect-credentials) | Sandbox settings | Any file |751| [`sandbox.credentials`](#sandbox-credentials) | Скройте или замаскируйте файлы учётных данных и переменные внутри [песочницы](/docs/ru/sandboxing#protect-credentials) | Sandbox settings | Any file |

752| [`sandbox.credentials.allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) | Позвольте [замаскированным учётным данным](/docs/ru/sandboxing#mask-credentials) достичь простых HTTP-сервисов на доверенных тестовых сетях | Sandbox settings | User or managed |752| [`sandbox.credentials.allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) | Позвольте [замаскированным учётным данным](/docs/ru/sandboxing#mask-credentials) достигать простых HTTP-сервисов в доверенных тестовых сетях | Sandbox settings | User or managed |

753| [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs) | Свяжите переменные пользовательского имени AWS ключа в одно учётное данные для [повторного подписания](/docs/ru/sandboxing#re-sign-aws-requests) | Sandbox settings | User or managed |753| [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs) | Свяжите переменные ключей AWS с пользовательскими именами в одни учётные данные для [повторного подписания](/docs/ru/sandboxing#re-sign-aws-requests) | Sandbox settings | User or managed |

754| [`sandbox.credentials.envVars`](#sandbox-credentials-envvars) | Отмените установку или замаскируйте переменную окружения внутри [песочницы](/docs/ru/sandboxing#mask-environment-variables) | Sandbox settings | Any file |754| [`sandbox.credentials.envVars`](#sandbox-credentials-envvars) | Удалите или замаскируйте переменную окружения внутри [песочницы](/docs/ru/sandboxing#mask-environment-variables) | Sandbox settings | Any file |

755| [`sandbox.credentials.files`](#sandbox-credentials-files) | Блокируйте или замаскируйте чтение файла учётных данных внутри [песочницы](/docs/ru/sandboxing#mask-credential-files) | Sandbox settings | Any file |755| [`sandbox.credentials.files`](#sandbox-credentials-files) | Блокируйте или маскируйте чтение файла учётных данных внутри [песочницы](/docs/ru/sandboxing#mask-credential-files) | Sandbox settings | Any file |

756| [`sandbox.credentials.sigv4`](#sandbox-credentials-sigv4) | Выберите, будут ли потоковые, предписанные или [запросы AWS SigV4A](/docs/ru/sandboxing#re-sign-aws-requests) отказаны или пройдут | Sandbox settings | User or managed |756| [`sandbox.credentials.sigv4`](#sandbox-credentials-sigv4) | Выберите, будут ли потоковые, предварительно подписанные или [запросы AWS SigV4A](/docs/ru/sandboxing#re-sign-aws-requests) завершаться ошибкой или пропускаться | Sandbox settings | User or managed |

757| [`sandbox.enabled`](#sandbox-enabled) | Включите [изоляцию Bash](/docs/ru/sandboxing#get-started) на macOS, Linux и WSL2 | Sandbox settings | Any file |757| [`sandbox.enabled`](#sandbox-enabled) | Включите [изоляцию Bash в песочнице](/docs/ru/sandboxing#get-started) на macOS, Linux и WSL2 | Sandbox settings | Any file |

758| [`sandbox.enableWeakerNestedSandbox`](#sandbox-enableweakernestedsandbox) | Запускайте Linux [песочницу](/docs/ru/sandboxing) внутри непривилегированного контейнера | Sandbox settings | Any file |758| [`sandbox.enableWeakerNestedSandbox`](#sandbox-enableweakernestedsandbox) | Запускайте Linux-[песочницу](/docs/ru/sandboxing) внутри непривилегированного контейнера | Sandbox settings | Any file |

759| [`sandbox.enableWeakerNetworkIsolation`](#sandbox-enableweakernetworkisolation) | Позвольте `gh`, `gcloud` и `terraform` проверять TLS за MITM прокси внутри [песочницы](/docs/ru/sandboxing#troubleshooting) на macOS | Sandbox settings | Any file |759| [`sandbox.enableWeakerNetworkIsolation`](#sandbox-enableweakernetworkisolation) | Позвольте `gh`, `gcloud` и `terraform` проверять TLS за MITM-прокси внутри [песочницы](/docs/ru/sandboxing#go-based-clis-fail-tls-verification-on-macos) на macOS | Sandbox settings | Any file |

760| [`sandbox.excludedCommands`](#sandbox-excludedcommands) | Назовите команды, которые Claude Code может запускать вне [песочницы](/docs/ru/sandboxing) | Sandbox settings | Any file |760| [`sandbox.excludedCommands`](#sandbox-excludedcommands) | Назовите команды, которые Claude Code может запускать вне [песочницы](/docs/ru/sandboxing) | Sandbox settings | Any file |

761| [`sandbox.failIfUnavailable`](#sandbox-failifunavailable) | Отказывайте в запуске, когда [песочница](/docs/ru/sandboxing) не может, вместо запуска без изоляции | Sandbox settings | Any file |761| [`sandbox.failIfUnavailable`](#sandbox-failifunavailable) | Отказывайте в запуске, когда [песочница](/docs/ru/sandboxing) не может запуститься, вместо работы без изоляции | Sandbox settings | Any file |

762| [`sandbox.filesystem`](#sandbox-filesystem) | Контролируйте, какие пути [изолированные](/docs/ru/sandboxing#filesystem-isolation) команды могут читать и писать | Sandbox settings | Any file |762| [`sandbox.filesystem`](#sandbox-filesystem) | Контролируйте, какие пути [изолированные](/docs/ru/sandboxing#filesystem-isolation) команды могут читать и записывать | Sandbox settings | Any file |

763| [`sandbox.filesystem.allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) | Остановите разработчиков от повторного открытия [путей чтения, которые ваша организация заблокировала](/docs/ru/sandboxing#keep-developers-from-widening-the-policy) | Sandbox settings | Managed |763| [`sandbox.filesystem.allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) | Запретите разработчикам повторно открывать [пути чтения, которые заблокировала ваша организация](/docs/ru/sandboxing#keep-developers-from-widening-the-policy) | Sandbox settings | Managed |

764| [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) | Повторно откройте чтение внутри региона, который [`denyRead`](#sandbox-filesystem-denyread) блокирует | Sandbox settings | Any file |764| [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) | Повторно откройте чтение внутри области, которую блокирует [`denyRead`](#sandbox-filesystem-denyread) | Sandbox settings | Any file |

765| [`sandbox.filesystem.allowWrite`](#sandbox-filesystem-allowwrite) | Добавьте пути, в которые [изолированные](/docs/ru/sandboxing) команды могут писать | Sandbox settings | Any file |765| [`sandbox.filesystem.allowWrite`](#sandbox-filesystem-allowwrite) | Добавьте пути, в которые [изолированные](/docs/ru/sandboxing) команды могут записывать | Sandbox settings | Any file |

766| [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread) | Блокируйте [изолированные](/docs/ru/sandboxing) команды от чтения определённых путей | Sandbox settings | Any file |766| [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread) | Запретите [изолированным](/docs/ru/sandboxing) командам читать определённые пути | Sandbox settings | Any file |

767| [`sandbox.filesystem.denyWrite`](#sandbox-filesystem-denywrite) | Блокируйте [изолированные](/docs/ru/sandboxing) команды от записи в определённые пути | Sandbox settings | Any file |767| [`sandbox.filesystem.denyWrite`](#sandbox-filesystem-denywrite) | Запретите [изолированным](/docs/ru/sandboxing) командам записывать в определённые пути | Sandbox settings | Any file |

768| [`sandbox.filesystem.disabled`](#sandbox-filesystem-disabled) | [Отключите изоляцию файловой системы](/docs/ru/sandboxing#disable-filesystem-isolation) при сохранении изоляции сети | Sandbox settings | User or managed |768| [`sandbox.filesystem.disabled`](#sandbox-filesystem-disabled) | [Отключите изоляцию файловой системы](/docs/ru/sandboxing#disable-filesystem-isolation) при сохранении изоляции сети | Sandbox settings | User or managed |

769| [`sandbox.ignoreViolations`](#sandbox-ignoreviolations) | Заглушите отчёты о нарушениях для путей, которые команда, как ожидается, будет проверять | Sandbox settings | Any file |769| [`sandbox.ignoreViolations`](#sandbox-ignoreviolations) | Заглушите отчёты о нарушениях для путей, которые команда, как ожидается, будет проверять | Sandbox settings | Any file |

770| [`sandbox.network`](#sandbox-network) | Контролируйте, какие хосты, порты и сокеты [изолированные](/docs/ru/sandboxing#network-isolation) команды достигают | Sandbox settings | Any file |770| [`sandbox.network`](#sandbox-network) | Контролируйте, к каким хостам, портам и сокетам обращаются [изолированные](/docs/ru/sandboxing#network-isolation) команды | Sandbox settings | Any file |

771| [`sandbox.network.allowAllUnixSockets`](#sandbox-network-allowallunixsockets) | Позвольте [изолированным](/docs/ru/sandboxing) командам подключаться к каждому Unix сокету | Sandbox settings | Any file |771| [`sandbox.network.allowAllUnixSockets`](#sandbox-network-allowallunixsockets) | Позвольте [изолированным](/docs/ru/sandboxing) командам подключаться к любому Unix-сокету | Sandbox settings | Any file |

772| [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) | Предварительно разрешите домены, чтобы [изолированные](/docs/ru/sandboxing) команды не запрашивали их | Sandbox settings | Any file |772| [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) | Предварительно разрешите домены, чтобы [изолированные](/docs/ru/sandboxing) команды не запрашивали их | Sandbox settings | Any file |

773| [`sandbox.network.allowLocalBinding`](#sandbox-network-allowlocalbinding) | Позвольте [изолированным](/docs/ru/sandboxing) командам привязываться к портам localhost на macOS | Sandbox settings | Any file |773| [`sandbox.network.allowLocalBinding`](#sandbox-network-allowlocalbinding) | Позвольте [изолированным](/docs/ru/sandboxing) командам прослушивать сетевые порты и подключаться к localhost на macOS | Sandbox settings | Any file |

774| [`sandbox.network.allowMachLookup`](#sandbox-network-allowmachlookup) | Позвольте инструментам macOS [изолированным](/docs/ru/sandboxing), таким как iOS Simulator или Playwright, достичь их XPC сервисов | Sandbox settings | Any file |774| [`sandbox.network.allowMachLookup`](#sandbox-network-allowmachlookup) | Позвольте [изолированным](/docs/ru/sandboxing) инструментам macOS, таким как iOS Simulator или Playwright, достигать своих XPC-сервисов | Sandbox settings | Any file |

775| [`sandbox.network.allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) | Заблокируйте список разрешений сети на [управляемые параметры](/docs/ru/sandboxing#keep-developers-from-widening-the-policy) | Sandbox settings | Managed |775| [`sandbox.network.allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) | Ограничьте сетевой список разрешённых доменов [управляемыми настройками](/docs/ru/sandboxing#keep-developers-from-widening-the-policy) | Sandbox settings | Managed |

776| [`sandbox.network.allowUnixSockets`](#sandbox-network-allowunixsockets) | Перечислите пути Unix сокетов, которые [изолированные](/docs/ru/sandboxing) команды могут использовать на macOS | Sandbox settings | Any file |776| [`sandbox.network.allowUnixSockets`](#sandbox-network-allowunixsockets) | Перечислите пути Unix-сокетов, которые [изолированные](/docs/ru/sandboxing) команды могут использовать на macOS | Sandbox settings | Any file |

777| [`sandbox.network.deniedDomains`](#sandbox-network-denieddomains) | Блокируйте домены для [изолированных](/docs/ru/sandboxing) команд, даже внутри разрешённого подстановочного знака | Sandbox settings | Any file |777| [`sandbox.network.deniedDomains`](#sandbox-network-denieddomains) | Блокируйте домены для [изолированных](/docs/ru/sandboxing) команд, даже внутри разрешённого подстановочного шаблона | Sandbox settings | Any file |

778| [`sandbox.network.httpProxyPort`](#sandbox-network-httpproxyport) | Маршрутизируйте [песочницу](/docs/ru/sandboxing#custom-proxy-configuration) HTTP трафик через ваш собственный прокси | Sandbox settings | Any file |778| [`sandbox.network.httpProxyPort`](#sandbox-network-httpproxyport) | Направляйте HTTP-трафик [песочницы](/docs/ru/sandboxing#custom-proxy-configuration) через ваш собственный прокси | Sandbox settings | Any file |

779| [`sandbox.network.socksProxyPort`](#sandbox-network-socksproxyport) | Маршрутизируйте [песочницу](/docs/ru/sandboxing#custom-proxy-configuration) SOCKS трафик через ваш собственный прокси | Sandbox settings | Any file |779| [`sandbox.network.socksProxyPort`](#sandbox-network-socksproxyport) | Направляйте SOCKS-трафик [песочницы](/docs/ru/sandboxing#custom-proxy-configuration) через ваш собственный прокси | Sandbox settings | Any file |

780| [`sandbox.network.strictAllowlist`](#sandbox-network-strictallowlist) | Отказывайте хостам вне [списка разрешений](/docs/ru/sandboxing#network-isolation) вместо запроса | Sandbox settings | User or managed |780| [`sandbox.network.strictAllowlist`](#sandbox-network-strictallowlist) | Отказывайте хостам вне [списка разрешённых](/docs/ru/sandboxing#network-isolation) вместо запроса | Sandbox settings | User or managed |

781| [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) | Пусть [песочница](/docs/ru/sandboxing#network-isolation) прокси завершает TLS, чтобы она могла читать HTTPS запросы | Sandbox settings | User or managed |781| [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) | Пусть прокси [песочницы](/docs/ru/sandboxing#network-isolation) завершает TLS, чтобы он мог читать HTTPS-запросы | Sandbox settings | User or managed |

782| [`sandbox.ripgrep`](#sandbox-ripgrep) | Используйте свой собственный двоичный файл ripgrep внутри [песочницы](/docs/ru/sandboxing) | Sandbox settings | User or managed |782| [`sandbox.ripgrep`](#sandbox-ripgrep) | Используйте свой собственный двоичный файл ripgrep внутри [песочницы](/docs/ru/sandboxing) | Sandbox settings | User or managed |

783| [`sandbox.socatPath`](#sandbox-socatpath) | Укажите [песочницу](/docs/ru/sandboxing) прокси на двоичный файл `socat` вне `PATH` | Sandbox settings | Managed |783| [`sandbox.socatPath`](#sandbox-socatpath) | Укажите прокси [песочницы](/docs/ru/sandboxing) двоичный файл `socat` вне `PATH` | Sandbox settings | Managed |

784| [`showClearContextOnPlanAccept`](#showclearcontextonplanaccept) | Показывайте опцию "очистить контекст" на [экране принятия плана](/docs/ru/permission-modes#review-and-approve-a-plan) | Interface and terminal | Any file |784| [`showClearContextOnPlanAccept`](#showclearcontextonplanaccept) | Показывайте опцию "очистить контекст" на [экране принятия плана](/docs/ru/permission-modes#review-and-approve-a-plan) | Interface and terminal | Any file |

785| [`showThinkingSummaries`](#showthinkingsummaries) | Смотрите резюме [мышления](/docs/ru/model-config#extended-thinking) Claude вместо свёрнутой заглушки | Model and responses | Any file |785| [`showThinkingSummaries`](#showthinkingsummaries) | Смотрите сводки [размышлений](/docs/ru/model-config#extended-thinking) Claude вместо свёрнутой заглушки | Model and responses | Any file |

786| [`showTurnDuration`](#showturnduration) | Скройте длительность "Cooked for" после каждого ответа | Interface and terminal | Any file |786| [`showTurnDuration`](#showturnduration) | Скройте длительность "Cooked for" после каждого ответа | Interface and terminal | Any file |

787| [`skillListingBudgetFraction`](#skilllistingbudgetfraction) | Зарезервируйте больше или меньше контекста для [списка навыков](/docs/ru/skills#skill-descriptions-are-cut-short) | Memory and context | Any file |787| [`skillListingBudgetFraction`](#skilllistingbudgetfraction) | Зарезервируйте больше или меньше контекста для [списка скиллов](/docs/ru/skills#skill-descriptions-are-cut-short) | Memory and context | Any file |

788| [`skillListingMaxDescChars`](#skilllistingmaxdescchars) | Ограничьте длину описания каждого навыка в [списке навыков](/docs/ru/skills#skill-descriptions-are-cut-short) | Memory and context | Any file |788| [`skillListingMaxDescChars`](#skilllistingmaxdescchars) | Ограничьте длину описания каждого скилла в [списке скиллов](/docs/ru/skills#skill-descriptions-are-cut-short) | Memory and context | Any file |

789| [`skillOverrides`](#skilloverrides) | [Скройте или свёрните навык](/docs/ru/skills#override-skill-visibility-from-settings) без редактирования его SKILL.md | Plugins and skills | Any file |789| [`skillOverrides`](#skilloverrides) | [Скройте или сверните скилл](/docs/ru/skills#override-skill-visibility-from-settings) без редактирования его SKILL.md | Plugins and skills | Any file |

790| [`skipAutoPermissionPrompt`](#skipautopermissionprompt) | Пропустите одноразовое уведомление, которое Claude Code показывает при первом входе в [режим авто](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) самостоятельно, а не через встроенное значение по умолчанию | Permission settings | User or managed |790| [`skipAutoPermissionPrompt`](#skipautopermissionprompt) | Пропустите одноразовое уведомление, которое Claude Code показывает при первом входе в [авторежим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) самостоятельно, а не через встроенное значение по умолчанию | Permission settings | User or managed |

791| [`skipDangerousModePermissionPrompt`](#skipdangerousmodepermissionprompt) | Пропустите диалог подтверждения перед [режимом bypassPermissions](/docs/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Permission settings | User, local, or managed |791| [`skipDangerousModePermissionPrompt`](#skipdangerousmodepermissionprompt) | Пропустите диалоговое окно подтверждения перед [режимом bypassPermissions](/docs/ru/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Permission settings | User, local, or managed |

792| [`skipWebFetchPreflight`](#skipwebfetchpreflight) | Пропустите [проверку имени хоста WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior), когда Anthropic недоступен | Privacy and telemetry | Any file |792| [`skipWebFetchPreflight`](#skipwebfetchpreflight) | Пропустите [проверку имени хоста WebFetch](/docs/ru/tools-reference#webfetch-tool-behavior), когда Anthropic недоступен | Privacy and telemetry | Any file |

793| [`spellcheck`](#spellcheck) | Подчеркивайте неправильно написанные слова в приглашении ввода с помощью [проверки орфографии](/docs/ru/interactive-mode#check-spelling-as-you-type), которую вы устанавливаете | Interface and terminal | User or managed |793| [`spellcheck`](#spellcheck) | Подчёркивайте неправильно написанные слова в поле ввода промпта с помощью [средства проверки орфографии](/docs/ru/interactive-mode#check-spelling-as-you-type), которое вы устанавливаете | Interface and terminal | User or managed |

794| [`spinnerTipsEnabled`](#spinnertipsenabled) | Скройте советы в спиннере, пока Claude работает | Interface and terminal | Any file |794| [`spinnerTipsEnabled`](#spinnertipsenabled) | Скройте советы в спиннере, пока Claude работает | Interface and terminal | Any file |

795| [`spinnerTipsOverride`](#spinnertipsoverride) | Добавьте свои собственные советы к ротации спиннера или замените встроенные советы | Interface and terminal | Any file |795| [`spinnerTipsOverride`](#spinnertipsoverride) | Добавьте свои собственные советы к ротации спиннера или замените встроенные советы | Interface and terminal | Any file |

796| [`spinnerVerbs`](#spinnerverbs) | Добавьте или замените глаголы, показываемые во время выполнения хода | Interface and terminal | Any file |796| [`spinnerVerbs`](#spinnerverbs) | Добавьте или замените глаголы, показываемые во время выполнения хода | Interface and terminal | Any file |

797| [`sshConfigs`](#sshconfigs) | Добавьте [SSH подключения](/docs/ru/desktop#pre-configure-ssh-connections-for-your-team) в раскрывающееся меню среды Desktop | Remote, desktop, and notifications | User or managed |797| [`sshConfigs`](#sshconfigs) | Добавьте [SSH-подключения](/docs/ru/desktop#pre-configure-ssh-connections-for-your-team) в раскрывающееся меню сред Desktop | Remote, desktop, and notifications | User or managed |

798| [`sshHostAllowlist`](#sshhostallowlist) | Ограничьте, какие хосты [сеансы Desktop SSH](/docs/ru/desktop#restrict-which-ssh-hosts-users-can-connect-to) могут достичь | Remote, desktop, and notifications | Managed |798| [`sshHostAllowlist`](#sshhostallowlist) | Ограничьте, к каким хостам могут подключаться [SSH-сессии Desktop](/docs/ru/desktop#restrict-which-ssh-hosts-users-can-connect-to) | Remote, desktop, and notifications | Managed |

799| [`statusLine`](#statusline) | Запустите свою собственную команду для отображения [строки состояния](/docs/ru/statusline) ниже приглашения | Interface and terminal | Any file |799| [`statusLine`](#statusline) | Запустите свою собственную команду для отображения [строки состояния](/docs/ru/statusline) под промптом | Interface and terminal | Any file |

800| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Создайте список разрешений для источников [маркетплейса](/docs/ru/plugins/overview), которые пользователи могут добавлять и устанавливать | Plugins and skills | Managed |800| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Создайте список разрешённых источников [маркетплейсов](/docs/ru/plugins/overview), которые пользователи могут добавлять и из которых могут устанавливать | Plugins and skills | Managed |

801| [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | Блокируйте [навыки](/docs/ru/skills), [агенты](/docs/ru/sub-agents), [hooks](/docs/ru/hooks) и [MCP серверы](/docs/ru/mcp) из пользовательских и проектных источников | Plugins and skills | Managed |801| [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | Блокируйте [скиллы](/docs/ru/skills), [агенты](/docs/ru/sub-agents), [хуки](/docs/ru/hooks) и [MCP-серверы](/docs/ru/mcp) из пользовательских и проектных источников | Plugins and skills | Managed |

802| [`strictPluginOnlyCustomization.agents`](#strictpluginonlycustomization-agents) | Заблокируйте [агенты](/docs/ru/sub-agents) для плагинов и управляемых источников | Plugins and skills | Managed |802| [`strictPluginOnlyCustomization.agents`](#strictpluginonlycustomization-agents) | Ограничьте [агенты](/docs/ru/sub-agents) источниками из плагинов и управляемыми источниками | Plugins and skills | Managed |

803| [`strictPluginOnlyCustomization.hooks`](#strictpluginonlycustomization-hooks) | Заблокируйте [hooks](/docs/ru/hooks) для плагинов и управляемых источников | Plugins and skills | Managed |803| [`strictPluginOnlyCustomization.hooks`](#strictpluginonlycustomization-hooks) | Ограничьте [хуки](/docs/ru/hooks) источниками из плагинов и управляемыми источниками | Plugins and skills | Managed |

804| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Заблокируйте [MCP серверы](/docs/ru/mcp) для плагинов и управляемых источников | Plugins and skills | Managed |804| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Ограничьте [MCP-серверы](/docs/ru/mcp) источниками из плагинов и управляемыми источниками | Plugins and skills | Managed |

805| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Заблокируйте [навыки](/docs/ru/skills) для плагинов и управляемых источников | Plugins and skills | Managed |805| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Ограничьте [скиллы](/docs/ru/skills) источниками из плагинов и управляемыми источниками | Plugins and skills | Managed |

806| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Выберите [время жизни кэша подсказок](/docs/ru/prompt-caching#cache-lifetime) для подагентов и других запросов вне основного разговора | Model and responses | Any file |806| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Выберите [время жизни кэша промптов](/docs/ru/prompt-caching#cache-lifetime) для субагентов и других запросов вне основного диалога | Model and responses | Any file |

807| [`subagentStatusLine`](#subagentstatusline) | Переписывайте строки в [отображении задач подагента](/docs/ru/sub-agents) с помощью вашей собственной команды | Interface and terminal | Any file |807| [`subagentStatusLine`](#subagentstatusline) | Переписывайте строки в отображении задач [субагента](/docs/ru/sub-agents) с помощью вашей собственной команды | Interface and terminal | Any file |

808| [`switchModelsOnFlag`](#switchmodelsonflag) | Переключайте модели автоматически или приостанавливайте, когда [классификатор безопасности](/docs/ru/model-config#ask-before-switching) помечает запрос | Model and responses | Any file |808| [`switchModelsOnFlag`](#switchmodelsonflag) | Переключайте модели автоматически или приостанавливайте работу, когда [классификатор безопасности](/docs/ru/model-config#ask-before-switching) помечает запрос | Model and responses | Any file |

809| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Остановите загрузку [плагинов, включённых в вашей учётной записи claude.ai](/docs/ru/plugins/loading#synced-plugins) и остановите загрузку новых | Plugins and skills | User, local, or managed |809| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Прекратите загрузку [плагинов, включённых в вашей учётной записи claude.ai](/docs/ru/plugins/loading#synced-plugins), и скачивание новых | Plugins and skills | User, local, or managed |

810| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Остановите загрузку [навыков, включённых в вашей учётной записи claude.ai](/docs/ru/skills#how-synced-skills-behave) и остановите загрузку новых | Plugins and skills | User, local, or managed |810| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Прекратите загрузку [скиллов, включённых в вашей учётной записи claude.ai](/docs/ru/skills#how-synced-skills-behave), и скачивание новых | Plugins and skills | User, local, or managed |

811| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Отключите подсветку синтаксиса в различиях и блоках кода | Interface and terminal | Any file |811| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Отключите подсветку синтаксиса в diff и блоках кода | Interface and terminal | Any file |

812| [`taskOutputMaxChars`](#taskoutputmaxchars) | Удалено в v2.1.277 вместе с инструментом `TaskOutput`, который оно определяло | Memory and context | Any file |812| [`taskOutputMaxChars`](#taskoutputmaxchars) | Удалено в v2.1.277 вместе с инструментом `TaskOutput`, размер вывода которого оно определяло | Memory and context | Any file |

813| [`teammateDefaultModel`](#teammatedefaultmodel) | Удалено в v2.1.234; см. [Укажите товарищей по команде и модели](/docs/ru/agent-teams#specify-teammates-and-models) для того, как Claude Code выбирает модель товарища по команде | Global config settings | Global config |813| [`teammateDefaultModel`](#teammatedefaultmodel) | Удалено в v2.1.234; см. [Укажите участников команды и модели](/docs/ru/agent-teams#specify-teammates-and-models), чтобы узнать, как Claude Code выбирает модель участника команды | Global config settings | Global config |

814| [`teammateMode`](#teammatemode) | Выберите, как [товарищи по команде агента отображаются](/docs/ru/agent-teams#choose-a-display-mode) | Agents, sessions, and worktrees | Any file |814| [`teammateMode`](#teammatemode) | Выберите, как [отображаются участники команды агентов](/docs/ru/agent-teams#choose-a-display-mode) | Agents, sessions, and worktrees | Any file |

815| [`terminalProgressBarEnabled`](#terminalprogressbarenabled) | Скройте полосу прогресса терминала в терминалах, которые её поддерживают | Interface and terminal | Any file |815| [`terminalProgressBarEnabled`](#terminalprogressbarenabled) | Скройте полосу прогресса терминала в терминалах, которые её поддерживают | Interface and terminal | Any file |

816| [`terminalTitleFromRename`](#terminaltitlefromrename) | Остановите [`/rename`](/docs/ru/sessions#name-your-sessions) и `--name` от изменения названия вкладки терминала | Interface and terminal | Any file |816| [`terminalTitleFromRename`](#terminaltitlefromrename) | Запретите [`/rename`](/docs/ru/sessions#name-your-sessions) и `--name` изменять название вкладки терминала | Interface and terminal | Any file |

817| [`theme`](#theme) | Выберите [цветовую тему](/docs/ru/terminal-config#match-the-color-theme) интерфейса, встроенную или пользовательскую | Interface and terminal | Any file |817| [`theme`](#theme) | Выберите [цветовую тему](/docs/ru/terminal-config#match-the-color-theme) интерфейса, встроенную или пользовательскую | Interface and terminal | Any file |

818| [`timeFormat`](#timeformat) | Показывайте время в интерфейсе на 12-часовых или 24-часовых часах, в UTC или с шаблоном strftime | Interface and terminal | Any file |818| [`timeFormat`](#timeformat) | Показывайте время в интерфейсе в 12-часовом или 24-часовом формате, в UTC или с шаблоном strftime | Interface and terminal | Any file |

819| [`timeZone`](#timezone) | Показывайте время в интерфейсе в часовом поясе, отличном от вашего системного | Interface and terminal | Any file |819| [`timeZone`](#timezone) | Показывайте время в интерфейсе в часовом поясе, отличном от вашего системного | Interface and terminal | Any file |

820| [`tui`](#tui) | Выберите [полноэкранный](/docs/ru/fullscreen) или классический рендерер терминала | Interface and terminal | Any file |820| [`tui`](#tui) | Выберите [полноэкранный](/docs/ru/fullscreen) или классический рендерер терминала | Interface and terminal | Any file |

821| [`ultracode`](#ultracode) | Попросите Claude спланировать [рабочий процесс](/docs/ru/workflows#let-claude-decide-with-ultracode) для каждой существенной задачи без запроса | Model and responses | Any file |821| [`ultracode`](#ultracode) | Пусть Claude планирует [рабочий процесс](/docs/ru/workflows#let-claude-decide-with-ultracode) для каждой существенной задачи без отдельной просьбы | Model and responses | Any file |

822| [`useAutoModeDuringPlan`](#useautomodeduringplan) | Позвольте классификатору [режима авто](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) проверять команды shell в [режиме плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode); установите `false` для получения подсказок вместо этого | Permission settings | User, local, or managed |822| [`useAutoModeDuringPlan`](#useautomodeduringplan) | Позвольте классификатору [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) проверять shell-команды в [режиме планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode); установите `false`, чтобы вместо этого получать запросы подтверждения | Permission settings | User, local, or managed |

823| [`verbose`](#verbose) | Показывайте [полный вывод инструмента](/docs/ru/cli-reference#cli-flags) вместо усечённых резюме; `viewMode` имеет приоритет, когда оба установлены | Interface and terminal | Any file |823| [`verbose`](#verbose) | Показывайте [полный вывод инструментов](/docs/ru/cli-reference#cli-flags) вместо усечённых сводок; `viewMode` имеет приоритет, когда установлены оба | Interface and terminal | Any file |

824| [`viewMode`](#viewmode) | Начните каждый сеанс в [представлении по умолчанию, подробном или сфокусированном](/docs/ru/cli-reference#cli-flags) | Interface and terminal | Any file |824| [`viewMode`](#viewmode) | Начинайте каждую сессию в [представлении по умолчанию, подробном или сфокусированном](/docs/ru/cli-reference#cli-flags) | Interface and terminal | Any file |

825| [`vimInsertModeRemaps`](#viminsertmoderemaps) | Сопоставьте двухклавишную [последовательность режима INSERT](/docs/ru/interactive-mode#remap-insert-mode-key-sequences), такую как `jj`, с Escape | Interface and terminal | User or managed |825| [`vimInsertModeRemaps`](#viminsertmoderemaps) | Сопоставьте двухклавишную [последовательность режима INSERT](/docs/ru/interactive-mode#remap-insert-mode-key-sequences), такую как `jj`, с Escape | Interface and terminal | User or managed |

826| [`voice`](#voice) | Включите [голосовую диктовку](/docs/ru/voice-dictation) и выберите режим удержания или касания | Interface and terminal | Any file |826| [`voice`](#voice) | Включите [голосовую диктовку](/docs/ru/voice-dictation) и выберите режим удержания или нажатия | Interface and terminal | Any file |

827| [`voiceEnabled`](#voiceenabled) | Включите [голосовую диктовку](/docs/ru/voice-dictation) с более старой однокнопочной формой | Interface and terminal | Any file |827| [`voiceEnabled`](#voiceenabled) | Включите [голосовую диктовку](/docs/ru/voice-dictation) с помощью более старой однокнопочной формы | Interface and terminal | Any file |

828| [`wheelScrollAccelerationEnabled`](#wheelscrollaccelerationenabled) | Отключите [ускорение прокрутки мышью](/docs/ru/fullscreen#mouse-wheel-scrolling) при полноэкранном отображении | Interface and terminal | Any file |828| [`wheelScrollAccelerationEnabled`](#wheelscrollaccelerationenabled) | Отключите [ускорение прокрутки колесом мыши](/docs/ru/fullscreen#mouse-wheel-scrolling) при полноэкранном отображении | Interface and terminal | Any file |

829| [`workflowKeywordTriggerEnabled`](#workflowkeywordtriggerenabled) | Позвольте слову `ultracode` в подсказке запустить [рабочий процесс](/docs/ru/workflows); установите `false` для ввода без запуска | Hooks and automation | Any file |829| [`workflowKeywordTriggerEnabled`](#workflowkeywordtriggerenabled) | Позвольте слову `ultracode` в промпте запускать [рабочий процесс](/docs/ru/workflows); установите `false`, чтобы вводить его без запуска | Hooks and automation | Any file |

830| [`workflowSizeGuideline`](#workflowsizeguideline) | Установите количество агентов, на которое Claude нацелен в [динамических рабочих процессах](/docs/ru/workflows) | Hooks and automation | Any file |830| [`workflowSizeGuideline`](#workflowsizeguideline) | Установите количество агентов, к которому Claude стремится в [динамических рабочих процессах](/docs/ru/workflows) | Hooks and automation | Any file |

831| [`worktree`](#worktree) | Настройте, как Claude Code создаёт git [worktrees](/docs/ru/worktrees) | Agents, sessions, and worktrees | Any file |831| [`worktree`](#worktree) | Настройте, как Claude Code создаёт git [worktrees](/docs/ru/worktrees) | Agents, sessions, and worktrees | Any file |

832| [`worktree.baseRef`](#worktree-baseref) | Ветвите новые [worktrees](/docs/ru/worktrees) из удалённой ветви по умолчанию или вашего локального HEAD | Agents, sessions, and worktrees | Any file |832| [`worktree.baseRef`](#worktree-baseref) | Создавайте новые [worktrees](/docs/ru/worktrees) от удалённой ветки по умолчанию или вашего локального HEAD | Agents, sessions, and worktrees | Any file |

833| [`worktree.bgIsolation`](#worktree-bgisolation) | Позвольте фоновым сеансам редактировать рабочую копию без [worktree](/docs/ru/worktrees) | Agents, sessions, and worktrees | Any file |833| [`worktree.bgIsolation`](#worktree-bgisolation) | Позвольте фоновым сессиям редактировать рабочую копию без [worktree](/docs/ru/worktrees) | Agents, sessions, and worktrees | Any file |

834| [`worktree.sparsePaths`](#worktree-sparsepaths) | Проверьте только необходимые вам каталоги в каждом [worktree](/docs/ru/worktrees) | Agents, sessions, and worktrees | Any file |834| [`worktree.sparsePaths`](#worktree-sparsepaths) | Извлекайте только необходимые вам каталоги в каждом [worktree](/docs/ru/worktrees) | Agents, sessions, and worktrees | Any file |

835| [`worktree.symlinkDirectories`](#worktree-symlinkdirectories) | Создавайте символические ссылки на большие каталоги в каждый [worktree](/docs/ru/worktrees) вместо их дублирования | Agents, sessions, and worktrees | Any file |835| [`worktree.symlinkDirectories`](#worktree-symlinkdirectories) | Создавайте символические ссылки на большие каталоги в каждом [worktree](/docs/ru/worktrees) вместо их дублирования | Agents, sessions, and worktrees | Any file |

836| [`wslInheritsWindowsSettings`](#wslinheritswindowssettings) | Пусть WSL читает [управляемые параметры](/docs/ru/managed-settings) из цепочки политики Windows | Enterprise and managed settings | Managed |836| [`wslInheritsWindowsSettings`](#wslinheritswindowssettings) | Пусть WSL читает [управляемые настройки](/docs/ru/managed-settings) из цепочки политик Windows | Enterprise and managed settings | Managed |

837 837 

838<h2 id="model-and-responses">838<h2 id="model-and-responses">

839 Модель и ответы839 Модель и ответы


1430Уровень effort сеанса поступает из [`effortLevel`](#effortlevel), [`modelSettings`](#modelsettings) и других [источников effort](/docs/ru/model-config#adjust-effort-level), и [ограничение effort](/docs/ru/model-config#organization-effort-limits), такое как [`maxEffortLevel`](#maxeffortlevel), снижает этот уровень без отключения ultracode. Это и форма `/effort ultracode off` требуют Claude Code v2.1.284 или позже. До v2.1.284 `ultracode: true` запускал сеанс на `xhigh` effort, и ограничение effort ниже `xhigh` держало ultracode отключённым. Запрос управления `apply_flag_settings` Agent SDK также принимает ключ.1430Уровень effort сеанса поступает из [`effortLevel`](#effortlevel), [`modelSettings`](#modelsettings) и других [источников effort](/docs/ru/model-config#adjust-effort-level), и [ограничение effort](/docs/ru/model-config#organization-effort-limits), такое как [`maxEffortLevel`](#maxeffortlevel), снижает этот уровень без отключения ultracode. Это и форма `/effort ultracode off` требуют Claude Code v2.1.284 или позже. До v2.1.284 `ultracode: true` запускал сеанс на `xhigh` effort, и ограничение effort ниже `xhigh` держало ultracode отключённым. Запрос управления `apply_flag_settings` Agent SDK также принимает ключ.

1431 1431 

1432<h2 id="permission-settings">1432<h2 id="permission-settings">

1433 Параметры разрешений1433 Настройки разрешений

1434</h2>1434</h2>

1435 1435 

1436Решите, что Claude может делать без запроса, в каком режиме разрешений начинается сеанс и что позволяет классификатор автоматического режима. Синтаксис правил и модель разрешений см. в разделе [Настройка разрешений](/docs/ru/permissions).1436Решите, что Claude может делать без запроса, в каком режиме разрешений начинается сессия и что позволяет классификатор авторежима. Синтаксис правил и модель разрешений см. в разделе [Настройка разрешений](/docs/ru/permissions).

1437 1437 

1438<h3 id="allowmanagedpermissionrulesonly">1438<h3 id="allowmanagedpermissionrulesonly">

1439 `allowManagedPermissionRulesOnly`1439 `allowManagedPermissionRulesOnly`

1440</h3>1440</h3>

1441 1441 

1442Сделайте управляемые параметры единственным источником правил разрешений. Claude Code затем игнорирует правила `allow`, `ask` и `deny` в файлах пользователя, проекта, локальных и `--settings`, игнорирует `--allowedTools`, скрывает варианты всегда разрешить в подсказках разрешений и прекращает сохранение новых правил.1442Сделайте управляемые настройки единственным источником правил разрешений среди настроек. Claude Code затем игнорирует правила `allow`, `ask` и `deny` в пользовательских, проектных, локальных файлах и файлах `--settings`, игнорирует `--allowedTools`, скрывает варианты «всегда разрешать» в запросах разрешений и прекращает сохранение новых правил.

1443 1443 

1444Когда применяются [родительские параметры от хоста встраивания](/docs/ru/managed-settings#let-an-embedding-host-add-policy), Claude Code рассматривает их как часть управляемого уровня. Он отбрасывает их правила `allow` и `additionalDirectories`, и сохраняет их правила `deny` и `ask`, кроме правил `Read` и `Edit`, чей шаблон начинается с `!`. Хост не может вырезать пути из управляемых правил с помощью правила `!`, независимо от того, установлен ли этот ключ.1444Когда применяются [родительские настройки от хоста встраивания](/docs/ru/managed-settings#let-an-embedding-host-add-policy), Claude Code рассматривает их как часть управляемого уровня. Он отбрасывает их правила `allow` и `additionalDirectories` и сохраняет их правила `deny` и `ask`, кроме правил `Read` и `Edit`, шаблон которых начинается с `!`. Хост не может исключить пути из управляемых правил с помощью правила `!`, независимо от того, установлен ли этот ключ.

1445 1445 

1446Правила `--disallowedTools` и текущие правила `deny` и `ask` сеанса по-прежнему применяются, включая после перезагрузки параметров Claude Code в середине сеанса. Они только ограничивают, поэтому не могут расширить то, что предоставляют управляемые правила. До версии 2.1.257 Claude Code отбрасывал эти правила командной строки и сеанса при первой перезагрузке параметров.1446Правила `--disallowedTools` и правила `deny` и `ask` текущей сессии по-прежнему применяются, в том числе после перезагрузки настроек Claude Code посреди сессии. Они только ограничивают, поэтому не могут расширить то, что разрешают управляемые правила. До версии 2.1.257 Claude Code отбрасывал эти правила командной строки и сессии при первой перезагрузке настроек.

1447 1447 

1448Для того, что может вырезать шаблон `!` в правиле `--disallowedTools` или сеанса, см. [Правила Read и Edit](/docs/ru/permissions#read-and-edit).1448О том, что может исключить шаблон `!` в правиле `--disallowedTools` или в правиле сессии, см. [Правила Read и Edit](/docs/ru/permissions#read-and-edit).

1449 1449 

1450* **Область**: [`Managed`](#scopes)1450Когда вы устанавливаете этот ключ, Claude Code v2.1.282 или новее также игнорирует frontmatter [`allowed-tools`](/docs/ru/skills#pre-approve-tools-for-a-skill) в скиллах и файлах `.claude/commands/` из следующих источников:

1451 

1452* Каталог `.claude/` репозитория

1453* Ваши каталоги `~/.claude/skills/` и `~/.claude/commands/`, включая [скиллы, синхронизированные из claude.ai](/docs/ru/skills#where-synced-skills-load)

1454* Каталог, добавленный через `--add-dir`

1455* [Плагины, объявленные манифестом `.claude-plugin`](/docs/ru/plugins/loading#plugins-shared-through-a-repository), внутри `~/.claude/skills/` или `.claude/skills/` проекта

1456 

1457Скиллы из управляемых настроек и встроенные скиллы сохраняют свои `allowed-tools`. Поле `disallowed-tools` скилла по-прежнему применяется. О том, что видит разработчик, когда Claude Code игнорирует это поле, см. [Когда применяются только управляемые правила разрешений](/docs/ru/skills#when-only-managed-permission-rules-apply).

1458 

1459* **Область действия**: [`Managed`](#scopes)

1451* **Тип**: Boolean1460* **Тип**: Boolean

1452 * `true`: управляемые параметры становятся единственным источником правил разрешений1461 * `true`: управляемые настройки становятся единственным источником правил разрешений среди настроек

1453 * `false`: Claude Code применяет правила разрешений из файлов пользователя, проекта, локальных и `--settings` в дополнение к управляемым1462 * `false`: Claude Code применяет правила разрешений из пользовательских, проектных, локальных файлов и файлов `--settings` в дополнение к управляемым

1454* **По умолчанию**: не установлено, поэтому Claude Code применяет правила разрешений из параметров пользователя, проекта и локальных, а также из `--settings`, в дополнение к управляемым1463* **По умолчанию**: не установлено, поэтому Claude Code применяет правила разрешений из пользовательских, проектных и локальных настроек, а также из `--settings`, в дополнение к управляемым

1455 1464 

1456```json managed-settings.json theme={null}1465```json managed-settings.json theme={null}

1457{1466{


1459}1468}

1460```1469```

1461 1470 

1462Этот ключ не блокирует список разрешений сервера MCP; для этого установите [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly). См. [Параметры только управляемые](/docs/ru/managed-settings#managed-only-settings).1471Этот ключ не фиксирует список разрешённых MCP-серверов; для этого установите [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly). См. [Настройки только для управляемого уровня](/docs/ru/managed-settings#managed-only-settings).

1463 1472 

1464<h3 id="automode">1473<h3 id="automode">

1465 `autoMode`1474 `autoMode`

1466</h3>1475</h3>

1467 1476 

1468Добавьте свои собственные правила к тому, что блокирует и разрешает классификатор [автоматического режима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode). Используйте его, чтобы сообщить классификатору, какие репозитории, корзины и домены доверяет ваша организация, чтобы он прекратил блокировать обычные внутренние операции. Классификатор поставляется с [встроенными правилами разрешения и отрицания](/docs/ru/auto-mode-config#inspect-the-defaults-and-your-effective-config). Включите буквальную строку `"$defaults"` в массив, чтобы сохранить эти встроенные правила в этой позиции и добавить свои вокруг них; опустите её, чтобы заменить их своими.1477Добавьте собственные правила к тому, что блокирует и разрешает классификатор [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode). Используйте его, чтобы сообщить классификатору, каким репозиториям, бакетам и доменам доверяет ваша организация, чтобы он перестал блокировать рутинные внутренние операции. Классификатор поставляется со [встроенными разрешающими и запрещающими правилами](/docs/ru/auto-mode-config#inspect-the-defaults-and-your-effective-config). Включите в массив буквальную строку `"$defaults"`, чтобы сохранить встроенные правила в этой позиции и добавить свои вокруг них; опустите её, чтобы заменить встроенные правила своими.

1469 1478 

1470* **Область**: [`User or managed`](#scopes)1479* **Область действия**: [`User or managed`](#scopes)

1471* **Тип**: объект с массивами `environment`, `allow`, `soft_deny` и `hard_deny` правил в прозе, плюс Boolean [`classifyAllShell`](#automode-classifyallshell)1480* **Тип**: объект с массивами правил в свободной форме `environment`, `allow`, `soft_deny` и `hard_deny`, а также Boolean [`classifyAllShell`](#automode-classifyallshell)

1472* **По умолчанию**: не установлено, поэтому классификатор использует только свои [встроенные правила](/docs/ru/auto-mode-config#inspect-the-defaults-and-your-effective-config)1481* **По умолчанию**: не установлено, поэтому классификатор использует только свои [встроенные правила](/docs/ru/auto-mode-config#inspect-the-defaults-and-your-effective-config)

1473 1482 

1474Этот пример сохраняет встроенные правила `soft_deny` через `"$defaults"` и добавляет ещё одно, которое блокирует `terraform apply`:1483Этот пример сохраняет встроенные правила `soft_deny` через `"$defaults"` и добавляет ещё одно, которое блокирует `terraform apply`:


1481}1490}

1482```1491```

1483 1492 

1484Когда более одного из этих файлов устанавливает один и тот же массив, Claude Code объединяет записи. Для формата правила и того, как применяется каждый массив, см. [Настройка автоматического режима](/docs/ru/auto-mode-config).1493Когда один и тот же массив задан в нескольких из этих файлов, Claude Code объединяет записи. О формате правил и о том, как применяется каждый массив, см. [Настройка авторежима](/docs/ru/auto-mode-config).

1485 1494 

1486<h3 id="automode-classifyallshell">1495<h3 id="automode-classifyallshell">

1487 `autoMode.classifyAllShell`1496 `autoMode.classifyAllShell`

1488</h3>1497</h3>

1489 1498 

1490Отправляйте каждую команду Bash и PowerShell через классификатор автоматического режима, пока активен автоматический режим. По умолчанию автоматический режим приостанавливает только правила разрешения, которые могут запускать произвольный код: правила на уровне инструмента и подстановочные знаки, такие как `Bash(*)`, и префиксы интерпретатора или оболочки, такие как `Bash(python *)`. Команда, которая соответствует любому другому правилу разрешения, такому как `Bash(npm test)`, пропускает классификатор, если только она не содержит [разрешённые домены для каждой команды](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode). Когда она пропускает, деструктивный аргумент, который префикс правила не предусмотрел, может пройти незамеченным. Установка этого ключа приостанавливает каждое правило разрешения оболочки для сеанса, чтобы классификатор видел каждую команду. Требует Claude Code v2.1.193 или позже.1499Отправляйте каждую команду Bash и PowerShell через классификатор авторежима, пока авторежим активен. По умолчанию авторежим приостанавливает только разрешающие правила, которые могут запускать произвольный код: правила на весь инструмент и правила с подстановочными знаками, такие как `Bash(*)`, а также префиксы интерпретаторов или обёрток оболочки, такие как `Bash(python *)`. Команда, которой соответствует любое другое разрешающее правило, например `Bash(npm test)`, минует классификатор, если только у неё нет [разрешённых доменов для отдельной команды](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode). Когда команда минует классификатор, деструктивный аргумент, который префикс правила не предусмотрел, может пройти незамеченным. Установка этого ключа приостанавливает все разрешающие правила для оболочки на время сессии, чтобы классификатор видел каждую команду. Требуется Claude Code v2.1.193 или новее.

1491 1500 

1492* **Область**: [`User or managed`](#scopes). Читается везде, где читается [`autoMode`](#automode).1501* **Область действия**: [`User or managed`](#scopes). Читается везде, где читается [`autoMode`](#automode).

1493* **Тип**: Boolean1502* **Тип**: Boolean

1494 * `true`: пока активен автоматический режим, Claude Code отправляет каждую команду Bash и PowerShell через классификатор и приостанавливает ваши правила разрешения оболочки; вне автоматического режима правила по-прежнему применяются1503 * `true`: пока авторежим активен, Claude Code отправляет каждую команду Bash и PowerShell через классификатор и приостанавливает ваши разрешающие правила для оболочки; вне авторежима правила по-прежнему применяются

1495 * `false`: автоматический режим приостанавливает только правила разрешения, которые могут запускать произвольный код, такие как `Bash(*)` и `Bash(python *)`; команда, которая соответствует любому другому правилу разрешения, пропускает классификатор, если только она не содержит [разрешённые домены для каждой команды](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode), и каждая другая команда оболочки проходит через него1504 * `false`: авторежим приостанавливает только разрешающие правила, которые могут запускать произвольный код, такие как `Bash(*)` и `Bash(python *)`; команда, которой соответствует любое другое разрешающее правило, минует классификатор, если только у неё нет [разрешённых доменов для отдельной команды](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode), а все остальные shell-команды проходят через него

1496* **По умолчанию**: `false`1505* **По умолчанию**: `false`

1497 1506 

1498```json settings.json theme={null}1507```json settings.json theme={null}


1503}1512}

1504```1513```

1505 1514 

1506См. [Маршрутизация всех команд оболочки через классификатор](/docs/ru/auto-mode-config#route-all-shell-commands-through-the-classifier). Требует Claude Code v2.1.193 или позже.1515См. [Направление всех shell-команд через классификатор](/docs/ru/auto-mode-config#route-all-shell-commands-through-the-classifier). Требуется Claude Code v2.1.193 или новее.

1507 1516 

1508<h3 id="disableautomode">1517<h3 id="disableautomode">

1509 `disableAutoMode`1518 `disableAutoMode`

1510</h3>1519</h3>

1511 1520 

1512Удалите [автоматический режим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) из цикла `Shift+Tab`. Любой сеанс, который в противном случае [начинается в автоматическом режиме](/docs/ru/permission-modes#which-mode-a-session-starts-in), будь то из `--permission-mode auto`, файла параметров или встроенного по умолчанию, вместо этого начинается в `default`. Администраторы устанавливают его в управляемых параметрах, чтобы предотвратить использование автоматического режима разработчиками в их организации.1521Удалите [авторежим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) из цикла `Shift+Tab`. Любая сессия, которая в противном случае [начиналась бы в авторежиме](/docs/ru/permission-modes#which-mode-a-session-starts-in), будь то из-за `--permission-mode auto`, файла настроек или встроенного значения по умолчанию, вместо этого начинается в `default`. Администраторы задают этот ключ в управляемых настройках, чтобы запретить разработчикам своей организации использовать авторежим.

1513 1522 

1514* **Область**: [`Any file`](#scopes). Наиболее полезно в [управляемых параметрах](/docs/ru/managed-settings), где пользователи не могут его переопределить. Также принимается под `permissions` как `permissions.disableAutoMode`.1523* **Область действия**: [`Any file`](#scopes). Наиболее полезен в [управляемых настройках](/docs/ru/managed-settings), где пользователи не могут его переопределить. Также принимается внутри `permissions` как `permissions.disableAutoMode`.

1515* **Тип**: строка `"disable"`1524* **Тип**: строка `"disable"`

1516* **По умолчанию**: не установлено1525* **По умолчанию**: не установлено

1517 1526 


1525 `permissions`1534 `permissions`

1526</h3>1535</h3>

1527 1536 

1528Контролируйте, какие инструменты Claude может использовать без запроса, какие всегда запрашивают подтверждение, какие заблокированы, и установите [режим разрешений](/docs/ru/permission-modes), в котором начинается сеанс. Каждый ключ `permissions.*` ниже вложен в этот объект.1537Управляйте тем, какие инструменты Claude может использовать без запроса, какие всегда требуют подтверждения, а какие заблокированы, и задайте [режим разрешений](/docs/ru/permission-modes), в котором начинается сессия. Все ключи `permissions.*` ниже вложены в этот объект.

1529 1538 

1530* **Область**: [`Any file`](#scopes)1539* **Область действия**: [`Any file`](#scopes)

1531* **Тип**: объект с `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode` и `disableAutoMode`1540* **Тип**: объект с `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode` и `disableAutoMode`

1532* **По умолчанию**: не установлено1541* **По умолчанию**: не установлено

1533 1542 

1534Этот пример одобряет команды `npm run` без запроса, запрашивает подтверждение перед `git push`, блокирует чтение `.env` и запускает сеансы в `acceptEdits`:1543Этот пример разрешает команды `npm run` без запроса, запрашивает подтверждение перед `git push`, блокирует чтение `.env` и запускает сессии в `acceptEdits`:

1535 1544 

1536```json settings.json theme={null}1545```json settings.json theme={null}

1537{1546{


1544}1553}

1545```1554```

1546 1555 

1547Три массива правил используют один синтаксис; см. [Синтаксис правила разрешения](#permission-rule-syntax) под `permissions.allow`. Для того, как правила разрешений из разных файлов объединяются, см. [как правила разрешений объединяются в разных областях](/docs/ru/permissions#settings-precedence); для того, как ключи параметров в целом объединяются, см. [Приоритет параметров](/docs/ru/settings#settings-precedence) в руководстве параметров.1556Три массива правил используют один синтаксис; см. [Синтаксис правил разрешений](#permission-rule-syntax) в разделе `permissions.allow`. О том, как объединяются правила разрешений из разных файлов, см. [как правила разрешений объединяются между областями действия](/docs/ru/permissions#settings-precedence); о том, как объединяются ключи настроек в целом, см. [Приоритет настроек](/docs/ru/settings#settings-precedence) в руководстве по настройкам.

1548 1557 

1549<h3 id="useautomodeduringplan">1558<h3 id="useautomodeduringplan">

1550 `useAutoModeDuringPlan`1559 `useAutoModeDuringPlan`

1551</h3>1560</h3>

1552 1561 

1553Выберите, использует ли Claude Code классификатор автоматического режима для проверки команд оболочки в режиме плана. По умолчанию `true` классификатор проверяет каждую команду во время планирования, когда доступен автоматический режим и вы не видите подсказку, кроме [критических путей удаления](/docs/ru/permission-modes#critical-paths). Установите `false`, чтобы получить подсказку разрешения для каждой команды вне встроенного набора только для чтения. Появляется в `/config` как **Use auto mode during plan**.1562Выберите, использует ли Claude Code классификатор авторежима для проверки shell-команд в режиме планирования. При значении по умолчанию `true` классификатор проверяет каждую команду во время планирования, когда авторежим доступен, и вы не видите запроса, за исключением [удалений критических путей](/docs/ru/permission-modes#critical-paths). Установите `false`, чтобы получать запрос разрешения для каждой команды вне встроенного набора команд только для чтения. Отображается в `/config` как **Use auto mode during plan**.

1554 1563 

1555* **Область**: [`User, local, or managed`](#scopes). Репозиторий не может отключить его для вас.1564* **Область действия**: [`User, local, or managed`](#scopes). Репозиторий не может отключить его за вас.

1556* **Тип**: Boolean1565* **Тип**: Boolean

1557 * `true`: то же самое, что не установлено; когда доступен автоматический режим, классификатор проверяет каждую команду оболочки во время планирования вместо того, чтобы запрашивать вас, кроме [критических путей удаления](/docs/ru/permission-modes#critical-paths). `false` в любом из этих файлов по-прежнему отключает его1566 * `true`: то же, что и отсутствие значения; когда авторежим доступен, классификатор проверяет каждую shell-команду во время планирования вместо запроса к вам, за исключением [удалений критических путей](/docs/ru/permission-modes#critical-paths). Значение `false` в любом из этих файлов всё равно отключает его

1558 * `false`: вы получаете подсказку разрешения для каждой команды вне встроенного набора только для чтения1567 * `false`: вы получаете запрос разрешения для каждой команды вне встроенного набора команд только для чтения

1559* **По умолчанию**: `true`1568* **По умолчанию**: `true`

1560 1569 

1561```json settings.json theme={null}1570```json settings.json theme={null}


1568 `permissions.allow`1577 `permissions.allow`

1569</h3>1578</h3>

1570 1579 

1571Перечислите использование инструментов, которые Claude Code одобряет без запроса. В правиле MCP `*` может появляться только в имени инструмента после префикса `mcp__<server>__`, такого как `mcp__github__get_*`; оно не может появляться в имени сервера.1580Перечислите использования инструментов, которые Claude Code одобряет без запроса. В правиле MCP `*` может встречаться только в имени инструмента после префикса `mcp__<server>__`, например `mcp__github__get_*`; в имени сервера он встречаться не может.

1572 1581 

1573* **Область**: [`Any file`](#scopes)1582* **Область действия**: [`Any file`](#scopes)

1574* **Тип**: массив строк правил разрешения1583* **Тип**: массив строк правил разрешений

1575* **По умолчанию**: не установлено1584* **По умолчанию**: не установлено

1576* **Переопределения для каждого сеанса**: `--allowedTools` добавляет правила разрешения для одного сеанса, и правило отрицания из любого файла параметров по-прежнему блокирует инструмент, который оно называет1585* **Переопределения для отдельной сессии**: `--allowedTools` добавляет разрешающие правила на одну сессию, а запрещающее правило из любого файла настроек по-прежнему блокирует указанный в нём инструмент

1577 1586 

1578Этот пример одобряет `git diff` и позволяет Claude Code читать ваш `.zshrc` без запроса:1587Этот пример разрешает `git diff` и позволяет Claude Code читать ваш `.zshrc` без запроса:

1579 1588 

1580```json settings.json theme={null}1589```json settings.json theme={null}

1581{1590{


1585}1594}

1586```1595```

1587 1596 

1588Claude Code применяет правила `allow` из `.claude/settings.json` проекта только после того, как вы примете [диалог доверия рабочей области](/docs/ru/permissions#project-allow-rules-and-workspace-trust) для этой папки.1597Claude Code применяет правила `allow` из `.claude/settings.json` проекта только после того, как вы подтвердите [диалоговое окно доверия рабочему пространству](/docs/ru/permissions#project-allow-rules-and-workspace-trust) для этой папки.

1589 1598 

1590<h4 id="permission-rule-syntax">1599<h4 id="permission-rule-syntax">

1591 Синтаксис правила разрешения1600 Синтаксис правил разрешений

1592</h4>1601</h4>

1593 1602 

1594Правила разрешения следуют формату `Tool` или `Tool(specifier)`. Claude Code оценивает правила `deny` первыми, затем `ask`, затем `allow`, и первое совпадение решает независимо от того, насколько специфично каждое правило; см. [порядок оценки правила разрешения](/docs/ru/permissions#manage-permissions).1603Правила разрешений имеют формат `Tool` или `Tool(specifier)`. Claude Code сначала проверяет правила `deny`, затем `ask`, затем `allow`, и решение принимает первое совпадение, независимо от того, насколько конкретно каждое правило; см. [порядок проверки правил разрешений](/docs/ru/permissions#manage-permissions).

1595 1604 

1596Каждая строка показывает одну форму правила и то, что оно соответствует.1605Каждая строка показывает одну форму правила и то, чему она соответствует.

1597 1606 

1598| Правило | Что оно соответствует |1607| Правило | Чему соответствует |

1599| :- | :- |1608| :- | :- |

1600| `Bash` | Каждая команда Bash |1609| `Bash` | Каждая команда Bash |

1601| `Bash(npm run *)` | Команды, начинающиеся с `npm run` |1610| `Bash(npm run *)` | Команды, начинающиеся с `npm run` |

1602| `Read(./.env)` | Чтение файла `.env` |1611| `Read(./.env)` | Чтение файла `.env` |

1603| `WebFetch(domain:example.com)` | Запросы выборки на example.com |1612| `WebFetch(domain:example.com)` | Запросы на загрузку с example.com |

1604 1613 

1605Для полного синтаксиса правила, включая поведение подстановочных знаков, шаблоны для конкретных инструментов для Read, Edit, WebFetch, MCP и Agent правил, и ограничения безопасности шаблонов Bash, см. [Синтаксис правила разрешения](/docs/ru/permissions#permission-rule-syntax).1614Полный синтаксис правил, включая поведение подстановочных знаков, шаблоны для конкретных инструментов в правилах Read, Edit, WebFetch, MCP и Agent, а также ограничения безопасности шаблонов Bash, см. в разделе [Синтаксис правил разрешений](/docs/ru/permissions#permission-rule-syntax).

1606 1615 

1607<h3 id="permissions-ask">1616<h3 id="permissions-ask">

1608 `permissions.ask`1617 `permissions.ask`

1609</h3>1618</h3>

1610 1619 

1611Перечислите использование инструментов, которые запрашивают вас на подтверждение даже в режиме разрешений, который в противном случае их одобрил бы, такой как `acceptEdits` или `bypassPermissions`. В режиме `dontAsk` Claude Code отрицает соответствующее использование инструмента вместо того, чтобы запрашивать.1620Перечислите использования инструментов, для которых у вас запрашивается подтверждение даже в режиме разрешений, который иначе одобрил бы их, например `acceptEdits` или `bypassPermissions`. В режиме `dontAsk` Claude Code отклоняет соответствующее использование инструмента вместо запроса.

1612 1621 

1613* **Область**: [`Any file`](#scopes)1622* **Область действия**: [`Any file`](#scopes)

1614* **Тип**: массив строк правил разрешения1623* **Тип**: массив строк правил разрешений

1615* **По умолчанию**: не установлено1624* **По умолчанию**: не установлено

1616 1625 

1617```json settings.json theme={null}1626```json settings.json theme={null}


1628 `permissions.deny`1637 `permissions.deny`

1629</h3>1638</h3>

1630 1639 

1631Перечислите использование инструментов, которые блокирует Claude Code. Используйте его для файлов, которые содержат ключи API, секреты или значения окружения: Claude Code исключает соответствующие файлы из обнаружения файлов и результатов поиска, отрицает их чтение и блокирует [инструменты Edit и Write](/docs/ru/permissions#read-and-edit) на соответствующих путях.1640Перечислите использования инструментов, которые Claude Code блокирует. Используйте этот ключ для файлов, содержащих API-ключи, секреты или значения окружения: Claude Code исключает соответствующие файлы из обнаружения файлов и результатов поиска, запрещает их чтение и блокирует [инструменты Edit и Write](/docs/ru/permissions#read-and-edit) для соответствующих путей.

1632 1641 

1633Правила отрицания Read и Edit применяются к встроенным инструментам файлов Claude, к командам файлов, которые Claude Code распознаёт в Bash, таким как `cat`, `head`, `tail`, `sed` и `tee`, и к целям Bash [перенаправлений](/docs/ru/permissions#redirections), таких как `> file` и `< file`; они не применяются к команде, которая читает файлы без их названия, такой как `grep -r pattern .`, или к произвольным подпроцессам, поэтому для принудительного применения на уровне ОС [включите песочницу](/docs/ru/sandboxing).1642Запрещающие правила Read и Edit применяются к встроенным файловым инструментам Claude, к файловым командам, которые Claude Code распознаёт в Bash, таким как `cat`, `head`, `tail`, `sed` и `tee`, и к целям [перенаправлений](/docs/ru/permissions#redirections) Bash, таких как `> file` и `< file`; они не применяются к команде, которая читает файлы, не называя их, например `grep -r pattern .`, или к произвольным подпроцессам, поэтому для принудительного контроля на уровне ОС [включите песочницу](/docs/ru/sandboxing).

1634 1643 

1635* **Область**: [`Any file`](#scopes)1644* **Область действия**: [`Any file`](#scopes)

1636* **Тип**: массив строк правил разрешения1645* **Тип**: массив строк правил разрешений

1637* **По умолчанию**: не установлено1646* **По умолчанию**: не установлено

1638* **Переопределения для каждого сеанса**: `--disallowedTools` добавляет правила отрицания для одного сеанса рядом с этим ключом1647* **Переопределения для отдельной сессии**: `--disallowedTools` добавляет запрещающие правила на одну сессию наряду с этим ключом

1639 1648 

1640Этот пример отрицает чтение файлов `.env`, каталога `secrets` и файла учётных данных, и блокирует команды `curl`:1649Этот пример запрещает чтение файлов `.env`, каталога `secrets` и файла учётных данных, а также блокирует команды `curl`:

1641 1650 

1642```json settings.json theme={null}1651```json settings.json theme={null}

1643{1652{


1653}1662}

1654```1663```

1655 1664 

1656Имена инструментов принимают шаблоны glob, поэтому `"*"` отрицает каждый инструмент и `"mcp__*"` отрицает каждый инструмент MCP. Claude Code игнорирует правило отрицания для инструмента [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior), пока доступен любой другой инструмент. Правило отрицания `Bash` соответствует команде, как её пишет Claude, поэтому `Bash(curl *)` не останавливает `/usr/bin/curl` или `sh -c 'curl …'`; см. [что правило Bash не соответствует](/docs/ru/permissions#bash-rule-limits). Этот ключ заменяет устаревшую конфигурацию `ignorePatterns`.1665Имена инструментов поддерживают glob-шаблоны, поэтому `"*"` запрещает все инструменты, а `"mcp__*"` запрещает все MCP-инструменты. Claude Code игнорирует запрещающее правило для инструмента [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior), пока Claude доступен хотя бы один другой инструмент. Запрещающее правило `Bash` сопоставляется с командой в том виде, в каком её пишет Claude, поэтому `Bash(curl *)` не останавливает `/usr/bin/curl` или `sh -c 'curl …'`; см. [чему не соответствует правило Bash](/docs/ru/permissions#bash-rule-limits). Этот ключ заменяет устаревшую конфигурацию `ignorePatterns`.

1657 1666 

1658<h3 id="permissions-additionaldirectories">1667<h3 id="permissions-additionaldirectories">

1659 `permissions.additionalDirectories`1668 `permissions.additionalDirectories`

1660</h3>1669</h3>

1661 1670 

1662Дайте Claude доступ к файлам в каталогах вне того, в котором вы начали, как дополнительные [рабочие каталоги](/docs/ru/permissions#working-directories). Большинство конфигурации `.claude/` [не обнаруживается](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) из этих каталогов.1671Предоставьте Claude доступ к файлам в каталогах за пределами того, в котором вы начали работу, в качестве дополнительных [рабочих каталогов](/docs/ru/permissions#working-directories). Большая часть конфигурации `.claude/` из этих каталогов [не обнаруживается](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration).

1663 1672 

1664* **Область**: [`Any file`](#scopes)1673* **Область действия**: [`Any file`](#scopes), с [ограничениями на доступ на запись в песочнице](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox), который дают записи из проектных и локальных настроек

1665* **Тип**: массив путей каталогов1674* **Тип**: массив путей к каталогам

1666* **По умолчанию**: не установлено1675* **По умолчанию**: не установлено

1667* **Переопределения для каждого сеанса**: `--add-dir` и `/add-dir` добавляют каталоги для одного сеанса рядом с этим ключом1676* **Переопределения для отдельной сессии**: `--add-dir` и `/add-dir` добавляют каталоги на одну сессию наряду с этим ключом

1668 1677 

1669```json settings.json theme={null}1678```json settings.json theme={null}

1670{1679{


1674}1683}

1675```1684```

1676 1685 

1677Как и правила `allow`, записи в `.claude/settings.json` проекта вступают в силу только после того, как вы примете [диалог доверия рабочей области](/docs/ru/permissions#project-allow-rules-and-workspace-trust) для этой папки.1686Как и правила `allow`, записи в `.claude/settings.json` проекта вступают в силу только после того, как вы подтвердите [диалоговое окно доверия рабочему пространству](/docs/ru/permissions#project-allow-rules-and-workspace-trust) для этой папки.

1678 1687 

1679<h3 id="permissions-blockreadsoutsideworkingdirectories">1688<h3 id="permissions-blockreadsoutsideworkingdirectories">

1680 `permissions.blockReadsOutsideWorkingDirectories`1689 `permissions.blockReadsOutsideWorkingDirectories`

1681</h3>1690</h3>

1682 1691 

1683Заставьте инструменты файлов Claude отказывать в чтении вне [рабочих каталогов](/docs/ru/permissions#working-directories) в каждом режиме разрешений, включая `bypassPermissions`. Claude Code отрицает вызовы `Read`, `Grep`, `Glob` и `LSP` на этих путях и говорит Claude попросить вас добавить каталог с помощью `/add-dir`. Файлы, которые нужны самому Claude Code, остаются читаемыми, такие как ваши skills, plugins, правила, agents, команды и файл памяти `CLAUDE.md` под `~/.claude/`. Требует Claude Code v2.1.257 или позже.1692Заставьте файловые инструменты Claude отказывать в чтении за пределами ваших [рабочих каталогов](/docs/ru/permissions#working-directories) в любом режиме разрешений, включая `bypassPermissions`. Claude Code отклоняет вызовы `Read`, `Grep`, `Glob` и `LSP` для таких путей и сообщает Claude, чтобы он попросил вас добавить каталог с помощью `/add-dir`. Файлы, которые нужны самому Claude Code, остаются доступными для чтения, например ваши скиллы, плагины, правила, агенты, команды и файл памяти `CLAUDE.md` в `~/.claude/`. Требуется Claude Code v2.1.257 или новее.

1684 1693 

1685Claude Code не отказывает команды оболочки таким же образом:1694Shell-команды Claude Code блокирует иначе:

1686 1695 

1687* [Действия, которые ни один режим не одобряет автоматически](/docs/ru/permission-modes#actions-no-mode-auto-approves) охватывает, когда команда оболочки, которая читает такой путь, запрашивает вас1696* В разделе [Действия, которые не одобряет автоматически ни один режим](/docs/ru/permission-modes#actions-no-mode-auto-approves) описано, когда shell-команда, читающая такой путь, вызывает запрос к вам

1688* [Команды в песочнице под блокировкой](#sandboxed-commands-under-the-block) охватывает, что команда в песочнице может читать1697* В разделе [Команды в песочнице при действующей блокировке](#sandboxed-commands-under-the-block) описано, что может читать команда в песочнице

1689 1698 

1690Команда Bash, которую парсер оболочки не может отследить, такая как та, которая меняет каталог более одного раза или запускает подоболочку, запрашивает вас даже в автоматическом режиме и режиме `bypassPermissions`. Подсказка появляется даже когда команда не называет путь вне рабочих каталогов. Эта подсказка не применяется, когда команда запускается в [песочнице](/docs/ru/sandboxing) и песочница применяет блокировку.1699Команда Bash, которую парсер оболочки не может отследить, например команда, которая меняет каталог более одного раза или запускает подоболочку, вызывает запрос к вам даже в авторежиме и в режиме `bypassPermissions`. Запрос появляется, даже если команда не называет ни одного пути за пределами рабочих каталогов. Этот запрос не появляется, когда команда выполняется в [песочнице](/docs/ru/sandboxing) и песочница обеспечивает блокировку.

1691 1700 

1692Claude Code также пишет `true` здесь, когда вы выбираете блокировку таких чтений на [подсказке автоматического режима перед первым чтением вне рабочих каталогов](/docs/ru/permission-modes#first-read-outside-the-working-directories).1701Claude Code также записывает сюда `true`, когда вы выбираете блокировку такого чтения в [запросе авторежима перед первым чтением за пределами рабочих каталогов](/docs/ru/permission-modes#first-read-outside-the-working-directories).

1693 1702 

1694* **Область**: [`Any file`](#scopes). `true` в любом файле применяется, поэтому репозиторий может включить блокировку для себя, но не может снять блокировку, которую вы установили.1703* **Область действия**: [`Any file`](#scopes). Значение `true` в любом файле применяется, поэтому репозиторий может включить блокировку для себя, но не может снять вашу.

1695* **Тип**: Boolean1704* **Тип**: Boolean

1696 * `true`: инструменты файлов Claude отказывают в чтении вне рабочих каталогов1705 * `true`: файловые инструменты Claude отказывают в чтении за пределами рабочих каталогов

1697 * `false`: то же самое, что не установлено; блокировка по-прежнему применяется, если другой файл устанавливает `true`1706 * `false`: то же, что и отсутствие значения; блокировка всё равно применяется, если другой файл устанавливает `true`

1698* **По умолчанию**: не установлено, поэтому чтение вне рабочих каталогов следует вашему [режиму разрешений](/docs/ru/permission-modes)1707* **По умолчанию**: не установлено, поэтому чтение за пределами рабочих каталогов подчиняется вашему [режиму разрешений](/docs/ru/permission-modes)

1699 1708 

1700```json settings.json theme={null}1709```json settings.json theme={null}

1701{1710{


1705}1714}

1706```1715```

1707 1716 

1708Каталоги, которые вы добавляете с помощью `--add-dir`, `/add-dir` или `additionalDirectories` в ваши пользовательские или управляемые параметры, считаются рабочими каталогами для блокировки. Каталоги, добавленные только в параметры репозитория, не считаются: те, что в `.claude/settings.json`, и те, что в `.claude/settings.local.json`, если git не отслеживает этот файл. В каталоге, который не является репозиторием git, или когда git отслеживает файл, Claude Code рассматривает `.claude/settings.local.json` как параметры, предоставленные репозиторием, поэтому поместите каталоги, которые вы хотите сохранить читаемыми, в ваши пользовательские параметры вместо этого.1717Каталоги, которые вы добавляете с помощью `--add-dir`, `/add-dir` или `additionalDirectories` в пользовательских или управляемых настройках, считаются рабочими каталогами для блокировки. Каталоги, добавленные только в настройках репозитория, не считаются: те, что указаны в `.claude/settings.json`, и те, что указаны в `.claude/settings.local.json`, если только git не сообщает, что этот файл не отслеживается. В каталоге, который не является git-репозиторием, или когда git отслеживает этот файл, Claude Code рассматривает `.claude/settings.local.json` как настройки репозитория, поэтому каталоги, которые должны оставаться доступными для чтения, указывайте в пользовательских настройках.

1709 1718 

1710Когда [`autoMemoryDirectory`](#automemorydirectory) поступает из `.claude/settings.json` проекта или из `.claude/settings.local.json` [рассматриваемого как предоставленный репозиторием](/docs/ru/permissions#when-your-local-settings-file-needs-trust), Claude Code не загружает [автоматическую память](/docs/ru/memory#storage-location) из этого каталога и не сохраняет её в него.1719Когда [`autoMemoryDirectory`](#automemorydirectory) задан в `.claude/settings.json` проекта или в `.claude/settings.local.json`, [рассматриваемом как предоставленный репозиторием](/docs/ru/permissions#when-your-local-settings-file-needs-trust), Claude Code не загружает [автоматическую память](/docs/ru/memory#storage-location) из этого каталога и ничего в него не сохраняет.

1711 1720 

1712Чтобы снять блокировку, удалите ключ из каждого файла параметров, который его устанавливает, затем запустите новый сеанс.1721Чтобы снять блокировку, удалите ключ из всех файлов настроек, которые его устанавливают, затем начните новую сессию.

1713 1722 

1714<h4 id="sandboxed-commands-under-the-block">1723<h4 id="sandboxed-commands-under-the-block">

1715 Команды в песочнице под блокировкой1724 Команды в песочнице при действующей блокировке

1716</h4>1725</h4>

1717 1726 

1718Когда [песочница](/docs/ru/sandboxing) включена, блокировка также охватывает команды в песочнице. Claude Code отрицает им доступ на чтение к вашему домашнему каталогу и к другим корням, которые содержат файлы пользователя: `/Users`, `/home`, `/root`, `/Volumes`, `/mnt`, `/media`, `/run/media` и `/srv`. Затем он повторно открывает рабочие каталоги, [worktrees](/docs/ru/worktrees), которые Claude Code создаёт в сеансе, временный каталог сеанса и части `~/.claude`, которые нужны командам, такие как skills и plugins. Пока блокировка действует, записи `allowRead` и `allowWrite` из параметров репозитория не считаются.1727Когда [изоляция в песочнице](/docs/ru/sandboxing) включена, блокировка также распространяется на команды в песочнице. Claude Code запрещает им чтение вашего домашнего каталога и других корневых каталогов, содержащих пользовательские файлы: `/Users`, `/home`, `/root`, `/Volumes`, `/mnt`, `/media`, `/run/media` и `/srv`. Затем он снова открывает рабочие каталоги, [worktree](/docs/ru/worktrees), которые Claude Code создаёт в сессии, временный каталог сессии и те части `~/.claude`, которые нужны командам, например скиллы и плагины. Пока блокировка действует, записи `allowRead` и `allowWrite` из настроек репозитория не учитываются.

1719 1728 

1720Когда рабочий каталог сеанса является связанным [git worktree](/docs/ru/worktrees), включая тот, в который Claude Code вошёл в середине сеанса, общий каталог `.git` репозитория остаётся читаемым и записываемым для команд в песочнице, чтобы git продолжал работать там.1729Когда рабочий каталог сессии является связанным [git worktree](/docs/ru/worktrees), в том числе таким, в который Claude Code перешёл посреди сессии, общий каталог `.git` репозитория остаётся доступным для чтения и записи командам в песочнице, чтобы git продолжал там работать.

1721 1730 

1722В этих случаях блокировка не достигает команд в песочнице, пока инструменты файлов Claude продолжают её применять:1731В следующих случаях блокировка не распространяется на команды в песочнице, тогда как файловые инструменты Claude продолжают её соблюдать:

1723 1732 

1724* Изоляция файловой системы отключена через [`sandbox.filesystem.disabled`](#sandbox-filesystem-disabled)1733* Изоляция файловой системы отключена через [`sandbox.filesystem.disabled`](#sandbox-filesystem-disabled)

1725* [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) установлено1734* Установлен [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly)

1726* Путь каталога, в котором вы запустили Claude Code, содержит символ glob, такой как `*`, `?` или `[`1735* Путь к каталогу, в котором вы запустили Claude Code, содержит glob-символ, например `*`, `?` или `[`

1727 1736 

1728Под блокировкой Claude Code повторно открывает ваши глобальные файлы конфигурации git для команд в песочнице, чтобы `git` сохранял вашу идентичность и параметры:1737При действующей блокировке Claude Code снова открывает командам в песочнице ваши глобальные файлы конфигурации git, чтобы `git` сохранял ваши идентификационные данные и настройки:

1729 1738 

1730* `~/.gitconfig`1739* `~/.gitconfig`

1731* Файлы `config`, `ignore` и `attributes` под `$XDG_CONFIG_HOME/git`, который по умолчанию равен `~/.config/git`1740* Файлы `config`, `ignore` и `attributes` в `$XDG_CONFIG_HOME/git`, который по умолчанию равен `~/.config/git`

1732* Файлы, которые ваша глобальная конфигурация git называет через `[include]`, `[includeIf]`, `core.excludesFile` или `core.attributesFile`1741* Файлы, на которые ваша глобальная конфигурация git ссылается через `[include]`, `[includeIf]`, `core.excludesFile` или `core.attributesFile`

1733 1742 

1734Claude Code судит каждый файл отдельно. Когда файл находится там, где команда в песочнице может писать, прямо или через символическую ссылку, Claude Code не повторно открывает файлы, которые он называет.1743Claude Code оценивает каждый файл отдельно. Когда файл находится там, куда команда в песочнице может писать, напрямую или через символическую ссылку, Claude Code не открывает снова файлы, на которые он ссылается.

1735 1744 

1736На Linux и WSL2 файл конфигурации, который является символической ссылкой, может остаться нечитаемым по его собственному пути, и `git` затем запускается без него. `~/.git-credentials` и `$XDG_CONFIG_HOME/git/credentials` остаются заблокированными.1745В Linux и WSL2 файл конфигурации, являющийся символической ссылкой, может оставаться недоступным для чтения по собственному пути, и тогда `git` работает без него. `~/.git-credentials` и `$XDG_CONFIG_HOME/git/credentials` остаются заблокированными.

1737 1746 

1738Если повторно открытый файл содержит секрет, такой как токен `http.extraHeader`, добавьте его путь в [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread). Запись `denyRead`, которая охватывает файл, всегда имеет приоритет над этим повторным открытием.1747Если снова открытый файл содержит секрет, например токен `http.extraHeader`, добавьте его путь в [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread). Запись `denyRead`, охватывающая файл, всегда имеет приоритет над этим повторным открытием.

1739 1748 

1740<h3 id="permissions-defaultmode">1749<h3 id="permissions-defaultmode">

1741 `permissions.defaultMode`1750 `permissions.defaultMode`

1742</h3>1751</h3>

1743 1752 

1744Установите [режим разрешений](/docs/ru/permission-modes), в котором начинаются новые сеансы. Когда вы оставляете его не установленным, сеансы начинаются в [встроенном по умолчанию](/docs/ru/permission-modes#which-mode-a-session-starts-in) для вашей поверхности.1753Задайте [режим разрешений](/docs/ru/permission-modes), в котором начинаются новые сессии. Если оставить ключ не установленным, сессии начинаются во [встроенном режиме по умолчанию](/docs/ru/permission-modes#which-mode-a-session-starts-in) для вашего интерфейса.

1745 1754 

1746* **Область**: [`Any file`](#scopes). `auto` и `bypassPermissions` не вступают в силу из параметров проекта или локальных, поэтому установите их в `~/.claude/settings.json` вместо этого. До версии 2.1.257 `bypassPermissions` вступал в силу из любого файла. Для разговоров, которые запускает расширение VS Code, Claude Code читает только значения пользователя, управляемые и `--settings`.1755* **Область действия**: [`Any file`](#scopes). `auto` и `bypassPermissions` не вступают в силу из проектных или локальных настроек, поэтому задавайте их в `~/.claude/settings.json`. До версии 2.1.257 `bypassPermissions` вступал в силу из любого файла. Для диалогов, которые запускает расширение VS Code, Claude Code читает только пользовательские, управляемые значения и значения `--settings`.

1747* **Тип**: строка, одна из:1756* **Тип**: строка, одно из значений:

1748 * `"default"`: Claude Code запускает только чтение без запроса1757 * `"default"`: Claude Code без запроса выполняет только чтение

1749 * `"acceptEdits"`: Claude Code также запускает редактирование файлов и общие команды файловой системы, такие как `mkdir` и `mv`, без запроса1758 * `"acceptEdits"`: Claude Code также без запроса выполняет редактирование файлов и распространённые команды файловой системы, такие как `mkdir` и `mv`

1750 * `"plan"`: Claude Code читает и планирует, но блокирует редактирование до того, как вы одобрите план1759 * `"plan"`: Claude Code читает и планирует, но блокирует редактирование, пока вы не утвердите план

1751 * `"auto"`: Claude Code запускает всё без обычных подсказок; перед действиями, такими как команды оболочки и сетевые запросы, фоновый классификатор проверяет, что они соответствуют вашему запросу1760 * `"auto"`: Claude Code работает без рутинных запросов; перед выполнением таких действий, как shell-команды и сетевые запросы, фоновый классификатор проверяет, что они соответствуют вашей задаче

1752 * `"dontAsk"`: Claude Code автоматически отрицает каждый вызов, который в противном случае запрашивал бы; чтение, другие действия, которые не требуют одобрения, и предварительно одобренные инструменты по-прежнему запускаются1761 * `"dontAsk"`: Claude Code автоматически отклоняет каждый вызов, который иначе потребовал бы запроса; чтение, другие действия, не требующие подтверждения, и заранее разрешённые инструменты по-прежнему выполняются

1753 * `"bypassPermissions"`: Claude Code запускает всё без запроса1762 * `"bypassPermissions"`: Claude Code выполняет всё без запроса

1754 * `"manual"`: псевдоним для `"default"`, в Claude Code v2.1.200 или позже1763 * `"manual"`: псевдоним для `"default"` в Claude Code v2.1.200 или новее

1755* **По умолчанию**: не установлено1764* **По умолчанию**: не установлено

1756* **Переопределения для каждого сеанса**: `--permission-mode` и его эквивалент `--dangerously-skip-permissions` для `bypassPermissions` имеют приоритет над этим ключом для одного сеанса1765* **Переопределения для отдельной сессии**: `--permission-mode` и его эквивалент `--dangerously-skip-permissions` для `bypassPermissions` имеют приоритет над этим ключом на одну сессию

1757 1766 

1758```json settings.json theme={null}1767```json settings.json theme={null}

1759{1768{


1763}1772}

1764```1773```

1765 1774 

1766Правила разрешений накладываются на каждый режим: правила `deny` блокируют в каждом режиме, включая `bypassPermissions`. См. [Режимы разрешений](/docs/ru/permission-modes). `manual` называет режим разрешений, помеченный Manual в CLI и расширении VS Code; псевдоним требует Claude Code v2.1.200 или позже. В облачных сеансах Claude Code соблюдает только `acceptEdits`, `plan`, `default` и `auto` из этого ключа. Для разговоров, которые запускает расширение VS Code, см. [какой параметр расширение читает для режима разрешений при запуске](/docs/ru/permission-modes#switch-permission-modes).1775Правила разрешений действуют поверх любого режима: правила `deny` блокируют в каждом режиме, включая `bypassPermissions`. См. [Режимы разрешений](/docs/ru/permission-modes). `manual` обозначает режим разрешений с меткой Manual в CLI и расширении VS Code; псевдоним требует Claude Code v2.1.200 или новее. В облачных сессиях Claude Code учитывает из этого ключа только `acceptEdits`, `plan`, `default` и `auto`. О диалогах, которые запускает расширение VS Code, см. [какую настройку расширение читает для начального режима разрешений](/docs/ru/permission-modes#switch-permission-modes).

1767 1776 

1768<h3 id="permissions-disablebypasspermissionsmode">1777<h3 id="permissions-disablebypasspermissionsmode">

1769 `permissions.disableBypassPermissionsMode`1778 `permissions.disableBypassPermissionsMode`

1770</h3>1779</h3>

1771 1780 

1772Предотвратите вход кого-либо в режим `bypassPermissions`. Claude Code затем отклоняет флаг `--dangerously-skip-permissions` и игнорирует `permissionMode: bypassPermissions` [определения агента](/docs/ru/sub-agents#permission-modes), поэтому подагент запускается с режимом разрешений родительского сеанса.1781Запретите кому-либо входить в режим `bypassPermissions`. Claude Code тогда отклоняет флаг `--dangerously-skip-permissions` и игнорирует `permissionMode: bypassPermissions` в [определении агента](/docs/ru/sub-agents#permission-modes), поэтому субагент работает в режиме разрешений родительской сессии.

1773 1782 

1774* **Область**: [`Any file`](#scopes). Обычно устанавливается в [управляемых параметрах](/docs/ru/managed-settings) для применения организационной политики.1783* **Область действия**: [`Any file`](#scopes). Обычно задаётся в [управляемых настройках](/docs/ru/managed-settings) для соблюдения политики организации.

1775* **Тип**: строка `"disable"`1784* **Тип**: строка `"disable"`

1776* **По умолчанию**: не установлено1785* **По умолчанию**: не установлено

1777* **Переопределения для каждого сеанса**: этот ключ имеет приоритет над `--dangerously-skip-permissions`, который Claude Code отклоняет, пока ключ установлен1786* **Переопределения для отдельной сессии**: этот ключ имеет приоритет над `--dangerously-skip-permissions`, который Claude Code отклоняет, пока ключ установлен

1778 1787 

1779```json settings.json theme={null}1788```json settings.json theme={null}

1780{1789{


1784}1793}

1785```1794```

1786 1795 

1787До версии 2.1.223 Claude Code применял режим разрешений frontmatter даже с отключённым обходом.1796До версии 2.1.223 Claude Code применял режим разрешений из frontmatter даже при отключённом обходе.

1788 1797 

1789<h3 id="skipautopermissionprompt">1798<h3 id="skipautopermissionprompt">

1790 `skipAutoPermissionPrompt`1799 `skipAutoPermissionPrompt`

1791</h3>1800</h3>

1792 1801 

1793Пропустите одноразовое уведомление, описывающее [автоматический режим](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), которое Claude Code показывает, когда вы впервые входите в автоматический режим самостоятельно, например через свои собственные параметры или селектор режима, а не когда встроенное по умолчанию запускает сеанс в нём. Claude Code показывает это уведомление один раз, а затем записывает, что оно было показано, поэтому этот ключ имеет значение только там, где уведомление ещё не появилось.1802Пропустите одноразовое уведомление с описанием [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), которое Claude Code показывает, когда вы впервые сами входите в авторежим, например через собственные настройки или переключатель режимов, а не когда встроенное значение по умолчанию запускает в нём сессию. Claude Code показывает это уведомление один раз, а затем запоминает, что оно было показано, поэтому этот ключ имеет значение только там, где уведомление ещё не появлялось.

1794 1803 

1795* **Область**: [`User or managed`](#scopes). Репозиторий не может установить его для вас.1804* **Область действия**: [`User or managed`](#scopes). Репозиторий не может установить его за вас.

1796* **Тип**: Boolean1805* **Тип**: Boolean

1797 * `true`: Claude Code пропускает уведомление1806 * `true`: Claude Code пропускает уведомление

1798 * `false`: то же самое, что не установлено; уведомление появляется один раз, если другой из этих файлов не устанавливает `true`1807 * `false`: то же, что и отсутствие значения; уведомление появляется один раз, если только другой из этих файлов не устанавливает `true`

1799* **По умолчанию**: не установлено, поэтому уведомление появляется один раз1808* **По умолчанию**: не установлено, поэтому уведомление появляется один раз

1800 1809 

1801```json settings.json theme={null}1810```json settings.json theme={null}


1808 `skipDangerousModePermissionPrompt`1817 `skipDangerousModePermissionPrompt`

1809</h3>1818</h3>

1810 1819 

1811Пропустите диалог подтверждения, который Claude Code показывает перед входом сеанса в режим `bypassPermissions`, будь то из `--dangerously-skip-permissions` или из `defaultMode: "bypassPermissions"`. Claude Code пишет `true` здесь в ваши пользовательские параметры, когда вы один раз примете этот диалог.1820Пропустите диалоговое окно подтверждения, которое Claude Code показывает перед входом сессии в режим `bypassPermissions`, будь то из-за `--dangerously-skip-permissions` или `defaultMode: "bypassPermissions"`. Claude Code записывает сюда `true` в ваших пользовательских настройках, когда вы один раз подтверждаете это диалоговое окно.

1812 1821 

1813* **Область**: [`User, local, or managed`](#scopes). Ненадёжный репозиторий не может пропустить диалог для вас.1822* **Область действия**: [`User, local, or managed`](#scopes). Недоверенный репозиторий не может пропустить диалоговое окно за вас.

1814* **Тип**: Boolean1823* **Тип**: Boolean

1815 * `true`: Claude Code пропускает диалог подтверждения перед входом сеанса в режим `bypassPermissions`1824 * `true`: Claude Code пропускает диалоговое окно подтверждения перед входом сессии в режим `bypassPermissions`

1816 * `false`: то же самое, что не установлено; диалог появляется, если другой из этих файлов не устанавливает `true`1825 * `false`: то же, что и отсутствие значения; диалоговое окно появляется, если только другой из этих файлов не устанавливает `true`

1817* **По умолчанию**: не установлено, поэтому диалог появляется1826* **По умолчанию**: не установлено, поэтому диалоговое окно появляется

1818 1827 

1819```json settings.json theme={null}1828```json settings.json theme={null}

1820{1829{


1823```1832```

1824 1833 

1825<h2 id="sandbox-settings">1834<h2 id="sandbox-settings">

1826 Параметры песочницы1835 Настройки песочницы

1827</h2>1836</h2>

1828 1837 

1829Изолируйте команды, которые выполняет Claude, от вашей файловой системы, сети и учетных данных. Информацию о том, как работает песочница и требования к платформе, см. в разделе [Sandboxing](/docs/ru/sandboxing).1838Изолируйте команды, которые выполняет Claude, от вашей файловой системы, сети и учётных данных. Информацию о том, как работает песочница и требования к платформе, см. в разделе [Sandboxing](/docs/ru/sandboxing).

1830 1839 

1831<h3 id="sandbox">1840<h3 id="sandbox">

1832 `sandbox`1841 `sandbox`

1833</h3>1842</h3>

1834 1843 

1835Изолируйте команды Bash, которые выполняет Claude, от вашей файловой системы и сети с помощью [sandboxing](/docs/ru/sandboxing). Включите песочницу с помощью `enabled`, затем сузьте или расширьте то, что могут трогать изолированные команды, с помощью подобъектов `filesystem`, `network` и `credentials`. Песочница работает на macOS, Linux и WSL2.1844Изолируйте команды Bash, которые выполняет Claude, от вашей файловой системы и сети с помощью [sandboxing](/docs/ru/sandboxing). Включите песочницу с помощью `enabled`, затем сузьте или расширьте то, к чему могут обращаться изолированные команды, с помощью подобъектов `filesystem`, `network` и `credentials`. Песочница работает на macOS, Linux и WSL2.

1836 1845 

1837* **Scope**: [`Any file`](#scopes)1846* **Scope**: [`Any file`](#scopes)

1838* **Type**: object с `enabled`, `failIfUnavailable`, `autoAllowBashIfSandboxed`, `excludedCommands`, `allowUnsandboxedCommands`, `enableWeakerNestedSandbox`, `enableWeakerNetworkIsolation`, `allowAppleEvents`, `bwrapPath`, `socatPath`, `ignoreViolations` и `ripgrep`, плюс объекты `filesystem`, `network` и `credentials`1847* **Type**: object с `enabled`, `failIfUnavailable`, `autoAllowBashIfSandboxed`, `excludedCommands`, `allowUnsandboxedCommands`, `enableWeakerNestedSandbox`, `enableWeakerNetworkIsolation`, `allowAppleEvents`, `bwrapPath`, `socatPath`, `ignoreViolations` и `ripgrep`, плюс объекты `filesystem`, `network` и `credentials`

1839* **Default**: не установлено, поэтому Claude Code выполняет команды без песочницы1848* **Default**: не установлено, поэтому Claude Code выполняет команды без песочницы

1840 1849 

1841Это включает песочницу, пропускает подсказки разрешений для изолированных команд, запускает `docker` вне песочницы, открывает два дополнительных пути записи, скрывает файл учетных данных AWS и предварительно разрешает GitHub и npm:1850Это включает песочницу, пропускает запросы разрешений для изолированных команд, запускает `docker` вне песочницы, открывает два дополнительных пути записи, скрывает файл учётных данных AWS и предварительно разрешает GitHub и npm:

1842 1851 

1843```json settings.json theme={null}1852```json settings.json theme={null}

1844{1853{


1857}1866}

1858```1867```

1859 1868 

1860Claude Code берет значение логического ключа из области параметров с наивысшим приоритетом, которая его устанавливает, поэтому управляемый `enabled` или `failIfUnavailable` переопределяет все, что устанавливает разработчик. Он объединяет ключи массива во всех областях параметров, которые загружает сеанс, поэтому разработчик может добавлять записи; см. [Keep developers from widening the policy](/docs/ru/sandboxing#keep-developers-from-widening-the-policy) для управляемых блокировок. Чтобы требовать песочницу для организации, см. [Enforce sandboxing with managed settings](/docs/ru/sandboxing#enforce-sandboxing-with-managed-settings).1869Когда управляемые настройки задают логический ключ, такой как `enabled` или `failIfUnavailable`, это значение переопределяет всё, что устанавливает разработчик. Claude Code объединяет ключи-массивы во всех областях действия настроек, которые загружает сессия, поэтому разработчик может добавлять записи; см. [Keep developers from widening the policy](/docs/ru/sandboxing#keep-developers-from-widening-the-policy) для блокировок, доступных только в управляемых настройках. Чтобы требовать песочницу для организации, см. [Enforce sandboxing with managed settings](/docs/ru/sandboxing#enforce-sandboxing-with-managed-settings).

1861 1870 

1862<h3 id="sandbox-enabled">1871<h3 id="sandbox-enabled">

1863 `sandbox.enabled`1872 `sandbox.enabled`


1865 1874 

1866Включите [sandboxing](/docs/ru/sandboxing) для команд Bash. Когда вы выбираете режим на панели `/sandbox`, Claude Code записывает этот ключ в `.claude/settings.local.json` для текущего проекта; установите его в `~/.claude/settings.json`, чтобы изолировать каждый проект.1875Включите [sandboxing](/docs/ru/sandboxing) для команд Bash. Когда вы выбираете режим на панели `/sandbox`, Claude Code записывает этот ключ в `.claude/settings.local.json` для текущего проекта; установите его в `~/.claude/settings.json`, чтобы изолировать каждый проект.

1867 1876 

1868* **Scope**: [`Any file`](#scopes)1877* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox)

1869* **Type**: Boolean1878* **Type**: Boolean

1870 * `true`: Claude Code изолирует команды Bash1879 * `true`: Claude Code изолирует команды Bash

1871 * `false`: команды Bash выполняются без изоляции1880 * `false`: команды Bash выполняются без изоляции


1879}1888}

1880```1889```

1881 1890 

1882На Linux и WSL2 песочница требует `bubblewrap` и `socat`; см. [Set up Linux and WSL2](/docs/ru/sandboxing#set-up-linux-and-wsl2). Когда песочница не может запуститься, Claude Code показывает предупреждение и выполняет команды без изоляции, если вы также не установите [`failIfUnavailable`](#sandbox-failifunavailable).1891На Linux и WSL2 песочнице требуются `bubblewrap` и `socat`; см. [Set up Linux and WSL2](/docs/ru/sandboxing#set-up-linux-and-wsl2). Когда песочница не может запуститься, Claude Code выполняет команды без изоляции, если вы также не установите [`failIfUnavailable`](#sandbox-failifunavailable).

1883 1892 

1884<h3 id="sandbox-failifunavailable">1893<h3 id="sandbox-failifunavailable">

1885 `sandbox.failIfUnavailable`1894 `sandbox.failIfUnavailable`

1886</h3>1895</h3>

1887 1896 

1888Заставьте Claude Code выйти с ошибкой при запуске, когда `sandbox.enabled` имеет значение `true`, но песочница не может запуститься, потому что отсутствует зависимость или платформа не поддерживается. Без этого Claude Code показывает предупреждение и выполняет команды без изоляции. Используйте это в управляемых параметрах, когда ваша организация требует песочницу как жесткое ограничение.1897Заставьте Claude Code завершаться с ошибкой при запуске, когда `sandbox.enabled` имеет значение `true`, но песочница не может запуститься, потому что отсутствует зависимость или платформа не поддерживается. Без этого ключа Claude Code выполняет команды без изоляции. Эту настройку могут использовать управляемые развёртывания, которым песочница нужна как обязательный барьер безопасности.

1889 1898 

1890* **Scope**: [`Any file`](#scopes)1899На платформе, которую песочница не поддерживает, Claude Code не запускается при включённом ключе. См. [Enforce sandboxing with managed settings](/docs/ru/sandboxing#enforce-sandboxing-with-managed-settings).

1900 

1901* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox)

1891* **Type**: Boolean1902* **Type**: Boolean

1892 * `true`: Claude Code выходит с ошибкой при запуске, когда `sandbox.enabled` имеет значение `true`, но песочница не может запуститься1903 * `true`: Claude Code завершается с ошибкой при запуске, когда `sandbox.enabled` имеет значение `true`, но песочница не может запуститься

1893 * `false`: Claude Code показывает предупреждение и выполняет команды без изоляции1904 * `false`: Claude Code выполняет команды без изоляции, когда песочница не может запуститься

1894* **Default**: `false`1905* **Default**: `false`

1895 1906 

1896Это заставляет каждую управляемую машину либо изолировать команды, либо отказаться от запуска:1907Это заставляет каждую управляемую машину либо изолировать команды, либо отказаться от запуска:


1910 `sandbox.autoAllowBashIfSandboxed`1921 `sandbox.autoAllowBashIfSandboxed`

1911</h3>1922</h3>

1912 1923 

1913Позвольте Claude Code выполнять изолированные команды Bash без подсказки разрешения. Команды, которые не могут выполняться в песочнице, по-прежнему проходят обычный поток разрешений, и правила `deny` и правила `ask` с ограничением содержимого, такие как `Bash(git push *)`, по-прежнему применяются; простое правило `Bash` ask пропускается для изолированных команд. Установите значение `false`, чтобы отправить изолированные команды через обычный поток разрешений, который вкладка **Mode** на `/sandbox` называет режимом обычных разрешений.1924Позвольте Claude Code выполнять изолированные команды Bash без запроса разрешения. Команды, которые не могут выполняться в песочнице, по-прежнему проходят обычный поток разрешений, и правила `deny` и правила `ask` с ограничением содержимого, такие как `Bash(git push *)`, по-прежнему применяются; простое правило `Bash` ask пропускается для изолированных команд. Установите значение `false`, чтобы изолированные команды тоже проходили через обычный поток разрешений, который вкладка **Mode** в `/sandbox` называет режимом обычных разрешений.

1914 1925 

1915* **Scope**: [`Any file`](#scopes)1926* **Scope**: [`Any file`](#scopes)

1916* **Type**: Boolean1927* **Type**: Boolean

1917 * `true`: Claude Code выполняет изолированные команды Bash без подсказки разрешения, с учетом правил `deny` и правил `ask` с ограничением содержимого; `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` отключает автоматическое разрешение1928 * `true`: Claude Code выполняет изолированные команды Bash без запроса разрешения, с учётом правил `deny` и правил `ask` с ограничением содержимого; `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` отключает автоматическое разрешение

1918 * `false`: изолированные команды проходят обычный поток разрешений, поэтому ваши правила разрешения и режим разрешения решают. Вкладка **Mode** на `/sandbox` называет это режимом обычных разрешений1929 * `false`: изолированные команды проходят обычный поток разрешений, поэтому решают ваши правила разрешений и режим разрешений. Вкладка **Mode** в `/sandbox` называет это режимом обычных разрешений

1919* **Default**: `true`1930* **Default**: `true`

1920 1931 

1921Это сохраняет песочницу включенной и отправляет изолированные команды через обычный поток разрешений:1932Это сохраняет песочницу включённой и отправляет изолированные команды через обычный поток разрешений:

1922 1933 

1923```json settings.json theme={null}1934```json settings.json theme={null}

1924{1935{


1929}1940}

1930```1941```

1931 1942 

1932См. [Sandbox modes](/docs/ru/sandboxing#sandbox-modes) для получения информации о том, на что еще запрашивает автоматическое разрешение и как оно ведет себя в режиме плана.1943См. [Sandbox modes](/docs/ru/sandboxing#sandbox-modes), чтобы узнать, о чём всё ещё запрашивает режим автоматического разрешения и как он ведёт себя в режиме планирования.

1933 1944 

1934<h3 id="sandbox-excludedcommands">1945<h3 id="sandbox-excludedcommands">

1935 `sandbox.excludedCommands`1946 `sandbox.excludedCommands`

1936</h3>1947</h3>

1937 1948 

1938Назовите команды, которые Claude Code выполняет вне песочницы, такие как инструменты, которые не работают под ней. Каждая запись использует тот же синтаксис, что и содержимое правила разрешения `Bash(...)` [permission rule](/docs/ru/permissions#permission-rule-syntax): точная команда, префикс, такой как `docker *`, или шаблон подстановки.1949Перечислите команды, которые Claude Code выполняет вне песочницы, например инструменты, которые не работают в ней. Каждая запись использует тот же синтаксис, что и содержимое [правила разрешений](/docs/ru/permissions#permission-rule-syntax) `Bash(...)`: точная команда, префикс, такой как `docker *`, или шаблон с подстановкой. Шаблон без подстановки означает точное совпадение, поэтому `docker` совпадает только с `docker` без аргументов.

1939 1950 

1940Ваши записи выводят вызов Bash из песочницы только когда они охватывают каждую команду в нем, и некоторые формы вызова остаются изолированными даже тогда. Запись `docker *` одна не выводит `npm ci && docker build .` из песочницы.1951Ваши записи выводят вызов Bash из песочницы, только когда они охватывают каждую команду в нём, и некоторые формы вызова остаются изолированными даже тогда. Одна лишь запись `docker *` не выводит `npm ci && docker build .` из песочницы.

1941 1952 

1942* **Scope**: [`Any file`](#scopes)1953* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox)

1943* **Type**: array of command patterns1954* **Type**: array of command patterns

1944* **Default**: не установлено, поэтому ни одна команда не исключена1955* **Default**: не установлено, поэтому ни одна команда не исключена

1945 1956 


1958* Подстановка команды, подоболочка или блок управления потоком, такой как `if` или `for`1969* Подстановка команды, подоболочка или блок управления потоком, такой как `if` или `for`

1959* Перенаправление, такое как `docker build . > build.log`, кроме того, которое только дублирует дескриптор файла, как `2>&1`1970* Перенаправление, такое как `docker build . > build.log`, кроме того, которое только дублирует дескриптор файла, как `2>&1`

1960* Имя команды, которое поступает из переменной1971* Имя команды, которое поступает из переменной

1972* `git clone`, `git init`, `git worktree add`, `git worktree move` или `git bundle create` с аргументом пути, который является абсолютным, начинается с `~` или содержит сегмент `..`

1973 

1974Например, `cd build && docker compose up` остаётся изолированным при записи `docker *`, и добавление записи `cd` этого не меняет. При записи `git *` команда `git clone <url> vendor/lib` выполняется вне песочницы, но `git clone <url> ~/tools` остаётся изолированной. Клонирование записывает целое дерево файлов, возможно исполняемых, туда, куда указывает путь назначения.

1961 1975 

1962Например, `cd build && docker compose up` остается изолированным под записью `docker *`, и добавление записи `cd` это не меняет.1976Исключённые команды по-прежнему проходят обычный поток разрешений. Исключение — это удобство, а не граница безопасности: когда инструменту нужно писать только в определённое место, [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite) оставляет его в песочнице.

1963 1977 

1964Исключенные команды по-прежнему проходят обычный поток разрешений. Исключение — это удобство, а не граница безопасности: предпочитайте [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite), когда инструменту нужно писать только в определенное место. Claude Code объединяет записи во всех областях параметров, которые загружает сеанс, и нет управляемой блокировки для этого списка, поэтому держите управляемый список узким.1978Записи из областей действия настроек, которые загружает сессия, объединяются в один список, если только песочница не является [обязательной по требованию администратора](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox). Пока это так, Claude Code игнорирует записи в `.claude/settings.json` и `.claude/settings.local.json`, чтобы клонированный репозиторий не мог вывести команды из песочницы. Записи в управляемых настройках, `--settings` и вашем `~/.claude/settings.json` по-прежнему применяются, и никакая блокировка управляемых настроек не распространяется на этот список.

1965 1979 

1966<h3 id="sandbox-allowunsandboxedcommands">1980<h3 id="sandbox-allowunsandboxedcommands">

1967 `sandbox.allowUnsandboxedCommands`1981 `sandbox.allowUnsandboxedCommands`

1968</h3>1982</h3>

1969 1983 

1970Позвольте Claude повторить команду вне песочницы с параметром `dangerouslyDisableSandbox` после того, как песочница ее заблокирует. Установите значение `false`, чтобы Claude Code полностью игнорировал этот параметр и каждая команда, которую выполняет Claude, должна быть изолирована или появиться в [`excludedCommands`](#sandbox-excludedcommands). Вкладка **Overrides** на `/sandbox` показывает это состояние как **Strict sandbox mode**. Используйте `false` в управляемых параметрах для политик, требующих строгой изоляции.1984Позвольте Claude повторить попытку выполнения команды вне песочницы с параметром `dangerouslyDisableSandbox` после того, как песочница её заблокирует. Когда значение равно `false`, Claude Code игнорирует этот параметр. Тогда, пока песочница работает, команды, которые выполняет Claude, изолируются, если они не совпадают с записью [`excludedCommands`](#sandbox-excludedcommands). Вкладка **Overrides** в `/sandbox` показывает это состояние как **Strict sandbox mode**. Значение `false` в управляемых настройках включает строгий режим песочницы для разработчиков, на которых они распространяются.

1971 1985 

1972* **Scope**: [`Any file`](#scopes)1986* **Scope**: [`Any file`](#scopes), с [ограничением для настроек проекта и локальных настроек](/docs/ru/sandboxing#turn-off-the-retry-with-strict-sandbox-mode)

1973* **Type**: Boolean1987* **Type**: Boolean

1974 * `true`: Claude может повторить команду вне песочницы с параметром `dangerouslyDisableSandbox` после того, как песочница ее заблокирует1988 * `true`: Claude может повторить попытку выполнения команды вне песочницы с параметром `dangerouslyDisableSandbox` после того, как песочница её заблокирует

1975 * `false`: Claude Code игнорирует этот параметр, поэтому каждая команда, которую выполняет Claude, изолирована или появляется в `excludedCommands`1989 * `false`: Claude Code игнорирует этот параметр, поэтому, пока песочница работает, команды, которые выполняет Claude, изолируются, если они не совпадают с записью `excludedCommands`

1976* **Default**: `true`1990* **Default**: `true`

1977 1991 

1978Это обеспечивает строгий режим песочницы для всех, кого охватывают управляемые параметры:1992Это обеспечивает строгий режим песочницы для всех, на кого распространяются управляемые настройки:

1979 1993 

1980```json managed-settings.json theme={null}1994```json managed-settings.json theme={null}

1981{1995{


1986}2000}

1987```2001```

1988 2002 

1989Неизолированная повторная попытка проходит обычный поток разрешений с подсказкой в режиме Manual. См. [The unsandboxed retry escape hatch](/docs/ru/sandboxing#the-unsandboxed-retry-escape-hatch).2003Значение `false` из управляемых настроек или `--settings` также делает песочницу [обязательной по требованию администратора](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox). Значение `false` в ваших пользовательских настройках имеет приоритет над значением `true` проекта, но не делает песочницу обязательной по требованию администратора. Приоритет над значением проекта требует Claude Code v2.1.285 или более поздней версии.

2004 

2005Кто подтверждает повторную попытку без изоляции, зависит от вашего режима разрешений и правил разрешения. См. [The unsandboxed retry escape hatch](/docs/ru/sandboxing#the-unsandboxed-retry-escape-hatch).

1990 2006 

1991Чтобы увидеть, когда команды, которые вы вводите сами в [`!` shell-mode prompt](/docs/ru/interactive-mode#shell-mode-with-prefix), выполняются в изоляции, см. [strict sandbox mode](/docs/ru/sandboxing#the-unsandboxed-retry-escape-hatch).2007Чтобы узнать, когда команды, которые вы вводите сами в [`!` shell-mode prompt](/docs/ru/interactive-mode#shell-mode-with-prefix), выполняются в изоляции, см. [strict sandbox mode](/docs/ru/sandboxing#turn-off-the-retry-with-strict-sandbox-mode).

1992 2008 

1993<h3 id="sandbox-filesystem">2009<h3 id="sandbox-filesystem">

1994 `sandbox.filesystem`2010 `sandbox.filesystem`

1995</h3>2011</h3>

1996 2012 

1997Контролируйте, какие пути могут читать и писать изолированные команды. По умолчанию они могут писать в рабочий каталог, временный каталог сеанса и каталоги, которые вы добавляете с помощью `--add-dir`, `/add-dir` или `permissions.additionalDirectories`, и могут читать остальную часть файловой системы, включая файлы учетных данных. Расширьте или сузьте это с помощью четырех списков путей или отключите слой файловой системы с помощью `disabled`. См. [Filesystem isolation](/docs/ru/sandboxing#filesystem-isolation) для получения информации о границах по умолчанию.2013Управляйте тем, какие пути могут читать и записывать изолированные команды. По умолчанию они могут писать в рабочий каталог, временный каталог пользователя и каталоги, которые вы добавляете с помощью `--add-dir`, `/add-dir` или `permissions.additionalDirectories`, и могут читать остальную часть файловой системы, включая файлы учётных данных. Расширьте или сузьте это с помощью четырёх списков путей или отключите слой файловой системы с помощью `disabled`. См. [Filesystem isolation](/docs/ru/sandboxing#filesystem-isolation) для получения информации о границах по умолчанию.

1998 2014 

1999* **Scope**: [`Any file`](#scopes)2015* **Scope**: [`Any file`](#scopes)

2000* **Type**: object с массивами `allowWrite`, `denyWrite`, `denyRead` и `allowRead`, плюс логические значения `allowManagedReadPathsOnly` и `disabled`2016* **Type**: object с массивами `allowWrite`, `denyWrite`, `denyRead` и `allowRead`, плюс логические значения `allowManagedReadPathsOnly` и `disabled`

2001* **Default**: не установлено, поэтому применяются границы чтения и записи по умолчанию2017* **Default**: не установлено, поэтому применяются границы чтения и записи по умолчанию

2002 2018 

2003Это позволяет изолированным командам писать в каталог сборки и ваш kubeconfig, а также скрывает файл учетных данных AWS:2019Это позволяет изолированным командам писать в каталог сборки и ваш kubeconfig, а также скрывает файл учётных данных AWS:

2004 2020 

2005```json settings.json theme={null}2021```json settings.json theme={null}

2006{2022{


2013}2029}

2014```2030```

2015 2031 

2016Claude Code применяет эти списки на границе песочницы ОС, поэтому они применяются к каждому подпроцессу, который запускает изолированная команда, такому как `kubectl`, `terraform` или `npm`. Claude Code добавляет ваши [permission rules](/docs/ru/sandboxing#permission-rules) в те же списки: правила `Edit` allow и deny в `allowWrite` и `denyWrite`, правила `Read` deny в `denyRead` и правила `WebFetch(domain:...)` allow и deny в списки доменов [`network`](#sandbox-network).2032Claude Code применяет эти списки на границе песочницы ОС, поэтому они распространяются на каждый подпроцесс, который запускает изолированная команда, например `kubectl`, `terraform` или `npm`. Claude Code добавляет ваши [permission rules](/docs/ru/sandboxing#permission-rules) в те же списки: правила `Edit` allow и deny — в `allowWrite` и `denyWrite`, правила `Read` deny — в `denyRead`, а правила `WebFetch(domain:...)` allow и deny — в списки доменов [`network`](#sandbox-network).

2017 2033 

2018Если не установлена управляемая блокировка, Claude Code объединяет каждый список во всех файлах параметров, которые загружает сеанс. [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) ограничивает `allowRead` записями из управляемых параметров, а [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) делает то же самое для разрешенных доменов.2034Если не действует блокировка, Claude Code объединяет эти списки во всех файлах настроек, которые загружает сессия. [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) ограничивает `allowRead` записями из управляемых настроек, а [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) делает то же самое для разрешённых доменов. [Блокировки репозитория](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox) исключают записи из файлов настроек репозитория.

2019 2035 

2020[Configure sandboxing](/docs/ru/sandboxing#configure-sandboxing) охватывает источники, которые вы исключаете с помощью `--setting-sources`. Когда вы редактируете список во время сеанса, Claude Code [применяет изменение к работающему сеансу](/docs/ru/settings#when-edits-take-effect).2036[Configure sandboxing](/docs/ru/sandboxing#configure-sandboxing) описывает источники, которые вы исключаете с помощью `--setting-sources`. Когда вы редактируете список во время сессии, Claude Code [применяет изменение к работающей сессии](/docs/ru/settings#when-edits-take-effect).

2021 2037 

2022<h4 id="sandbox-path-prefixes">2038<h4 id="sandbox-path-prefixes">

2023 Префиксы путей песочницы2039 Префиксы путей песочницы


2027 2043 

2028| Prefix | Meaning | Example |2044| Prefix | Meaning | Example |

2029| :- | :- | :- |2045| :- | :- | :- |

2030| `/` | Абсолютный путь от корня файловой системы | `/tmp/build` остается `/tmp/build` |2046| `/` | Абсолютный путь от корня файловой системы | `/tmp/build` остаётся `/tmp/build` |

2031| `~/` | Относительно домашнего каталога | `~/.kube` становится `$HOME/.kube` |2047| `~/` | Относительно домашнего каталога | `~/.kube` становится `$HOME/.kube` |

2032| `./` или без префикса | Относительно корня проекта для параметров проекта или к `~/.claude` для параметров пользователя | `./output` в `.claude/settings.json` разрешается в `<project-root>/output` |2048| `./` или без префикса | Относительно корня проекта для настроек проекта или относительно `~/.claude` для пользовательских настроек | `./output` в `.claude/settings.json` разрешается в `<project-root>/output` |

2033 2049 

2034Префикс `//path` для абсолютных путей также работает. Если вы используете одиночный слэш `/path`, ожидая разрешения относительно проекта, переключитесь на `./path`. Этот синтаксис отличается от [Read and Edit permission rules](/docs/ru/permissions#read-and-edit), которые используют `//path` для абсолютного и `/path` для относительного к проекту: пути файловой системы песочницы используют стандартные соглашения, поэтому `/tmp/build` — это абсолютный путь.2050Префикс `//path` для абсолютных путей также работает. Если вы используете одиночный слэш `/path`, ожидая разрешения относительно проекта, переключитесь на `./path`. Этот синтаксис отличается от [Read and Edit permission rules](/docs/ru/permissions#read-and-edit), которые используют `//path` для абсолютного пути и `/path` для пути относительно проекта: пути файловой системы песочницы используют стандартные соглашения, поэтому `/tmp/build` — это абсолютный путь.

2035 2051 

2036Claude Code удаляет конечный слэш из пути каталога, поэтому `~/.aws` и `~/.aws/` совпадают с одним и тем же каталогом. До v2.1.224 Claude Code передавал конечный слэш в песочницу, и Claude все еще мог читать или писать пути под записью `denyRead` или `denyWrite`, написанной с ним.2052Claude Code удаляет конечный слэш из пути каталога, поэтому `~/.aws` и `~/.aws/` совпадают с одним и тем же каталогом. До v2.1.224 Claude Code передавал конечный слэш в песочницу, и Claude всё ещё мог читать или записывать пути под записью `denyRead` или `denyWrite`, написанной с ним.

2037 2053 

2038Claude Code также удаляет конечный `/**`, поэтому `~/build/**` и `~/build` охватывают один и тот же каталог. Работает ли подстановка, такая как `*`, зависит от того, в каком списке находится запись и от платформы:2054Claude Code также удаляет конечный `/**`, поэтому `~/build/**` и `~/build` охватывают один и тот же каталог. Работает ли подстановка, такая как `*`, зависит от того, в каком списке находится запись, и от платформы:

2039 2055 

2040* **`allowWrite` и `denyWrite`**: на macOS подстановки работают. На Linux и WSL2 песочница монтирует конкретные пути, поэтому Claude Code пропускает запись, содержащую `*`, `?` или `[`, после удаления конечного `/**`, и эта запись не имеет эффекта. Claude Code добавляет пути из ваших правил разрешения `Edit` в эти списки, поэтому то же ограничение применяется к ним, и вкладка **Config** на `/sandbox` предупреждает о правилах разрешения `Edit` и `Read`, содержащих подстановки.2056* **`allowWrite` и `denyWrite`**: на macOS подстановки работают. На Linux и WSL2 песочница монтирует конкретные пути, поэтому Claude Code пропускает запись, содержащую `*`, `?` или `[` после удаления конечного `/**`, и эта запись не имеет эффекта. Claude Code добавляет пути из ваших правил разрешений `Edit` в эти списки, поэтому то же ограничение действует и для них, а вкладка **Config** в `/sandbox` предупреждает о правилах разрешений `Edit` и `Read`, содержащих подстановки.

2041* **`denyRead` и `allowRead`**: подстановки работают на каждой платформе. На Linux и WSL2 Claude Code расширяет запись чтения до конкретных путей, которые она совпадает, чего он не делает для списков записи.2057* **`denyRead` и `allowRead`**: подстановки работают на каждой платформе. На Linux и WSL2 Claude Code разворачивает запись чтения в конкретные пути, с которыми она совпадает, чего он не делает для списков записи.

2042 2058 

2043<h3 id="sandbox-filesystem-allowwrite">2059<h3 id="sandbox-filesystem-allowwrite">

2044 `sandbox.filesystem.allowWrite`2060 `sandbox.filesystem.allowWrite`

2045</h3>2061</h3>

2046 2062 

2047Добавьте пути, где изолированные команды могут писать, помимо рабочего каталога, временного каталога сеанса и каталогов, которые вы добавили с помощью `--add-dir`, `/add-dir` или `permissions.additionalDirectories`. Используйте это, когда подпроцесс, такой как `kubectl` или инструмент сборки, должен писать вне проекта.2063Добавьте пути, куда изолированные команды могут писать, помимо рабочего каталога, временного каталога пользователя и каталогов, которые вы добавили с помощью `--add-dir`, `/add-dir` или `permissions.additionalDirectories`. Используйте это, когда подпроцессу, такому как `kubectl` или инструмент сборки, нужно писать вне проекта.

2048 2064 

2049* **Scope**: [`Any file`](#scopes)2065* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox)

2050* **Type**: array of path strings, using the [sandbox path prefixes](#sandbox-path-prefixes)2066* **Type**: array of path strings, using the [sandbox path prefixes](#sandbox-path-prefixes)

2051* **Default**: не установлено, поэтому изолированные команды могут писать в рабочий каталог, временный каталог сеанса, каталоги, которые вы добавили с помощью `--add-dir` или `/add-dir`, и каталоги в [`permissions.additionalDirectories`](#permissions-additionaldirectories)2067* **Default**: не установлено, поэтому изолированные команды могут писать в рабочий каталог, временный каталог пользователя, каталоги, которые вы добавили с помощью `--add-dir` или `/add-dir`, и каталоги в [`permissions.additionalDirectories`](#permissions-additionaldirectories)

2052 2068 

2053Это позволяет сборке писать под `/tmp/build` и позволяет `kubectl` обновлять ваш kubeconfig:2069Это позволяет сборке писать в `/tmp/build` и позволяет `kubectl` обновлять ваш kubeconfig:

2054 2070 

2055```json settings.json theme={null}2071```json settings.json theme={null}

2056{2072{


2062}2078}

2063```2079```

2064 2080 

2065Claude Code объединяет записи `allowWrite` и пути из ваших правил разрешения `Edit(...)` allow во всех областях параметров, которые загружает сеанс, исключая те из параметров репозитория, пока [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) включен. Запись `allowWrite` не может снять [protected path](/docs/ru/sandboxing#protected-paths).2081Claude Code объединяет записи `allowWrite` и пути из ваших правил разрешений `Edit(...)` allow во всех областях действия настроек, которые загружает сессия, исключая записи из настроек репозитория, пока включён [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block). [Блокировки репозитория](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox) тоже могут исключать записи репозитория. Запись `allowWrite` не может снять защиту с [protected path](/docs/ru/sandboxing#protected-paths).

2066 2082 

2067<h3 id="sandbox-filesystem-denywrite">2083<h3 id="sandbox-filesystem-denywrite">

2068 `sandbox.filesystem.denyWrite`2084 `sandbox.filesystem.denyWrite`

2069</h3>2085</h3>

2070 2086 

2071Заблокируйте изолированные команды от записи в определенные пути, включая пути внутри каталога, который в противном случае доступен для записи.2087Запретите изолированным командам запись в определённые пути, включая пути внутри каталога, который в остальном доступен для записи.

2072 2088 

2073* **Scope**: [`Any file`](#scopes)2089* **Scope**: [`Any file`](#scopes)

2074* **Type**: array of path strings, using the [sandbox path prefixes](#sandbox-path-prefixes)2090* **Type**: array of path strings, using the [sandbox path prefixes](#sandbox-path-prefixes)

2075* **Default**: не установлено2091* **Default**: не установлено

2076 2092 

2077Это предотвращает изменение системной конфигурации или установку двоичных файлов изолированными командами:2093Это не позволяет изолированным командам изменять системную конфигурацию или устанавливать двоичные файлы:

2078 2094 

2079```json settings.json theme={null}2095```json settings.json theme={null}

2080{2096{


2086}2102}

2087```2103```

2088 2104 

2089Claude Code объединяет записи во всех областях параметров, которые загружает сеанс, и добавляет пути из ваших правил разрешения `Edit(...)` deny.2105Claude Code объединяет записи во всех областях действия настроек, которые загружает сессия, и добавляет пути из ваших правил разрешений `Edit(...)` deny.

2090 2106 

2091<h3 id="sandbox-filesystem-denyread">2107<h3 id="sandbox-filesystem-denyread">

2092 `sandbox.filesystem.denyRead`2108 `sandbox.filesystem.denyRead`

2093</h3>2109</h3>

2094 2110 

2095Заблокируйте изолированные команды от чтения определенных путей, таких как файлы учетных данных, которые политика чтения по умолчанию в противном случае раскрыла бы. Чтобы защитить файл учетных данных и сохранить его пригодным для использования через прокси песочницы, см. [`sandbox.credentials`](#sandbox-credentials) вместо этого.2111Запретите изолированным командам чтение определённых путей, например файлов учётных данных, которые политика чтения по умолчанию в противном случае раскрыла бы. Чтобы защитить файл учётных данных и сохранить возможность использовать его через прокси песочницы, используйте вместо этого [`sandbox.credentials`](#sandbox-credentials).

2096 2112 

2097* **Scope**: [`Any file`](#scopes)2113* **Scope**: [`Any file`](#scopes)

2098* **Type**: array of path strings, using the [sandbox path prefixes](#sandbox-path-prefixes)2114* **Type**: array of path strings, using the [sandbox path prefixes](#sandbox-path-prefixes)

2099* **Default**: не установлено, поэтому изолированные команды сохраняют [default read access](/docs/ru/sandboxing#filesystem-isolation), который включает файлы учетных данных, такие как `~/.aws/credentials`2115* **Default**: не установлено, поэтому изолированные команды сохраняют [default read access](/docs/ru/sandboxing#filesystem-isolation), который включает файлы учётных данных, такие как `~/.aws/credentials`

2100 2116 

2101```json settings.json theme={null}2117```json settings.json theme={null}

2102{2118{


2108}2124}

2109```2125```

2110 2126 

2111Claude Code объединяет записи во всех областях параметров, которые загружает сеанс, и добавляет пути из ваших правил разрешения `Read(...)` deny. Когда [`filesystem.disabled`](#sandbox-filesystem-disabled) имеет значение `true`, Claude Code не применяет эти записи.2127Claude Code объединяет записи во всех областях действия настроек, которые загружает сессия, и добавляет пути из ваших правил разрешений `Read(...)` deny. Когда [`filesystem.disabled`](#sandbox-filesystem-disabled) имеет значение `true`, Claude Code не применяет эти записи.

2112 2128 

2113<h3 id="sandbox-filesystem-allowread">2129<h3 id="sandbox-filesystem-allowread">

2114 `sandbox.filesystem.allowRead`2130 `sandbox.filesystem.allowRead`

2115</h3>2131</h3>

2116 2132 

2117Повторно откройте чтение для определенных путей внутри региона, который [`denyRead`](#sandbox-filesystem-denyread) блокирует, чтобы построить доступ только для рабочей области. Точная или подстановочная запись `denyRead` остается заблокированной внутри более широкого `allowRead`, как показывает [overlap table](/docs/ru/sandboxing#configure-sandboxing). Когда подстановочная запись `denyRead`, такая как `~/**/.env`, совпадает с каталогом, Claude Code блокирует чтение его содержимого. До v2.1.236 на macOS Claude Code повторно открывал пути, которые совпадала подстановочная запись `denyRead`, везде, где более широкая запись `allowRead` их охватывала, и оставлял содержимое совпадающего каталога доступным для чтения.2133Повторно откройте чтение для определённых путей внутри области, которую блокирует [`denyRead`](#sandbox-filesystem-denyread), чтобы организовать доступ на чтение только к рабочей области. Точная запись или запись с подстановкой в `denyRead` остаётся заблокированной внутри более широкого `allowRead`, как показывает [overlap table](/docs/ru/sandboxing#configure-sandboxing). Когда запись `denyRead` с подстановкой, такая как `~/**/.env`, совпадает с каталогом, Claude Code блокирует также чтение его содержимого. До v2.1.236 на macOS Claude Code повторно открывал пути, совпавшие с записью `denyRead` с подстановкой, везде, где их охватывала более широкая запись `allowRead`, и оставлял содержимое совпавшего каталога доступным для чтения.

2118 2134 

2119* **Scope**: [`Any file`](#scopes)2135* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox)

2120* **Type**: array of path strings, using the [sandbox path prefixes](#sandbox-path-prefixes)2136* **Type**: array of path strings, using the [sandbox path prefixes](#sandbox-path-prefixes)

2121* **Default**: не установлено2137* **Default**: не установлено

2122 2138 


2133}2149}

2134```2150```

2135 2151 

2136Claude Code разрешает запись `.` в корень проекта в параметрах проекта и в `~/.claude` в параметрах пользователя. Claude Code объединяет записи во всех файлах параметров, которые загружает сеанс, если не установлен [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly), и исключает записи из параметров репозитория, пока [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) включен.2152Claude Code разрешает запись `.` в корень проекта в настройках проекта и в `~/.claude` в пользовательских настройках. Claude Code объединяет записи во всех файлах настроек, которые загружает сессия, если не установлен [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly), и исключает записи из настроек репозитория, пока включён [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block). [Блокировки репозитория](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox) тоже могут исключать записи репозитория.

2137 2153 

2138<h3 id="sandbox-filesystem-allowmanagedreadpathsonly">2154<h3 id="sandbox-filesystem-allowmanagedreadpathsonly">

2139 `sandbox.filesystem.allowManagedReadPathsOnly`2155 `sandbox.filesystem.allowManagedReadPathsOnly`

2140</h3>2156</h3>

2141 2157 

2142Соблюдайте только записи [`allowRead`](#sandbox-filesystem-allowread), которые поступают из управляемых параметров, чтобы разработчики не могли повторно открыть доступ для чтения к путям, которые ваша организация заблокировала. Claude Code по-прежнему объединяет записи `denyRead` из каждой области параметров, которые загружает сеанс.2158Учитывайте только записи [`allowRead`](#sandbox-filesystem-allowread), которые поступают из управляемых настроек, чтобы разработчики не могли повторно открыть доступ на чтение к путям, которые заблокировала ваша организация. Claude Code по-прежнему объединяет записи `denyRead` из всех областей действия настроек, которые загружает сессия.

2143 2159 

2144* **Scope**: [`Managed`](#scopes)2160* **Scope**: [`Managed`](#scopes)

2145* **Type**: Boolean2161* **Type**: Boolean

2146 * `true`: Claude Code соблюдает только записи `allowRead` из управляемых параметров2162 * `true`: Claude Code учитывает только записи `allowRead` из управляемых настроек

2147 * `false`: записи `allowRead` объединяются из каждой области параметров, которые загружает сеанс2163 * `false`: записи `allowRead` из других файлов настроек могут объединяться

2148* **Default**: `false`2164* **Default**: `false`

2149 2165 

2150Это блокирует чтение домашнего каталога, повторно открывает `~/work` и предотвращает повторное открытие разработчиками чего-либо еще:2166Это блокирует чтение домашнего каталога, повторно открывает `~/work` и не позволяет разработчикам повторно открыть что-либо ещё:

2151 2167 

2152```json managed-settings.json theme={null}2168```json managed-settings.json theme={null}

2153{2169{


2167 `sandbox.filesystem.disabled`2183 `sandbox.filesystem.disabled`

2168</h3>2184</h3>

2169 2185 

2170Пропустите изоляцию файловой системы, сохраняя изоляцию сети. Изолированные команды получают неограниченный доступ для чтения и записи к файловой системе хоста, и их исходящий трафик сети остается ограниченным [`network.allowedDomains`](#sandbox-network-alloweddomains). Используйте это, когда вы изолируете для контроля того, где подключаются команды, а не что они пишут. Требует Claude Code v2.1.216 или позже.2186Пропустите изоляцию файловой системы, сохранив изоляцию сети. Изолированные команды получают неограниченный доступ на чтение и запись к файловой системе хоста, а их исходящий сетевой трафик остаётся ограниченным [`network.allowedDomains`](#sandbox-network-alloweddomains). Используйте это, когда вы изолируете команды, чтобы контролировать, куда они подключаются, а не что они записывают. Требует Claude Code v2.1.216 или более поздней версии.

2171 2187 

2172* **Scope**: [`User or managed`](#scopes). Когда управляемые параметры конфигурируют `sandbox.filesystem` вообще или перечисляют запись `sandbox.credentials.files` с `"mode": "deny"`, только управляемые параметры могут это установить.2188* **Scope**: [`User or managed`](#scopes). Когда управляемые настройки вообще настраивают `sandbox.filesystem` или содержат запись `sandbox.credentials.files` с `"mode": "deny"`, установить её могут только управляемые настройки.

2173* **Type**: Boolean2189* **Type**: Boolean

2174 * `true`: Claude Code пропускает изоляцию файловой системы и сохраняет изоляцию сети2190 * `true`: Claude Code пропускает изоляцию файловой системы и сохраняет изоляцию сети

2175 * `false`: изоляция файловой системы остается включенной2191 * `false`: изоляция файловой системы остаётся включённой

2176* **Default**: `false`, поэтому изоляция файловой системы остается включенной2192* **Default**: `false`, поэтому изоляция файловой системы остаётся включённой

2177 2193 

2178Это оставляет файловую систему открытой и ограничивает исходящий трафик сети GitHub и npm:2194Это оставляет файловую систему открытой и ограничивает исходящий сетевой трафик GitHub и npm:

2179 2195 

2180```json settings.json theme={null}2196```json settings.json theme={null}

2181{2197{


2191}2207}

2192```2208```

2193 2209 

2194С отключенным слоем Claude Code не применяет записи `denyRead` или `credentials.files` `deny`, в то время как записи `credentials.envVars` и применяемые записи `mask` продолжают работать. [`autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) по-прежнему по умолчанию имеет значение `true`, поэтому установите значение `false`, чтобы продолжить запрос. См. [Disable filesystem isolation](/docs/ru/sandboxing#disable-filesystem-isolation) для получения полного списка источников, которые могут это установить, и что изменяется при отключении изоляции. Требует Claude Code v2.1.216 или позже.2210При отключённом слое Claude Code не применяет записи `denyRead` или записи `credentials.files` с `deny`, тогда как записи `credentials.envVars` и применённые записи `mask` продолжают работать. [`autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) по-прежнему по умолчанию имеет значение `true`, поэтому установите `false`, чтобы запросы разрешений продолжались. См. [Disable filesystem isolation](/docs/ru/sandboxing#disable-filesystem-isolation), чтобы получить полный список источников, которые могут её установить, и узнать, что меняется при отключении изоляции. Требует Claude Code v2.1.216 или более поздней версии.

2195 2211 

2196<h3 id="sandbox-ignoreviolations">2212<h3 id="sandbox-ignoreviolations">

2197 `sandbox.ignoreViolations`2213 `sandbox.ignoreViolations`

2198</h3>2214</h3>

2199 2215 

2200Подавьте отчеты о нарушениях песочницы для путей, которые вы ожидаете, что команда будет проверять и ей будет отказано, такие как инструмент, который проверяет `/etc/hosts` при запуске, чтобы эти отказы не отображались как нарушения или в том, что видит Claude. Песочница по-прежнему блокирует доступ; подавляется только отчет. Ключи — это подстроки для сопоставления с командой, где `*` совпадает с каждой командой, а значения — это подстроки нарушения, которое нужно игнорировать для этой команды, такие как путь файловой системы.2216Отключите отчёты о нарушениях песочницы для путей, к которым команда, как вы ожидаете, будет обращаться и получать отказ, например для инструмента, который проверяет `/etc/hosts` при запуске, чтобы эти отказы не отображались как нарушения и не попадали в то, что видит Claude. Песочница по-прежнему блокирует доступ; подавляется только отчёт. Ключи — это подстроки для сопоставления с командой, где `*` совпадает с любой командой, а значения — это подстроки нарушения, которое нужно игнорировать для этой команды, например путь файловой системы.

2201 2217 

2202* **Scope**: [`Any file`](#scopes)2218* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox)

2203* **Type**: object mapping a command substring to an array of violation substrings, usually paths2219* **Type**: object mapping a command substring to an array of violation substrings, usually paths

2204* **Default**: не установлено, поэтому каждое нарушение сообщается2220* **Default**: не установлено, поэтому сообщается о каждом нарушении

2205 2221 

2206```json settings.json theme={null}2222```json settings.json theme={null}

2207{2223{


2217 `sandbox.enableWeakerNestedSandbox`2233 `sandbox.enableWeakerNestedSandbox`

2218</h3>2234</h3>

2219 2235 

2220Запустите песочницу Linux внутри непривилегированного контейнера Docker, где bubblewrap не может смонтировать свежий `/proc`. Вместо этого внутренняя песочница привязывает существующий `/proc` контейнера, который раскрывает информацию о процессе, которую свежее монтирование скрыло бы. Это снижает безопасность; используйте это только когда внешний контейнер уже обеспечивает необходимую вам изоляцию.2236Запустите песочницу Linux внутри непривилегированного контейнера Docker, где bubblewrap не может смонтировать новый `/proc`. Вместо этого внутренняя песочница монтирует через bind-mount существующий `/proc` контейнера, что раскрывает информацию о процессах, которую новое монтирование скрыло бы. Это снижает безопасность; используйте это, только когда внешний контейнер уже обеспечивает необходимую вам изоляцию.

2221 2237 

2222* **Scope**: [`Any file`](#scopes)2238* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox)

2223* **Type**: Boolean2239* **Type**: Boolean

2224 * `true`: внутренняя песочница привязывает существующий `/proc` контейнера вместо монтирования свежего2240 * `true`: внутренняя песочница монтирует через bind-mount существующий `/proc` контейнера вместо монтирования нового

2225 * `false`: песочница монтирует свежий `/proc`, что не работает в непривилегированном контейнере Docker2241 * `false`: песочница монтирует новый `/proc`, что не работает в непривилегированном контейнере Docker

2226* **Default**: `false`2242* **Default**: `false`

2227 2243 

2228```json settings.json theme={null}2244```json settings.json theme={null}


2234}2250}

2235```2251```

2236 2252 

2237Только Linux и WSL2. См. [Bubblewrap fails to start inside a container](/docs/ru/sandboxing#troubleshooting).2253Только Linux и WSL2. См. [Bubblewrap fails to start inside a container](/docs/ru/sandboxing#bubblewrap-fails-to-start-inside-a-container).

2238 2254 

2239<h3 id="sandbox-enableweakernetworkisolation">2255<h3 id="sandbox-enableweakernetworkisolation">

2240 `sandbox.enableWeakerNetworkIsolation`2256 `sandbox.enableWeakerNetworkIsolation`

2241</h3>2257</h3>

2242 2258 

2243Позвольте изолированным командам на macOS достичь системной службы доверия TLS, `com.apple.trustd.agent`. Инструменты на основе Go, такие как `gh`, `gcloud` и `terraform`, нуждаются в этом для проверки сертификатов TLS, когда вы используете [`network.httpProxyPort`](#sandbox-network-httpproxyport) с прокси MITM и пользовательским ЦС. Это снижает безопасность, открывая потенциальный путь утечки данных через службу доверия.2259Позвольте изолированным командам на macOS обращаться к системной службе доверия TLS, `com.apple.trustd.agent`. Инструментам на основе Go, таким как `gh`, `gcloud` и `terraform`, это нужно для проверки сертификатов TLS, когда вы используете [`network.httpProxyPort`](#sandbox-network-httpproxyport) с MITM-прокси и пользовательским ЦС. Это снижает безопасность, открывая потенциальный путь утечки данных через службу доверия.

2244 2260 

2245* **Scope**: [`Any file`](#scopes)2261* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox)

2246* **Type**: Boolean2262* **Type**: Boolean

2247 * `true`: изолированные команды на macOS могут достичь `com.apple.trustd.agent`2263 * `true`: изолированные команды на macOS могут обращаться к `com.apple.trustd.agent`

2248 * `false`: изолированные команды на macOS не могут достичь системной службы доверия TLS2264 * `false`: изолированные команды на macOS не могут обращаться к системной службе доверия TLS

2249* **Default**: `false`2265* **Default**: `false`

2250 2266 

2251```json settings.json theme={null}2267```json settings.json theme={null}


2257}2273}

2258```2274```

2259 2275 

2260Если вы не используете прокси MITM, вместо этого перечислите неудачные инструменты в [`excludedCommands`](#sandbox-excludedcommands); см. [Go-based CLIs fail TLS verification on macOS](/docs/ru/sandboxing#troubleshooting).2276Если вы не используете MITM-прокси, вместо этого перечислите проблемные инструменты в [`excludedCommands`](#sandbox-excludedcommands); см. [Go-based CLIs fail TLS verification on macOS](/docs/ru/sandboxing#go-based-clis-fail-tls-verification-on-macos).

2261 2277 

2262<h3 id="sandbox-allowappleevents">2278<h3 id="sandbox-allowappleevents">

2263 `sandbox.allowAppleEvents`2279 `sandbox.allowAppleEvents`

2264</h3>2280</h3>

2265 2281 

2266Позвольте изолированным командам на macOS отправлять Apple Events, которые требуют `open`, `osascript` и инструменты, которые открывают URL-адреса в браузере; без этого они не работают с ошибкой `-600`. Это удаляет изоляцию выполнения кода: изолированные команды могут запускать другие приложения без изоляции без подсказки пользователя и могут отправлять команды AppleScript работающим приложениям, таким как Terminal, с учетом подсказки согласия на автоматизацию macOS для каждого приложения (TCC).2282Позвольте изолированным командам на macOS отправлять Apple Events, которые нужны `open`, `osascript` и инструментам, открывающим URL-адреса в браузере; без этого они завершаются с ошибкой `-600`. Это снимает изоляцию выполнения кода: изолированные команды могут запускать другие приложения без изоляции и без запроса пользователю, а также отправлять команды AppleScript работающим приложениям, таким как Terminal, с учётом запроса согласия на автоматизацию macOS для каждого приложения (TCC).

2267 2283 

2268* **Scope**: [`User or managed`](#scopes)2284* **Scope**: [`User or managed`](#scopes)

2269* **Type**: Boolean2285* **Type**: Boolean

2270 * `true`: изолированные команды на macOS могут отправлять Apple Events2286 * `true`: изолированные команды на macOS могут отправлять Apple Events

2271 * `false`: изолированные команды на macOS не могут отправлять Apple Events, поэтому `open` и `osascript` не работают с ошибкой `-600`2287 * `false`: изолированные команды на macOS не могут отправлять Apple Events, поэтому `open` и `osascript` завершаются с ошибкой `-600`

2272* **Default**: `false`2288* **Default**: `false`

2273 2289 

2274```json settings.json theme={null}2290```json settings.json theme={null}


2280}2296}

2281```2297```

2282 2298 

2283Чтобы сохранить изоляцию и все еще запустить один такой инструмент, добавьте его в [`excludedCommands`](#sandbox-excludedcommands) вместо этого. См. [Apple Events on macOS](/docs/ru/sandboxing#security-limitations).2299Чтобы сохранить изоляцию и всё же запускать один такой инструмент, добавьте его вместо этого в [`excludedCommands`](#sandbox-excludedcommands). См. [Apple Events on macOS](/docs/ru/sandboxing#security-limitations).

2284 2300 

2285<h3 id="sandbox-ripgrep">2301<h3 id="sandbox-ripgrep">

2286 `sandbox.ripgrep`2302 `sandbox.ripgrep`

2287</h3>2303</h3>

2288 2304 

2289Укажите песочнице на двоичный файл ripgrep вашего собственного вместо того, который использует Claude Code, например, когда ваша платформа требует иначе построенный `rg`.2305Укажите песочнице собственный двоичный файл ripgrep вместо того, который использует Claude Code, например когда вашей платформе нужен иначе собранный `rg`.

2290 2306 

2291* **Scope**: [`User or managed`](#scopes)2307* **Scope**: [`User or managed`](#scopes)

2292* **Type**: object с `command`, путем к двоичному файлу ripgrep, и опциональным `args`, массивом аргументов для добавления в начало2308* **Type**: object с `command` — путём к двоичному файлу ripgrep, и необязательным `args` — массивом аргументов, добавляемых в начало

2293* **Default**: не установлено, поэтому песочница использует тот же двоичный файл ripgrep, что и Claude Code. Это встроенный двоичный файл, если вы не установите [`USE_BUILTIN_RIPGREP`](/docs/ru/env-vars) на `0`2309* **Default**: не установлено, поэтому песочница использует тот же двоичный файл ripgrep, что и Claude Code. Это встроенный двоичный файл, если вы не установите [`USE_BUILTIN_RIPGREP`](/docs/ru/env-vars) в `0`

2294 2310 

2295```json settings.json theme={null}2311```json settings.json theme={null}

2296{2312{


2306 `sandbox.bwrapPath`2322 `sandbox.bwrapPath`

2307</h3>2323</h3>

2308 2324 

2309Укажите песочнице на двоичный файл bubblewrap, установленный вне `PATH`, такой как копия поставщика на хосте без доступа в интернет. Claude Code использует путь как для проверки зависимостей при запуске, так и когда он оборачивает каждую изолированную команду.2325Укажите песочнице двоичный файл bubblewrap, установленный вне `PATH`, например поставляемую копию на изолированном от сети хосте. Claude Code использует этот путь как для проверки зависимостей при запуске, так и при обёртывании каждой изолированной команды.

2310 2326 

2311* **Scope**: [`Managed`](#scopes). Claude Code читает это только из управляемых параметров, чтобы файл пользователя, проекта или локальный не мог указать песочнице на другой двоичный файл.2327* **Scope**: [`Managed`](#scopes). Claude Code читает его только из управляемых настроек, чтобы пользовательский, проектный или локальный файл не мог указать песочнице другой двоичный файл.

2312* **Type**: string, an absolute path; Claude Code drops a relative path and falls back to `PATH` lookup2328* **Type**: string, an absolute path; Claude Code drops a relative path and falls back to `PATH` lookup

2313* **Default**: не установлено, поэтому Claude Code находит `bwrap` на `PATH`2329* **Default**: не установлено, поэтому Claude Code находит `bwrap` в `PATH`

2314 2330 

2315```json managed-settings.json theme={null}2331```json managed-settings.json theme={null}

2316{2332{


2327 `sandbox.socatPath`2343 `sandbox.socatPath`

2328</h3>2344</h3>

2329 2345 

2330Укажите прокси сети песочницы на двоичный файл `socat`, установленный вне `PATH`.2346Укажите сетевому прокси песочницы двоичный файл `socat`, установленный вне `PATH`.

2331 2347 

2332* **Scope**: [`Managed`](#scopes)2348* **Scope**: [`Managed`](#scopes)

2333* **Type**: string, an absolute path; Claude Code drops a relative path and falls back to `PATH` lookup2349* **Type**: string, an absolute path; Claude Code drops a relative path and falls back to `PATH` lookup

2334* **Default**: не установлено, поэтому Claude Code находит `socat` на `PATH`2350* **Default**: не установлено, поэтому Claude Code находит `socat` в `PATH`

2335 2351 

2336```json managed-settings.json theme={null}2352```json managed-settings.json theme={null}

2337{2353{


2348 `sandbox.credentials`2364 `sandbox.credentials`

2349</h3>2365</h3>

2350 2366 

2351Объявите файлы учетных данных и переменные окружения для [защиты от изолированных команд](/docs/ru/sandboxing#protect-credentials). Каждая запись называет файл `path` или переменную `name` и `mode`: `deny` скрывает учетные данные внутри песочницы, а `mask` показывает изолированным командам заполнитель, в то время как [sandbox proxy](/docs/ru/sandboxing#mask-credentials) подставляет реальное значение в исходящих запросах. Claude Code защищает только записи, которые вы перечисляете; нет встроенного списка отказа учетных данных.2367Объявите файлы учётных данных и переменные окружения, которые нужно [защитить от изолированных команд](/docs/ru/sandboxing#protect-credentials). Каждая запись указывает файл `path` или переменную `name` и `mode`: `deny` скрывает учётные данные внутри песочницы, а `mask` показывает изолированным командам заполнитель, в то время как [sandbox proxy](/docs/ru/sandboxing#mask-credentials) подставляет реальное значение в исходящих запросах. Claude Code защищает только перечисленные вами записи; встроенного списка запрещённых учётных данных нет.

2352 2368 

2353* **Scope**: [`Any file`](#scopes). Claude Code соблюдает записи `mask`, `allowPlaintextInject`, `awsPairs` и `sigv4` только из параметров пользователя, управляемых параметров и флага `--settings`.2369* **Scope**: [`Any file`](#scopes). Claude Code учитывает записи `mask`, `allowPlaintextInject`, `awsPairs` и `sigv4` только из пользовательских настроек, управляемых настроек и флага `--settings`.

2354* **Type**: object с `files`, `envVars`, `allowPlaintextInject`, `awsPairs` и `sigv4`2370* **Type**: object с `files`, `envVars`, `allowPlaintextInject`, `awsPairs` и `sigv4`

2355* **Default**: не установлено, поэтому никакие учетные данные не защищены2371* **Default**: не установлено, поэтому никакие учётные данные не защищены

2356 2372 

2357Это скрывает файл учетных данных AWS и удаляет `GITHUB_TOKEN` из изолированных команд:2373Это скрывает файл учётных данных AWS и удаляет `GITHUB_TOKEN` из изолированных команд:

2358 2374 

2359```json settings.json theme={null}2375```json settings.json theme={null}

2360{2376{


2367}2383}

2368```2384```

2369 2385 

2370Защита файла `deny` является частью слоя файловой системы, поэтому она не применяется, когда вы [disable filesystem isolation](/docs/ru/sandboxing#disable-filesystem-isolation); защита переменной окружения по-прежнему применяется.2386Защита файла `deny` является частью слоя файловой системы, поэтому она не действует, когда вы [disable filesystem isolation](/docs/ru/sandboxing#disable-filesystem-isolation); защита переменных окружения по-прежнему действует.

2371 2387 

2372<h4 id="invalid-credential-entries-in-managed-settings">2388<h4 id="invalid-credential-entries-in-managed-settings">

2373 Недействительные записи учетных данных в управляемых параметрах2389 Недействительные записи учётных данных в управляемых настройках

2374</h4>2390</h4>

2375 2391 

2376Когда запись `sandbox.credentials` в управляемых параметрах не проходит проверку, Claude Code продолжает защищать учетные данные, где может:2392Когда запись `sandbox.credentials` в управляемых настройках не проходит проверку, Claude Code продолжает защищать учётные данные, где это возможно:

2377 2393 

2378* Запись в `files` или `envVars`, которая по-прежнему имеет действительный `path` или `name` и `mode` из `mask` или `deny`, такая как запись, чей шаблон `extract` не имеет группы захвата, деградирует до `mode: "deny"` с предупреждением, поэтому учетные данные остаются заблокированными, а не замаскированными, пока вы не исправите запись. Деградированная запись `files` закрепляет [`filesystem.disabled`](/docs/ru/sandboxing#disable-filesystem-isolation) как явная запись `deny`, и предупреждение отмечает, что ее блок чтения не применяется, если управляемые параметры отключают изоляцию файловой системы.2394* Запись в `files` или `envVars`, у которой по-прежнему действительный `path` или `name` и `mode` со значением `mask` или `deny`, например запись, шаблон `extract` которой не содержит группы захвата, понижается до `mode: "deny"` с предупреждением, поэтому учётные данные остаются заблокированными, а не замаскированными, пока вы не исправите запись. Пониженная запись `files` закрепляет [`filesystem.disabled`](/docs/ru/sandboxing#disable-filesystem-isolation) так же, как явная запись `deny`, а предупреждение отмечает, что её блокировка чтения не применяется, если управляемые настройки отключают изоляцию файловой системы.

2379* Запись с неизвестным `mode` или недействительным `path` или `name` удаляется.2395* Запись с неизвестным `mode` или недействительным `path` или `name` удаляется.

2380* Каждый случай предупреждает; независимо от того, деградирована ли запись или удалена, оставшиеся действительные записи по-прежнему применяются, и полностью недействительное значение `credentials` удаляется, в то время как остальная часть `sandbox` по-прежнему применяется.2396* В каждом случае выводится предупреждение; независимо от того, понижена запись или удалена, остальные действительные записи по-прежнему применяются, а полностью недействительное значение `credentials` отбрасывается, тогда как остальная часть `sandbox` по-прежнему применяется.

2381 2397 

2382Применяется в v2.1.191 и позже; до v2.1.221 каждая недействительная запись была удалена. Для других управляемых ключей с обработкой для каждого поля см. [Invalid entries in managed settings](/docs/ru/managed-settings#invalid-entries-in-managed-settings).2398Действует в v2.1.191 и более поздних версиях; до v2.1.221 каждая недействительная запись удалялась. Для других управляемых ключей с обработкой на уровне отдельных полей см. [Invalid entries in managed settings](/docs/ru/managed-settings#invalid-entries-in-managed-settings).

2383 2399 

2384<h3 id="sandbox-credentials-files">2400<h3 id="sandbox-credentials-files">

2385 `sandbox.credentials.files`2401 `sandbox.credentials.files`

2386</h3>2402</h3>

2387 2403 

2388Защитите файлы или каталоги учетных данных от изолированных команд. С `"mode": "deny"`, Claude Code блокирует чтение пути внутри песочницы, тот же блок чтения, что и [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread). С `"mode": "mask"`, изолированные команды на Linux и WSL2 читают копию файла-дозорного, и прокси песочницы подставляет реальное значение в исходящих запросах к `injectHosts` этой записи; на macOS файл вместо этого нечитаем внутри песочницы. `"mode": "mask"` требует Claude Code v2.1.221 или позже.2404Защитите файлы или каталоги учётных данных от изолированных команд. С `"mode": "deny"` Claude Code блокирует чтение пути внутри песочницы — та же блокировка чтения, что и у [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread). С `"mode": "mask"` изолированные команды на Linux и WSL2 читают копию файла с сигнальным значением, а прокси песочницы подставляет реальное значение в исходящих запросах к `injectHosts` этой записи; на macOS файл вместо этого недоступен для чтения внутри песочницы. `"mode": "mask"` требует Claude Code v2.1.221 или более поздней версии.

2389 2405 

2390* **Scope**: [`Any file`](#scopes). Claude Code удаляет записи `mask` из проекта `.claude/settings.json` и локального `.claude/settings.local.json`.2406* **Scope**: [`Any file`](#scopes). Claude Code отбрасывает записи `mask` из проектного `.claude/settings.json` и локального `.claude/settings.local.json`.

2391* **Type**: array of objects, each with `path` and a `mode` of `"deny"` or `"mask"`, plus the optional [mask fields for files](#mask-fields-for-files)2407* **Type**: array of objects, each with `path` and a `mode` of `"deny"` or `"mask"`, plus the optional [mask fields for files](#mask-fields-for-files)

2392* **Default**: не установлено, поэтому никакие файлы учетных данных не защищены2408* **Default**: не установлено, поэтому никакие файлы учётных данных не защищены

2393 2409 

2394Это скрывает файл учетных данных AWS и маскирует файл хостов `gh`, подставляя реальное значение только в запросах к `api.github.com`:2410Это скрывает файл учётных данных AWS и маскирует файл хостов `gh`, подставляя реальное значение только в запросах к `api.github.com`:

2395 2411 

2396```json settings.json theme={null}2412```json settings.json theme={null}

2397{2413{


2406}2422}

2407```2423```

2408 2424 

2409Пути используют те же [prefixes](#sandbox-path-prefixes), что и параметры `sandbox.filesystem.*`, и Claude Code объединяет массивы из каждой области параметров, которые загружает сеанс. [Protect credentials](/docs/ru/sandboxing#protect-credentials) охватывает то, что по-прежнему применяется из источников, которые вы исключаете с помощью `--setting-sources`. `mask` записи требуют Claude Code v2.1.221 или позже.2425Пути используют те же [prefixes](#sandbox-path-prefixes), что и настройки `sandbox.filesystem.*`, и Claude Code объединяет массивы из всех областей действия настроек, которые загружает сессия. [Protect credentials](/docs/ru/sandboxing#protect-credentials) описывает, что по-прежнему применяется из источников, которые вы исключаете с помощью `--setting-sources`. Записи `mask` требуют Claude Code v2.1.221 или более поздней версии.

2410 2426 

2411Подстановка `mask` работает только через прокси песочницы, поэтому установите [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) или [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) для простых сетей HTTP-тестирования. `mask` применяется к одному файлу, поэтому перечислите каждый файл учетных данных отдельно. Claude Code принимает, но игнорирует поля `mask` в записи `deny`. [Mask credential files](/docs/ru/sandboxing#mask-credential-files) охватывает, какие источники параметров соблюдаются и когда запись возвращается к `deny`.2427Подстановка `mask` работает только через прокси песочницы, поэтому установите [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) или [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) для тестовых сетей с обычным HTTP. `mask` применяется к одному файлу, поэтому перечислите каждый файл учётных данных отдельно. Claude Code принимает, но игнорирует поля `mask` в записи `deny`. [Mask credentials](/docs/ru/sandboxing#mask-credentials) описывает, какие источники настроек учитываются, а [Mask credential files](/docs/ru/sandboxing#mask-credential-files) — когда запись откатывается к `deny`.

2412 2428 

2413<span id="sandbox-credentials-files-extract" />2429<span id="sandbox-credentials-files-extract" />

2414 2430 


2426 Поля маски для файлов2442 Поля маски для файлов

2427</h4>2443</h4>

2428 2444 

2429Запись `mask` принимает эти опциональные поля. Без `extract` или `decode`, Claude Code заменяет все содержимое файла одним дозорным. На macOS с включенной изоляцией файловой системы Claude Code применяет запись `mask` как `deny` перед запуском `extract` или `decode`; см. [Mask credential files](/docs/ru/sandboxing#mask-credential-files).2445Запись `mask` принимает эти необязательные поля. Без `extract` или `decode` Claude Code заменяет всё содержимое файла одним сигнальным значением. На macOS с включённой изоляцией файловой системы Claude Code применяет запись `mask` как `deny` до запуска `extract` или `decode`; см. [Mask credential files](/docs/ru/sandboxing#mask-credential-files).

2430 2446 

2431| Field | Type | What it does |2447| Field | Type | What it does |

2432| :- | :- | :- |2448| :- | :- | :- |

2433| `extract` | string, a regular expression with at least one capturing group | Маскируйте только текст, захваченный группой 1 каждого совпадения, чтобы остальная часть файла оставалась анализируемой. Если также установлен `decode`, Claude Code проверяет каждый захват как возможный JWT вместо прямой замены. Требует v2.1.221 или позже |2449| `extract` | string, a regular expression with at least one capturing group | Маскирует только текст, захваченный группой 1 каждого совпадения, чтобы остальная часть файла оставалась пригодной для разбора. Если также установлен `decode`, Claude Code проверяет каждый захват как возможный JWT вместо прямой замены. Требует v2.1.221 или более поздней версии |

2434| `onExtractNoMatch` | `"warn"`, `"deny"` или `"error"`; default `"warn"` | Что происходит, когда `extract` или `decode` ничего не находит для маскирования. `warn` оставляет файл доступным для чтения как есть внутри песочницы, `deny` делает его нечитаемым, а `error` останавливает настройку песочницы, пока вы не исправите конфигурацию. Claude Code рассматривает `deny` как `error`, когда блок чтения не будет применяться, потому что вы [disable filesystem isolation](/docs/ru/sandboxing#disable-filesystem-isolation) или запись [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) повторно открывает путь. Требует v2.1.221 или позже; случай `decode` требует v2.1.224 или позже |2450| `onExtractNoMatch` | `"warn"`, `"deny"` или `"error"`; default `"warn"` | Что происходит, когда `extract` или `decode` не находит ничего для маскирования. `warn` оставляет файл доступным для чтения как есть внутри песочницы, `deny` делает его недоступным для чтения, а `error` останавливает настройку песочницы, пока вы не исправите конфигурацию. Claude Code рассматривает `deny` как `error`, когда блокировка чтения не будет применяться, потому что вы [disable filesystem isolation](/docs/ru/sandboxing#disable-filesystem-isolation) или запись [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) повторно открывает путь. Требует v2.1.221 или более поздней версии; случай `decode` требует v2.1.224 или более поздней версии |

2435| `decode` | the string `"jwt"` | Найдите JSON Web Tokens (JWTs) в файле, со встроенным шаблоном или с `extract`, когда установлен, проверьте каждого кандидата и замените его структурно действительным поддельным токеном, чтобы код внутри песочницы, который декодирует токен, продолжал работать. Когда ни один кандидат не проверяется, `onExtractNoMatch` управляет результатом. Требует v2.1.224 или позже |2451| `decode` | the string `"jwt"` | Находит JSON Web Tokens (JWT) в файле с помощью встроенного шаблона или с помощью `extract`, если он установлен, проверяет каждого кандидата и заменяет его структурно корректным поддельным токеном, чтобы код внутри песочницы, который декодирует токен, продолжал работать. Когда ни один кандидат не проходит проверку, результат определяет `onExtractNoMatch`. Требует v2.1.224 или более поздней версии |

2436| `maskClaims` | array of strings, at least one claim name; requires `decode` | Маскируйте только названные утверждения верхнего уровня полезной нагрузки внутри каждого проверенного JWT и перестройте токен вокруг измененной полезной нагрузки, чтобы другие утверждения оставались доступными для чтения. Когда ни одно названное утверждение не совпадает, `onExtractNoMatch` управляет результатом. Требует v2.1.224 или позже |2452| `maskClaims` | array of strings, at least one claim name; requires `decode` | Маскирует только указанные утверждения (claims) верхнего уровня полезной нагрузки внутри каждого проверенного JWT и пересобирает токен вокруг изменённой полезной нагрузки, чтобы другие утверждения оставались доступными для чтения. Когда ни одно из указанных утверждений не совпадает, результат определяет `onExtractNoMatch`. Требует v2.1.224 или более поздней версии |

2437| `maskDuplicates` | Boolean, default `false` | Также замените дословные копии каждого замаскированного значения в другом месте файла, такие как секрет, вставленный в комментарий. Claude Code совпадает с необработанными подстроками, поэтому зарезервируйте это для длинных, высокоэнтропийных секретов. Консультируется только когда установлены `extract` или `decode`. Требует v2.1.221 или позже |2453| `maskDuplicates` | Boolean, default `false` | Также заменяет дословные копии каждого замаскированного значения в других местах файла, например секрет, вставленный в комментарий. Claude Code сопоставляет необработанные подстроки, поэтому используйте это только для длинных секретов с высокой энтропией. Учитывается, только когда установлен `extract` или `decode`. Требует v2.1.221 или более поздней версии |

2438| `injectHosts` | array of strings, each a host that [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) also admits | Сузьте хосты, где прокси песочницы подставляет реальное значение. Когда не установлено, прокси подставляет его в запросы каждому хосту в `sandbox.network.allowedDomains`. Требует v2.1.221 или позже |2454| `injectHosts` | array of strings, each a host that [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) also admits | Сужает набор хостов, для которых прокси песочницы подставляет реальное значение. Если не установлено, прокси подставляет его в запросах к каждому хосту в `sandbox.network.allowedDomains`. Требует v2.1.221 или более поздней версии |

2439 2455 

2440Это маскирует только значение `oauth_token` в файле хостов `gh`, заменяет каждую другую копию его в файле, делает файл нечитаемым, если шаблон ничего не совпадает, и подставляет реальный токен только в запросах к `api.github.com`:2456Это маскирует только значение `oauth_token` в файле хостов `gh`, заменяет все другие его копии в файле, делает файл недоступным для чтения, если шаблон ничего не находит, и подставляет реальный токен только в запросах к `api.github.com`:

2441 2457 

2442```json settings.json theme={null}2458```json settings.json theme={null}

2443{2459{


2462 `sandbox.credentials.envVars`2478 `sandbox.credentials.envVars`

2463</h3>2479</h3>

2464 2480 

2465Защитите переменные окружения от изолированных команд. С `"mode": "deny"`, Claude Code удаляет переменную из окружения изолированных команд. С `"mode": "mask"`, изолированные команды видят значение дозорного для каждого сеанса, и прокси песочницы подставляет реальное значение в исходящих запросах к `injectHosts` этой записи, поэтому инструменты, такие как `gh` и `npm`, продолжают аутентифицироваться без когда-либо удержания реальных учетных данных. `"mode": "mask"` требует Claude Code v2.1.199 или позже.2481Защитите переменные окружения от изолированных команд. С `"mode": "deny"` Claude Code удаляет переменную из окружения изолированных команд. С `"mode": "mask"` изолированные команды видят сигнальное значение, уникальное для сессии, а прокси песочницы подставляет реальное значение в исходящих запросах к `injectHosts` этой записи, поэтому такие инструменты, как `gh` и `npm`, продолжают проходить аутентификацию, никогда не получая реальных учётных данных. `"mode": "mask"` требует Claude Code v2.1.199 или более поздней версии.

2466 2482 

2467* **Scope**: [`Any file`](#scopes). Claude Code удаляет записи `mask` из проекта `.claude/settings.json` и локального `.claude/settings.local.json`.2483* **Scope**: [`Any file`](#scopes). Claude Code отбрасывает записи `mask` из проектного `.claude/settings.json` и локального `.claude/settings.local.json`.

2468* **Type**: array of objects, each with `name` and a `mode` of `"deny"` or `"mask"`, plus the optional [mask fields for environment variables](#mask-fields-for-environment-variables)2484* **Type**: array of objects, each with `name` and a `mode` of `"deny"` or `"mask"`, plus the optional [mask fields for environment variables](#mask-fields-for-environment-variables)

2469* **Default**: не установлено, поэтому никакие переменные окружения не защищены2485* **Default**: не установлено, поэтому никакие переменные окружения не защищены

2470 2486 


2483}2499}

2484```2500```

2485 2501 

2486`name` должно начинаться с буквы или подчеркивания и содержать только буквы, цифры и подчеркивания. Claude Code объединяет массивы из каждой области параметров, которые загружает сеанс, и применяет `deny`, когда одна и та же переменная появляется с обоими режимами. [Protect credentials](/docs/ru/sandboxing#protect-credentials) охватывает то, что по-прежнему применяется из источников, которые вы исключаете с помощью `--setting-sources`. `mask` записи требуют Claude Code v2.1.199 или позже.2502`name` должно начинаться с буквы или подчёркивания и содержать только буквы, цифры и подчёркивания. Claude Code объединяет массивы из всех областей действия настроек, которые загружает сессия, и применяет `deny`, когда одна и та же переменная встречается с обоими режимами. [Protect credentials](/docs/ru/sandboxing#protect-credentials) описывает, что по-прежнему применяется из источников, которые вы исключаете с помощью `--setting-sources`. Записи `mask` требуют Claude Code v2.1.199 или более поздней версии.

2487 2503 

2488Подстановка `mask` работает только через прокси песочницы, поэтому установите [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) или [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) для простых сетей HTTP-тестирования; см. [Mask environment variables](/docs/ru/sandboxing#mask-environment-variables). Claude Code принимает, но игнорирует поля `mask` в записи `deny`.2504Подстановка `mask` работает только через прокси песочницы, поэтому установите [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) или [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) для тестовых сетей с обычным HTTP; см. [Mask credentials](/docs/ru/sandboxing#mask-credentials). Claude Code принимает, но игнорирует поля `mask` в записи `deny`.

2489 2505 

2490<span id="sandbox-credentials-envvars-extract" />2506<span id="sandbox-credentials-envvars-extract" />

2491 2507 


2501 Поля маски для переменных окружения2517 Поля маски для переменных окружения

2502</h4>2518</h4>

2503 2519 

2504Запись `mask` принимает эти опциональные поля. Без `extract` или `decode`, Claude Code заменяет все значение одним дозорным. `extract` и `decode` не могут быть объединены в одной записи.2520Запись `mask` принимает эти необязательные поля. Без `extract` или `decode` Claude Code заменяет всё значение одним сигнальным значением. `extract` и `decode` нельзя комбинировать в одной записи.

2505 2521 

2506| Field | Type | What it does |2522| Field | Type | What it does |

2507| :- | :- | :- |2523| :- | :- | :- |

2508| `extract` | string, a regular expression with at least one capturing group | Маскируйте только текст, захваченный группой 1 каждого совпадения, такой как пароль внутри строки подключения `DATABASE_URL`, чтобы остальная часть значения оставалась анализируемой. Требует v2.1.224 или позже |2524| `extract` | string, a regular expression with at least one capturing group | Маскирует только текст, захваченный группой 1 каждого совпадения, например пароль внутри строки подключения `DATABASE_URL`, чтобы остальная часть значения оставалась пригодной для разбора. Требует v2.1.224 или более поздней версии |

2509| `onExtractNoMatch` | `"warn"`, `"deny"` или `"error"`; default `"warn"`. На записи с `decode` принимается только `"warn"` | Что происходит, когда `extract` ничего не совпадает. `warn` передает переменную без маскирования, `deny` отменяет ее внутри песочницы, а `error` останавливает настройку песочницы, пока вы не исправите конфигурацию. Требует v2.1.224 или позже |2525| `onExtractNoMatch` | `"warn"`, `"deny"` или `"error"`; default `"warn"`. В записи с `decode` принимается только `"warn"` | Что происходит, когда `extract` ничего не находит. `warn` передаёт переменную без маскирования, `deny` удаляет её внутри песочницы, а `error` останавливает настройку песочницы, пока вы не исправите конфигурацию. Требует v2.1.224 или более поздней версии |

2510| `decode` | the string `"jwt"` | Проверьте, что все значение является JWT, и замените его структурно действительным поддельным токеном, чтобы код внутри песочницы, который декодирует токен, продолжал работать; прокси подставляет весь реальный токен при выходе. Значение, которое не проверяется, проходит без маскирования с предупреждением. Требует v2.1.224 или позже |2526| `decode` | the string `"jwt"` | Проверяет, что всё значение является JWT, и заменяет его структурно корректным поддельным токеном, чтобы код внутри песочницы, который декодирует токен, продолжал работать; прокси подставляет весь реальный токен в исходящем трафике. Значение, не прошедшее проверку, передаётся без маскирования с предупреждением. Требует v2.1.224 или более поздней версии |

2511| `maskClaims` | array of strings, at least one claim name; requires `decode` | Маскируйте только названные утверждения верхнего уровня полезной нагрузки внутри декодированного JWT и перестройте токен вокруг измененной полезной нагрузки, чтобы другие утверждения оставались доступными для чтения. Когда ни одно названное утверждение не совпадает, переменная проходит без маскирования с предупреждением. Требует v2.1.224 или позже |2527| `maskClaims` | array of strings, at least one claim name; requires `decode` | Маскирует только указанные утверждения (claims) верхнего уровня полезной нагрузки внутри декодированного JWT и пересобирает токен вокруг изменённой полезной нагрузки, чтобы другие утверждения оставались доступными для чтения. Когда ни одно из указанных утверждений не совпадает, переменная передаётся без маскирования с предупреждением. Требует v2.1.224 или более поздней версии |

2512| `injectHosts` | array of strings, each a host that [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) also admits | Сузьте хосты, где прокси песочницы подставляет реальное значение. Когда не установлено, прокси подставляет его в запросы каждому хосту в `sandbox.network.allowedDomains`. Напишите пункт назначения IPv6 как голый сжатый адрес, такой как `"::1"`, а не форму в скобках; см. [IPv6 destinations in `injectHosts`](/docs/ru/sandboxing#ipv6-destinations-in-injecthosts). Требует v2.1.199 или позже |2528| `injectHosts` | array of strings, each a host that [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) also admits | Сужает набор хостов, для которых прокси песочницы подставляет реальное значение. Если не установлено, прокси подставляет его в запросах к каждому хосту в `sandbox.network.allowedDomains`. Указывайте IPv6-адрес назначения как сжатый адрес без скобок, например `"::1"`, а не в форме со скобками; см. [IPv6 destinations in `injectHosts`](/docs/ru/sandboxing#ipv6-destinations-in-injecthosts). Требует v2.1.199 или более поздней версии |

2513 2529 

2514Это маскирует только пароль внутри `DATABASE_URL`, отменяет переменную, если шаблон ничего не совпадает, и маскирует JWT в `SERVICE_JWT`, оставляя каждое утверждение, кроме `api_key`, доступным для чтения:2530Это маскирует только пароль внутри `DATABASE_URL`, удаляет переменную, если шаблон ничего не находит, и маскирует JWT в `SERVICE_JWT`, оставляя доступными для чтения все утверждения, кроме `api_key`:

2515 2531 

2516```json settings.json theme={null}2532```json settings.json theme={null}

2517{2533{


2540 `sandbox.credentials.allowPlaintextInject`2556 `sandbox.credentials.allowPlaintextInject`

2541</h3>2557</h3>

2542 2558 

2543Разрешите подстановку `mask` в простых HTTP-запросах, а также в HTTPS с завершением TLS. На простом HTTP восходящая идентичность не проверяется и учетные данные передаются в открытом виде, поэтому оставьте это отключенным вне доверенных тестовых сетей. Требует Claude Code v2.1.199 или позже.2559Разрешите подстановку `mask` в обычных HTTP-запросах, а также в HTTPS с терминированием TLS. При обычном HTTP подлинность вышестоящего сервера не проверяется, а учётные данные передаются в открытом виде, поэтому оставляйте это отключённым за пределами доверенных тестовых сетей. Требует Claude Code v2.1.199 или более поздней версии.

2544 2560 

2545* **Scope**: [`User or managed`](#scopes)2561* **Scope**: [`User or managed`](#scopes)

2546* **Type**: Boolean2562* **Type**: Boolean

2547 * `true`: Claude Code разрешает подстановку `mask` в простых HTTP-запросах, а также в HTTPS с завершением TLS2563 * `true`: Claude Code разрешает подстановку `mask` в обычных HTTP-запросах, а также в HTTPS с терминированием TLS

2548 * `false`: Claude Code разрешает подстановку `mask` только в HTTPS с завершением TLS2564 * `false`: Claude Code разрешает подстановку `mask` только в HTTPS с терминированием TLS

2549* **Default**: `false`2565* **Default**: `false`

2550 2566 

2551```json settings.json theme={null}2567```json settings.json theme={null}


2558}2574}

2559```2575```

2560 2576 

2561Требует Claude Code v2.1.199 или позже.2577Требует Claude Code v2.1.199 или более поздней версии.

2562 2578 

2563<h3 id="sandbox-credentials-awspairs">2579<h3 id="sandbox-credentials-awspairs">

2564 `sandbox.credentials.awsPairs`2580 `sandbox.credentials.awsPairs`

2565</h3>2581</h3>

2566 2582 

2567Сгруппируйте замаскированные переменные окружения, которые образуют одни учетные данные AWS для [SigV4 re-signing](/docs/ru/sandboxing#re-sign-aws-requests), когда ваши учетные данные находятся в переменных с нестандартными именами. Claude Code автоматически связывает обычный триумвират `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` и `AWS_SESSION_TOKEN`, когда вы маскируете их целые значения, поэтому вам нужен этот ключ только для других имен. Требует Claude Code v2.1.224 или позже.2583Сгруппируйте замаскированные переменные окружения, которые образуют один набор учётных данных AWS, для [SigV4 re-signing](/docs/ru/sandboxing#re-sign-aws-requests), когда ваши учётные данные хранятся в переменных с нестандартными именами. Claude Code автоматически связывает стандартную тройку `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` и `AWS_SESSION_TOKEN`, когда вы маскируете их значения целиком, поэтому этот ключ нужен только для других имён. Требует Claude Code v2.1.224 или более поздней версии.

2568 2584 

2569* **Scope**: [`User or managed`](#scopes)2585* **Scope**: [`User or managed`](#scopes)

2570* **Type**: array of objects, each with `accessKeyIdVar`, `secretAccessKeyVar`, and optionally `sessionTokenVar`, naming `sandbox.credentials.envVars` entries2586* **Type**: array of objects, each with `accessKeyIdVar`, `secretAccessKeyVar`, and optionally `sessionTokenVar`, naming `sandbox.credentials.envVars` entries

2571* **Default**: не установлено, поэтому только обычный триумвират спарен2587* **Default**: не установлено, поэтому связывается только стандартная тройка

2572 2588 

2573Это связывает три пользовательские переменные в одни учетные данные AWS для повторного подписания:2589Это связывает три переменные с пользовательскими именами в один набор учётных данных AWS для повторного подписания:

2574 2590 

2575```json settings.json theme={null}2591```json settings.json theme={null}

2576{2592{


2588}2604}

2589```2605```

2590 2606 

2591Каждая названная переменная должна быть записью `mask` целого значения в [`sandbox.credentials.envVars`](#sandbox-credentials-envvars), без `extract` или `decode`, и может заполнять только один слот во всех парах.2607Каждая указанная переменная должна быть записью `mask` со значением целиком в [`sandbox.credentials.envVars`](#sandbox-credentials-envvars), без `extract` или `decode`, и может занимать только один слот среди всех пар. Также действуют следующие правила:

2608 

2609* Прокси повторно подписывает запросы к хостам, перечисленным в `injectHosts` записи идентификатора ключа доступа

2610* Когда установлен `sessionTokenVar`, прокси отправляет реальный токен как `x-amz-security-token` в повторно подписанных запросах

2611* Указание любой из стандартных переменных в паре заменяет автоматическое связывание

2592 2612 

2593<h3 id="sandbox-credentials-sigv4">2613<h3 id="sandbox-credentials-sigv4">

2594 `sandbox.credentials.sigv4`2614 `sandbox.credentials.sigv4`

2595</h3>2615</h3>

2596 2616 

2597Выберите, что прокси песочницы делает с формами запроса AWS, которые он [не может повторно подписать](/docs/ru/sandboxing#re-sign-aws-requests): `streaming` для потоковых загрузок aws-chunked, `presigned` для предписанных URL-адресов и `sigv4a` для асимметричных подписей SigV4A. Это применяется только к запросам, подписанным с помощью заполнителя ID ключа доступа замаскированной пары. Требует Claude Code v2.1.224 или позже.2617Выберите, что прокси песочницы делает с формами запросов AWS, которые он [не может повторно подписать](/docs/ru/sandboxing#re-sign-aws-requests): `streaming` — для потоковых загрузок aws-chunked, `presigned` — для предварительно подписанных URL-адресов и `sigv4a` — для асимметричных подписей SigV4A. Это применяется только к запросам, подписанным с помощью заполнителя идентификатора ключа доступа замаскированной пары. Требует Claude Code v2.1.224 или более поздней версии.

2598 2618 

2599* **Scope**: [`User or managed`](#scopes)2619* **Scope**: [`User or managed`](#scopes)

2600* **Type**: object с `streaming`, `presigned` и `sigv4a`, каждый один из:2620* **Type**: object с `streaming`, `presigned` и `sigv4a`, каждый из которых имеет одно из значений:

2601 * `"deny"`: прокси не выполняет запрос2621 * `"deny"`: прокси завершает запрос с ошибкой

2602 * `"passthrough"`: прокси пересылает запрос, подписанный замаскированным заполнителем, поэтому инструмент получает собственный отказ AWS2622 * `"passthrough"`: прокси пересылает запрос, подписанный замаскированным заполнителем, поэтому инструмент получает собственный отказ AWS

2603* **Default**: не установлено, поэтому каждая форма — это `"deny"`2623* **Default**: не установлено, поэтому каждая форма имеет значение `"deny"`

2604 2624 

2605Это пересылает потоковые загрузки вместо их отказа на прокси:2625Это пересылает потоковые загрузки вместо того, чтобы завершать их с ошибкой на прокси:

2606 2626 

2607```json settings.json theme={null}2627```json settings.json theme={null}

2608{2628{


2616}2636}

2617```2637```

2618 2638 

2619С `deny` прокси не выполняет запрос. С `passthrough` прокси пересылает запрос с его подписью, вычисленной из замаскированного заполнителя, поэтому AWS его отклоняет и вызывающий инструмент получает собственный ответ AWS вместо ошибки прокси.2639С `deny` прокси завершает запрос с ошибкой. С `passthrough` прокси пересылает запрос с подписью, вычисленной из замаскированного заполнителя, поэтому AWS его отклоняет, и вызывающий инструмент получает собственный ответ AWS вместо ошибки прокси.

2620 2640 

2621<h3 id="sandbox-network">2641<h3 id="sandbox-network">

2622 `sandbox.network`2642 `sandbox.network`

2623</h3>2643</h3>

2624 2644 

2625Контролируйте, какие хосты, порты и сокеты могут достичь изолированные команды. Песочница маршрутизирует исходящий трафик через прокси, который применяет эти списки; см. [Network isolation](/docs/ru/sandboxing#network-isolation) для получения информации о том, как прокси решает и когда он запрашивает.2645Управляйте тем, к каким хостам, портам и сокетам могут обращаться изолированные команды. Песочница направляет исходящий трафик через прокси, который применяет эти списки; см. [Network isolation](/docs/ru/sandboxing#network-isolation), чтобы узнать, как прокси принимает решения и когда он запрашивает разрешение.

2626 2646 

2627* **Scope**: [`Any file`](#scopes). `strictAllowlist`, `allowManagedDomainsOnly` и `tlsTerminate` читаются из меньшего количества источников, как указано в их записях.2647* **Scope**: [`Any file`](#scopes). `strictAllowlist`, `allowManagedDomainsOnly` и `tlsTerminate` читаются из меньшего числа источников, как указано в их описаниях.

2628* **Type**: object с подключами ниже2648* **Type**: object с подключами ниже

2629* **Default**: не установлено, поэтому никакие домены не предварительно разрешены и песочница запрашивает каждого нового хоста2649* **Default**: не установлено, поэтому никакие домены не разрешены заранее, и ваш режим разрешений определяет, [что происходит с каждым новым хостом](/docs/ru/sandboxing#hosts-outside-your-allowed-domains)

2630 2650 

2631Это предварительно разрешает GitHub и npm, блокирует `uploads.github.com` и позволяет командам привязываться к localhost:2651Это заранее разрешает GitHub и npm, блокирует `uploads.github.com` и позволяет командам привязываться к localhost:

2632 2652 

2633```json settings.json theme={null}2653```json settings.json theme={null}

2634{2654{


2642}2662}

2643```2663```

2644 2664 

2645Claude Code объединяет подключи массива во всех областях параметров и дедуплицирует их, поэтому проект может добавлять домены в ваш список пользователей. Правила разрешения `WebFetch(domain:...)` allow и deny [permission rules](/docs/ru/sandboxing#permission-rules) питают те же списки allow и deny.2665Claude Code объединяет подключи-массивы во всех областях действия настроек, поэтому проект может добавлять домены к вашему пользовательскому списку, если не действует [блокировка репозитория](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox). [Правила разрешений](/docs/ru/sandboxing#permission-rules) `WebFetch(domain:...)` allow и deny пополняют те же списки разрешённых и запрещённых доменов.

2646 2666 

2647<h3 id="sandbox-network-allowunixsockets">2667<h3 id="sandbox-network-allowunixsockets">

2648 `sandbox.network.allowUnixSockets`2668 `sandbox.network.allowUnixSockets`

2649</h3>2669</h3>

2650 2670 

2651Перечислите пути Unix-сокетов, к которым изолированные команды могут подключаться на macOS. Claude Code игнорирует этот список на Linux и WSL2, где фильтр seccomp не может проверять пути сокетов; используйте [`allowAllUnixSockets`](#sandbox-network-allowallunixsockets) вместо этого.2671Перечислите пути Unix-сокетов, к которым изолированные команды могут подключаться на macOS. Claude Code игнорирует этот список на Linux и WSL2, где фильтр seccomp не может проверять пути сокетов; там используйте вместо этого [`allowAllUnixSockets`](#sandbox-network-allowallunixsockets).

2652 2672 

2653* **Scope**: [`Any file`](#scopes)2673* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox)

2654* **Type**: array of strings, each a socket path2674* **Type**: array of strings, each a socket path

2655* **Default**: не установлено, поэтому песочница macOS блокирует каждый Unix-сокет2675* **Default**: не установлено, поэтому песочница macOS блокирует все Unix-сокеты

2656 2676 

2657```json settings.json theme={null}2677```json settings.json theme={null}

2658{2678{


2664}2684}

2665```2685```

2666 2686 

2667Путь сокета может предоставить широкий доступ: разрешение `/var/run/docker.sock`, например, позволяет изолированной команде контролировать демон Docker. См. [Security limitations](/docs/ru/sandboxing#security-limitations).2687Путь сокета может предоставлять широкий доступ: например, разрешение `/var/run/docker.sock` позволяет изолированной команде управлять демоном Docker. См. [Security limitations](/docs/ru/sandboxing#security-limitations).

2668 2688 

2669<h3 id="sandbox-network-allowallunixsockets">2689<h3 id="sandbox-network-allowallunixsockets">

2670 `sandbox.network.allowAllUnixSockets`2690 `sandbox.network.allowAllUnixSockets`

2671</h3>2691</h3>

2672 2692 

2673Позвольте изолированным командам подключаться к каждому Unix-сокету. На Linux и WSL2 [seccomp filter](/docs/ru/sandboxing#set-up-linux-and-wsl2) песочницы блокирует вызовы `socket(AF_UNIX, ...)`, поэтому это единственный способ разрешить Unix-сокеты там. Когда фильтр отсутствует, что `/sandbox` сообщает на вкладке Dependencies, песочница не блокирует вызовы Unix-сокетов. См. [Set up Linux and WSL2](/docs/ru/sandboxing#set-up-linux-and-wsl2) для получения информации о том, откуда берется фильтр.2693Позвольте изолированным командам подключаться к любым Unix-сокетам. На Linux и WSL2 [seccomp filter](/docs/ru/sandboxing#set-up-linux-and-wsl2) песочницы блокирует вызовы `socket(AF_UNIX, ...)`, поэтому это единственный способ разрешить там Unix-сокеты. Когда фильтр отсутствует, о чём `/sandbox` сообщает на вкладке Dependencies, песочница не блокирует вызовы Unix-сокетов. См. [Set up Linux and WSL2](/docs/ru/sandboxing#set-up-linux-and-wsl2), чтобы узнать, откуда берётся фильтр.

2674 2694 

2675* **Scope**: [`Any file`](#scopes)2695* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox)

2676* **Type**: Boolean2696* **Type**: Boolean

2677 * `true`: изолированные команды могут подключаться к каждому Unix-сокету2697 * `true`: изолированные команды могут подключаться к любым Unix-сокетам

2678 * `false`: песочница блокирует подключения Unix-сокетов: на macOS, кроме путей в `allowUnixSockets`, и на Linux и WSL2 через фильтр seccomp, когда он присутствует2698 * `false`: песочница блокирует подключения к Unix-сокетам: на macOS — кроме путей в `allowUnixSockets`, а на Linux и WSL2 — через фильтр seccomp, если он присутствует

2679* **Default**: `false`2699* **Default**: `false`

2680 2700 

2681```json settings.json theme={null}2701```json settings.json theme={null}


2688}2708}

2689```2709```

2690 2710 

2691На WSL2 `true` также повторно открывает сокет interop, который запускает двоичные файлы Windows, такие как `cmd.exe` и `powershell.exe`.2711На WSL2 `true` также снова открывает сокет interop, который запускает двоичные файлы Windows, такие как `cmd.exe` и `powershell.exe`.

2692 2712 

2693<h3 id="sandbox-network-allowlocalbinding">2713<h3 id="sandbox-network-allowlocalbinding">

2694 `sandbox.network.allowLocalBinding`2714 `sandbox.network.allowLocalBinding`

2695</h3>2715</h3>

2696 2716 

2697Позвольте изолированным командам привязываться к портам localhost на macOS, например, для запуска сервера разработки.2717Позвольте изолированным командам на macOS прослушивать сетевые порты, например для запуска сервера разработки, и подключаться к любому порту на localhost. Команда, которая прослушивает адрес, отличный от loopback, принимает подключения с других машин. Ключ не действует на Linux и WSL2, где у каждой изолированной команды есть собственный интерфейс loopback. Чтобы обратиться к серверу на хосте из Linux или WSL2, см. [A command fails to reach a server on localhost](/docs/ru/sandboxing#a-command-fails-to-reach-a-server-on-localhost).

2698 2718 

2699* **Scope**: [`Any file`](#scopes)2719* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox)

2700* **Type**: Boolean2720* **Type**: Boolean

2701 * `true`: изолированные команды могут привязываться к портам localhost на macOS2721 * `true`: изолированные команды на macOS могут прослушивать любой локальный адрес и подключаться к любому порту на localhost

2702 * `false`: изолированные команды на macOS не могут привязываться к портам localhost2722 * `false`: изолированные команды на macOS не могут прослушивать порт или напрямую подключаться к серверам на localhost

2703* **Default**: `false`2723* **Default**: `false`

2704 2724 

2705```json settings.json theme={null}2725```json settings.json theme={null}


2716 `sandbox.network.allowMachLookup`2736 `sandbox.network.allowMachLookup`

2717</h3>2737</h3>

2718 2738 

2719Перечислите дополнительные имена служб XPC и Mach, которые песочница macOS может искать. Инструменты, которые взаимодействуют через XPC, такие как iOS Simulator или Playwright, нуждаются в своих услугах, перечисленных здесь.2739Перечислите дополнительные имена служб XPC и Mach, которые может искать песочница macOS. Инструментам, взаимодействующим через XPC, таким как iOS Simulator или Playwright, нужно, чтобы их службы были перечислены здесь.

2720 2740 

2721* **Scope**: [`Any file`](#scopes)2741* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox)

2722* **Type**: array of strings, each a service name; a single trailing `*` matches a prefix, and `"*"` alone matches every service2742* **Type**: array of strings, each a service name; a single trailing `*` matches a prefix, and `"*"` alone matches every service

2723* **Default**: не установлено2743* **Default**: не установлено

2724 2744 

2725Это разрешает каждую услугу под префиксом `com.apple.coresimulator.`:2745Это разрешает все службы с префиксом `com.apple.coresimulator.`:

2726 2746 

2727```json settings.json theme={null}2747```json settings.json theme={null}

2728{2748{


2738 `sandbox.network.allowedDomains`2758 `sandbox.network.allowedDomains`

2739</h3>2759</h3>

2740 2760 

2741Предварительно разрешите домены для исходящего трафика из изолированных команд, чтобы песочница не запрашивала их. Подстановки, такие как `*.example.com`, совпадают с поддоменами, и опциональный суффикс `:port` ограничивает запись одним портом; запись без порта совпадает с каждым портом.2761Заранее разрешите домены для исходящего трафика изолированных команд, чтобы песочница не запрашивала для них разрешение. Подстановки, такие как `*.example.com`, совпадают с поддоменами, а необязательный суффикс `:port` ограничивает запись одним портом; запись без порта совпадает с любым портом.

2742 2762 

2743* **Scope**: [`Any file`](#scopes). Только управляемые параметры, когда установлен [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly).2763* **Scope**: [`Any file`](#scopes), с [ограничениями для настроек проекта и локальных настроек](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox). Только управляемые настройки, когда установлен [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly).

2744* **Type**: array of strings, each a domain, wildcard pattern, or IP literal, with an optional `:port` suffix2764* **Type**: array of strings, each a domain, wildcard pattern, or IP literal, with an optional `:port` suffix

2745* **Default**: не установлено, поэтому песочница запрашивает первый раз, когда команда достигает нового хоста2765* **Default**: не установлено, поэтому ваш режим разрешений определяет, [что происходит с каждым новым хостом](/docs/ru/sandboxing#hosts-outside-your-allowed-domains)

2746 2766 

2747Это предварительно разрешает GitHub на каждом порту, каждый поддомен npm и один хост API только на порту 443:2767Это заранее разрешает GitHub на любом порту, все поддомены npm и один хост API только на порту 443:

2748 2768 

2749```json settings.json theme={null}2769```json settings.json theme={null}

2750{2770{


2756}2776}

2757```2777```

2758 2778 

2759Напишите литералы IPv6 в скобках, с опциональным портом: `"[::1]"` разрешает каждый порт и `"[::1]:443"` один порт. Форма в скобках требует Claude Code v2.1.229 или позже. См. [IPv6 addresses in domain lists](/docs/ru/sandboxing#ipv6-addresses-in-domain-lists).2779Записывайте IPv6-литералы в скобках, с необязательным портом: `"[::1]"` разрешает любой порт, а `"[::1]:443"` — один порт. Форма со скобками требует Claude Code v2.1.229 или более поздней версии. См. [IPv6 addresses in domain lists](/docs/ru/sandboxing#ipv6-addresses-in-domain-lists).

2760 2780 

2761<h3 id="sandbox-network-denieddomains">2781<h3 id="sandbox-network-denieddomains">

2762 `sandbox.network.deniedDomains`2782 `sandbox.network.deniedDomains`

2763</h3>2783</h3>

2764 2784 

2765Заблокируйте домены для исходящего трафика из изолированных команд, используя тот же синтаксис подстановки, порта и IPv6, что и [`allowedDomains`](#sandbox-network-alloweddomains). Запрещенный домен остается заблокированным даже когда запись `allowedDomains` также совпадает с ним.2785Заблокируйте домены для исходящего трафика изолированных команд, используя тот же синтаксис подстановок, портов и IPv6, что и [`allowedDomains`](#sandbox-network-alloweddomains). Запрещённый домен остаётся заблокированным, даже когда с ним также совпадает запись `allowedDomains`.

2766 2786 

2767* **Scope**: [`Any file`](#scopes)2787* **Scope**: [`Any file`](#scopes)

2768* **Type**: array of strings, each a domain, wildcard pattern, or IP literal, with an optional `:port` suffix2788* **Type**: array of strings, each a domain, wildcard pattern, or IP literal, with an optional `:port` suffix


2778}2798}

2779```2799```

2780 2800 

2781Claude Code объединяет этот список из каждого источника параметров, который загружает сеанс, даже когда установлен `allowManagedDomainsOnly`, поэтому разработчик всегда может затянуть список отказа. Для литералов IPv6 см. [IPv6 addresses in domain lists](/docs/ru/sandboxing#ipv6-addresses-in-domain-lists).2801Claude Code объединяет этот список из всех источников настроек, которые загружает сессия, даже когда установлен `allowManagedDomainsOnly`, поэтому разработчик всегда может ужесточить список запрещённых доменов. Для IPv6-литералов см. [IPv6 addresses in domain lists](/docs/ru/sandboxing#ipv6-addresses-in-domain-lists).

2782 2802 

2783Запись, написанная с конечной точкой, которая отмечает полностью квалифицированное доменное имя, такая как `example.com.`, блокирует те же подключения, что и `example.com`.2803Запись с конечной точкой, которая обозначает полностью определённое доменное имя, например `example.com.`, блокирует те же подключения, что и `example.com`.

2784 2804 

2785<h3 id="sandbox-network-strictallowlist">2805<h3 id="sandbox-network-strictallowlist">

2786 `sandbox.network.strictAllowlist`2806 `sandbox.network.strictAllowlist`

2787</h3>2807</h3>

2788 2808 

2789Запретите изолированным командам доступ к хостам вне списка разрешений вместо запроса одобрения. Список разрешений — это [`allowedDomains`](#sandbox-network-alloweddomains) плюс домены из правил `WebFetch(domain:...)` allow, или только записи управляемых параметров, когда установлен [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly). Требует Claude Code v2.1.219 или позже.2809Запретите изолированным командам доступ к хостам вне списка разрешённых доменов вместо запроса подтверждения. Список разрешённых доменов — это [`allowedDomains`](#sandbox-network-alloweddomains) плюс домены из правил `WebFetch(domain:...)` allow, или только записи управляемых настроек, когда установлен [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly). [Locks that apply without an admin-required sandbox](/docs/ru/sandboxing#locks-that-apply-without-an-admin-required-sandbox) описывает записи репозитория. Требует Claude Code v2.1.219 или более поздней версии.

2790 2810 

2791* **Scope**: [`User or managed`](#scopes). Репозиторий не может его включить или отключить.2811* **Scope**: [`User or managed`](#scopes). Репозиторий не может его включить или отключить.

2792* **Type**: Boolean2812* **Type**: Boolean

2793 * `true`: Claude Code запрещает изолированным командам доступ к хостам вне списка разрешений2813 * `true`: Claude Code запрещает изолированным командам доступ к хостам вне списка разрешённых доменов

2794 * `false`: если другой доверенный файл параметров не установит `true`, Claude Code решает хост вне списка разрешений по режиму разрешения вместо прямого отказа: в режиме auto он проверяет хост против [per-command allowed domains](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode) команды, в режиме `dontAsk` отказывает, в режиме `bypassPermissions` и в интерактивных сеансах режима плана терминала, где доступен обход, разрешает, и в противном случае спрашивает вас2814 * `false`: если другой доверенный файл настроек не устанавливает `true`, Claude Code решает судьбу хоста вне списка разрешённых доменов в зависимости от режима разрешений, а не отказывает сразу: в авторежиме он проверяет хост по [per-command allowed domains](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode) команды, в режиме `dontAsk` отказывает, в режиме `bypassPermissions` и в интерактивных терминальных сессиях режима планирования, где доступен обход, разрешает, а в остальных случаях спрашивает вас

2795* **Default**: `false`2815* **Default**: `false`

2796 2816 

2797```json settings.json theme={null}2817```json settings.json theme={null}


2804}2824}

2805```2825```

2806 2826 

2807Claude Code применяет это только для изолированных команд; встроенные инструменты, такие как `WebFetch`, по-прежнему следуют своим [permission rules](/docs/ru/sandboxing#permission-rules). Когда любой из соблюдаемых источников установит это на `true`, оно остается включенным. См. [Network isolation](/docs/ru/sandboxing#network-isolation). Требует Claude Code v2.1.219 или позже.2827Claude Code применяет это только к изолированным командам; внутрипроцессные инструменты, такие как `WebFetch`, по-прежнему следуют своим [permission rules](/docs/ru/sandboxing#permission-rules). Когда любой из учитываемых источников устанавливает значение `true`, оно остаётся включённым. См. [Network isolation](/docs/ru/sandboxing#network-isolation). Требует Claude Code v2.1.219 или более поздней версии.

2808 2828 

2809<h3 id="sandbox-network-allowmanageddomainsonly">2829<h3 id="sandbox-network-allowmanageddomainsonly">

2810 `sandbox.network.allowManagedDomainsOnly`2830 `sandbox.network.allowManagedDomainsOnly`

2811</h3>2831</h3>

2812 2832 

2813Заблокируйте список разрешений сети на то, что определяют управляемые параметры. Claude Code затем соблюдает только `allowedDomains` и правила `WebFetch(domain:...)` allow из управляемых параметров, игнорирует домены из параметров пользователя, проекта, локальных и `--settings`, и автоматически блокирует домен, не разрешенный, вместо запроса.2833Ограничьте сетевой список разрешённых доменов тем, что определяют управляемые настройки. Тогда Claude Code учитывает только `allowedDomains` и правила `WebFetch(domain:...)` allow из управляемых настроек, игнорирует домены из пользовательских, проектных, локальных настроек и `--settings` и автоматически блокирует неразрешённый домен вместо запроса.

2814 2834 

2815* **Scope**: [`Managed`](#scopes)2835* **Scope**: [`Managed`](#scopes)

2816* **Type**: Boolean2836* **Type**: Boolean

2817 * `true`: Claude Code соблюдает только `allowedDomains` и правила `WebFetch(domain:...)` allow из управляемых параметров и блокирует домен, не разрешенный, вместо запроса2837 * `true`: Claude Code учитывает только `allowedDomains` и правила `WebFetch(domain:...)` allow из управляемых настроек и блокирует неразрешённый домен вместо запроса

2818 * `false`: домены из параметров пользователя, проекта, локальных и `--settings` объединяются в список разрешений2838 * `false`: домены из других файлов настроек могут объединяться в список разрешённых доменов

2819* **Default**: `false`2839* **Default**: `false`

2820 2840 

2821Это блокирует список разрешений на GitHub и npm и игнорирует любые домены, которые добавляют разработчики:2841Это ограничивает список разрешённых доменов GitHub и npm и игнорирует любые домены, которые добавляют разработчики:

2822 2842 

2823```json managed-settings.json theme={null}2843```json managed-settings.json theme={null}

2824{2844{


2831}2851}

2832```2852```

2833 2853 

2834Запрещенные домены по-прежнему объединяются из каждого источника, который загружает сеанс. См. [Keep developers from widening the policy](/docs/ru/sandboxing#keep-developers-from-widening-the-policy).2854Пока ключ имеет значение `true`, песочница является [обязательной по требованию администратора](/docs/ru/sandboxing#repository-settings-under-an-admin-required-sandbox), и только управляемые настройки могут задать [порт прокси](#sandbox-network-httpproxyport).

2855 

2856Запрещённые домены по-прежнему объединяются из всех источников, которые загружает сессия. См. [Keep developers from widening the policy](/docs/ru/sandboxing#keep-developers-from-widening-the-policy).

2835 2857 

2836<h3 id="sandbox-network-httpproxyport">2858<h3 id="sandbox-network-httpproxyport">

2837 `sandbox.network.httpProxyPort`2859 `sandbox.network.httpProxyPort`

2838</h3>2860</h3>

2839 2861 

2840Укажите песочнице на ваш собственный HTTP-прокси вместо того, который запускает Claude Code. Организации делают это для проверки трафика HTTPS, применения своих собственных правил фильтрации или регистрации каждого запроса. Когда не установлено, Claude Code запускает свой собственный прокси для трафика HTTP.2862Укажите песочнице ваш собственный HTTP-прокси вместо того, который запускает Claude Code. Организации делают это, чтобы проверять HTTPS-трафик, применять собственные правила фильтрации или записывать запросы в лог. Ваш прокси берёт на себя фильтрацию, и Claude Code перестаёт применять свои списки доменов и сетевые запросы разрешений к трафику, отправляемому туда. Если не установлено, Claude Code запускает собственный прокси для HTTP-трафика.

2841 2863 

2842* **Scope**: [`Any file`](#scopes)2864* **Scope**: [`Any file`](#scopes), если [другие настройки песочницы не ограничивают, какие файлы могут задавать порт](/docs/ru/sandboxing#custom-proxy-configuration)

2843* **Type**: number, a local TCP port2865* **Type**: number, a local TCP port

2844* **Default**: не установлено, поэтому Claude Code запускает свой собственный прокси2866* **Default**: не установлено, поэтому Claude Code запускает собственный прокси

2845 2867 

2846```json settings.json theme={null}2868```json settings.json theme={null}

2847{2869{


2853}2875}

2854```2876```

2855 2877 

2856Также установите [`socksProxyPort`](#sandbox-network-socksproxyport), если ваш прокси должен переносить трафик SOCKS; с установленным только одним из двух, Claude Code по-прежнему запускает свой собственный прокси для другого протокола. См. [Custom proxy configuration](/docs/ru/sandboxing#custom-proxy-configuration).2878Также установите [`socksProxyPort`](#sandbox-network-socksproxyport), если ваш прокси должен обрабатывать и SOCKS-трафик; если установлен только один из двух, Claude Code по-прежнему запускает собственный прокси для другого протокола. См. [Custom proxy configuration](/docs/ru/sandboxing#custom-proxy-configuration).

2857 2879 

2858<h3 id="sandbox-network-socksproxyport">2880<h3 id="sandbox-network-socksproxyport">

2859 `sandbox.network.socksProxyPort`2881 `sandbox.network.socksProxyPort`

2860</h3>2882</h3>

2861 2883 

2862Укажите песочнице на ваш собственный прокси SOCKS5 вместо того, который запускает Claude Code. Когда не установлено, Claude Code запускает свой собственный прокси для трафика SOCKS.2884Укажите песочнице ваш собственный SOCKS5-прокси вместо того, который запускает Claude Code. Ваш прокси берёт на себя фильтрацию, и Claude Code перестаёт применять свои списки доменов и сетевые запросы разрешений к трафику, отправляемому туда. Если не установлено, Claude Code запускает собственный прокси для SOCKS-трафика.

2863 2885 

2864* **Scope**: [`Any file`](#scopes)2886* **Scope**: [`Any file`](#scopes), если [другие настройки песочницы не ограничивают, какие файлы могут задавать порт](/docs/ru/sandboxing#custom-proxy-configuration)

2865* **Type**: number, a local TCP port2887* **Type**: number, a local TCP port

2866* **Default**: не установлено, поэтому Claude Code запускает свой собственный прокси2888* **Default**: не установлено, поэтому Claude Code запускает собственный прокси

2867 2889 

2868```json settings.json theme={null}2890```json settings.json theme={null}

2869{2891{


2881 `sandbox.network.tlsTerminate`2903 `sandbox.network.tlsTerminate`

2882</h3>2904</h3>

2883 2905 

2884Заставьте прокси песочницы завершить TLS, чтобы он мог читать содержимое HTTPS-запросов. Это экспериментально, и подстановка [credential substitution](/docs/ru/sandboxing#mask-credentials) `mask` требует это. Установите `{}` для создания эфемерного центра сертификации для сеанса или установите `caCertPath` и `caKeyPath` для использования вашего собственного.2906Заставьте прокси песочницы терминировать TLS, чтобы он мог читать содержимое HTTPS-запросов. Это экспериментальная функция, и она необходима для [credential substitution](/docs/ru/sandboxing#mask-credentials) `mask`. Установите `{}`, чтобы создать эфемерный центр сертификации для сессии, или установите `caCertPath` и `caKeyPath`, чтобы использовать собственный.

2885 2907 

2886* **Scope**: [`User or managed`](#scopes). Репозиторий не может его включить или предоставить центр сертификации.2908* **Scope**: [`User or managed`](#scopes). Репозиторий не может её включить или предоставить центр сертификации.

2887* **Type**: object с опциональными строками `caCertPath` и `caKeyPath`, каждая путь файла2909* **Type**: object с необязательными строками `caCertPath` и `caKeyPath`, каждая из которых — путь к файлу

2888* **Default**: не установлено, поэтому прокси не завершает или не проверяет TLS2910* **Default**: не установлено, поэтому прокси не терминирует и не проверяет TLS

2889 2911 

2890```json settings.json theme={null}2912```json settings.json theme={null}

2891{2913{


2897}2919}

2898```2920```

2899 2921 

2900Когда более одного соблюдаемого источника это установит, Claude Code использует значение из источника с наивысшим приоритетом: управляемые параметры, затем флаг `--settings`, затем параметры пользователя. Требует Claude Code v2.1.199 или позже.2922Когда её устанавливают несколько учитываемых источников, Claude Code использует значение из источника с наивысшим приоритетом: управляемые настройки, затем флаг `--settings`, затем пользовательские настройки. Требует Claude Code v2.1.199 или более поздней версии.

2901 2923 

2902<span id="context-and-memory" />2924<span id="context-and-memory" />

2903 2925 


4258<span id="hook-and-skill-settings" />4280<span id="hook-and-skill-settings" />

4259 4281 

4260<h2 id="hooks-and-automation">4282<h2 id="hooks-and-automation">

4261 Hooks и автоматизация4283 Хуки и автоматизация

4262</h2>4284</h2>

4263 4285 

4264Регистрируйте hooks, ограничивайте, какие hooks запускаются, и управляйте рабочими процессами. Для событий hooks и полезных нагрузок см. [справочник hooks](/docs/ru/hooks).4286Регистрируйте хуки, ограничивайте, какие хуки запускаются, и управляйте рабочими процессами. События хуков и их данные описаны в [справочнике хуков](/docs/ru/hooks).

4265 4287 

4266<h3 id="allowedhttphookurls">4288<h3 id="allowedhttphookurls">

4267 `allowedHttpHookUrls`4289 `allowedHttpHookUrls`

4268</h3>4290</h3>

4269 4291 

4270Ограничьте, какие URL-адреса могут быть целью [HTTP hooks](/docs/ru/hooks#http-hook-fields). Когда вы определяете этот ключ, Claude Code запускает HTTP hook только если его URL соответствует одному из шаблонов и блокирует остальные без их запуска; пустой массив блокирует каждый HTTP hook.4292Ограничьте, какие URL-адреса могут быть целью [HTTP-хуков](/docs/ru/hooks#http-hook-fields). Когда вы определяете этот ключ, Claude Code запускает HTTP-хук, только если его URL соответствует одному из шаблонов, а остальные блокирует без запуска; пустой массив блокирует каждый HTTP-хук.

4271 4293 

4272* **Область действия**: [`Any file`](#scopes). Массивы объединяются в файлах параметров.4294* **Область действия**: [`Any file`](#scopes). Массивы объединяются между файлами настроек.

4273* **Тип**: массив шаблонов URL-адресов с `*` в качестве подстановочного символа4295* **Тип**: массив шаблонов URL-адресов с `*` в качестве подстановочного символа

4274* **По умолчанию**: не установлено, поэтому разрешены любые URL-адреса4296* **По умолчанию**: не установлено, поэтому разрешены любые URL-адреса

4275 4297 


4281}4303}

4282```4304```

4283 4305 

4284Сопоставление имён хостов не зависит от регистра и рассматривает `hooks.example.com.` с конечной точкой, которая обозначает полное доменное имя, так же, как `hooks.example.com`, что соответствует тому, как это делает DNS. Список разрешений применяется к hooks из каждого источника, включая управляемые параметры.4306Сопоставление имён хостов не зависит от регистра и рассматривает `hooks.example.com.` с конечной точкой, которая обозначает полное доменное имя, так же, как `hooks.example.com`, что соответствует тому, как это делает DNS. Список разрешённых URL-адресов применяется к хукам из каждого источника, включая управляемые настройки.

4285 4307 

4286<h3 id="allowmanagedhooksonly">4308<h3 id="allowmanagedhooksonly">

4287 `allowManagedHooksOnly`4309 `allowManagedHooksOnly`

4288</h3>4310</h3>

4289 4311 

4290Ограничьте выполнение hooks только hooks, которые развёртывает ваша организация.4312Ограничьте выполнение хуков только хуками, которые развёртывает ваша организация.

4291 4313 

4292* **Область действия**: [`Managed`](#scopes)4314* **Область действия**: [`Managed`](#scopes)

4293* **Тип**: Boolean4315* **Тип**: Boolean

4294 * `true`: запускаются только управляемые hooks, плюс hooks Agent SDK и hooks из плагинов, которые ваши управляемые параметры принудительно включают. См. [Что запускается под `allowManagedHooksOnly`](#what-runs-under-allowmanagedhooksonly)4316 * `true`: запускаются только управляемые хуки, а также хуки Agent SDK и хуки из плагинов, которые ваши управляемые настройки принудительно включают. См. [Что запускается при `allowManagedHooksOnly`](#what-runs-under-allowmanagedhooksonly)

4295 * `false`: запускаются hooks из каждой области параметров и плагинов4317 * `false`: запускаются хуки из всех областей действия настроек и всех плагинов

4296* **По умолчанию**: не установлено, поэтому запускаются hooks из каждой области параметров и плагинов4318* **По умолчанию**: не установлено, поэтому запускаются хуки из всех областей действия настроек и всех плагинов

4297 4319 

4298```json managed-settings.json theme={null}4320```json managed-settings.json theme={null}

4299{4321{


4302```4324```

4303 4325 

4304<h4 id="what-runs-under-allowmanagedhooksonly">4326<h4 id="what-runs-under-allowmanagedhooksonly">

4305 Что запускается под `allowManagedHooksOnly`4327 Что запускается при `allowManagedHooksOnly`

4306</h4>4328</h4>

4307 4329 

4308Когда вы устанавливаете это значение в `true`, Claude Code изменяет, какие hooks и похожие на hooks команды загружаются:4330Когда вы устанавливаете это значение в `true`, Claude Code изменяет, какие хуки и похожие на хуки команды загружаются:

4309 4331 

4310* **Запускаются управляемые и SDK hooks**: hooks из управляемых параметров и hooks, которые [Agent SDK](/docs/ru/agent-sdk/overview) регистрирует в процессе4332* **Запускаются управляемые хуки и хуки 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)4333* **Запускаются хуки принудительно включённых плагинов**: хуки из плагинов, которые ваши управляемые настройки принудительно включают через [`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).4334* **Всё остальное блокируется**: пользовательские, проектные и локальные хуки, хуки и 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`4335* **Плагины с источником-командой отключаются**: 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 или позже4336* **Команды `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)4337* **Строка состояния и предложение файлов ограничиваются управляемыми настройками**: Claude Code читает [`statusLine`](/docs/ru/statusline), [`fileSuggestion`](#filesuggestion) и [`subagentStatusLine`](/docs/ru/statusline#subagent-status-lines) только из управляемых настроек, следуя [правилам для строки состояния и предложения файлов](#status-line-and-file-suggestion-gates)

4316 4338 

4317Команда [`/goal`](/docs/ru/goal) не может запуститься, пока этот ключ установлен, потому что она зависит от hooks.4339Команда [`/goal`](/docs/ru/goal) не может запуститься, пока этот ключ установлен, потому что она зависит от хуков.

4318 4340 

4319<h3 id="disableallhooks">4341<h3 id="disableallhooks">

4320 `disableAllHooks`4342 `disableAllHooks`

4321</h3>4343</h3>

4322 4344 

4323Отключите [hooks](/docs/ru/hooks#disable-or-remove-hooks), любую пользовательскую [строку состояния](/docs/ru/statusline) и любую пользовательскую команду [предложения файла](#filesuggestion). Используйте это, чтобы временно отключить все эти элементы без удаления их из ваших параметров.4345Отключите [хуки](/docs/ru/hooks#disable-or-remove-hooks), любую пользовательскую [строку состояния](/docs/ru/statusline) и любую пользовательскую команду [предложения файлов](#filesuggestion). Используйте это, чтобы временно отключить всё это, не удаляя из ваших настроек.

4324 4346 

4325* **Область действия**: [`Any file`](#scopes). Только управляемые параметры могут отключать управляемые hooks.4347* **Область действия**: [`Any file`](#scopes). Только управляемые настройки могут отключать управляемые хуки.

4326* **Тип**: Boolean4348* **Тип**: Boolean

4327 * `true`: Claude Code отключает hooks, любую пользовательскую строку состояния и любую пользовательскую команду предложения файла4349 * `true`: Claude Code отключает хуки, любую пользовательскую строку состояния и любую пользовательскую команду предложения файлов

4328 * `false`: запускаются hooks, строка состояния и команда предложения файла4350 * `false`: хуки, строка состояния и команда предложения файлов запускаются

4329* **По умолчанию**: не установлено, поэтому запускаются hooks4351* **По умолчанию**: не установлено, поэтому хуки запускаются

4330 4352 

4331```json settings.json theme={null}4353```json settings.json theme={null}

4332{4354{


4334}4356}

4335```4357```

4336 4358 

4337Охват зависит от того, какой файл содержит ключ:4359Охват зависит от того, в каком файле находится ключ:

4338 4360 

4339* **В управляемых параметрах**: Claude Code отключает каждый настроенный hook, включая управляемые, и продолжает запускать hooks, которые [Agent SDK](/docs/ru/agent-sdk/overview) регистрирует в процессе4361* **В управляемых настройках**: Claude Code отключает каждый настроенный хук, включая управляемые, и продолжает запускать хуки, которые [Agent SDK](/docs/ru/agent-sdk/overview) регистрирует в процессе

4340* **В любом другом файле параметров**: Claude Code отключает пользовательские, проектные, локальные и плагины hooks; управляемые hooks, hooks Agent SDK и hooks из плагинов, принудительно включённых в управляемых [`enabledPlugins`](#enabledplugins), продолжают запускаться4362* **В любом другом файле настроек**: Claude Code отключает пользовательские, проектные, локальные хуки и хуки плагинов; управляемые хуки, хуки Agent SDK и хуки из плагинов, принудительно включённых в управляемых [`enabledPlugins`](#enabledplugins), продолжают запускаться

4341 4363 

4342Сохранение запуска hooks Agent SDK, когда управляемые параметры устанавливают этот ключ, требует Claude Code v2.1.242 или позже.4364Ключ также останавливает [mods](/docs/ru/plugins/mods/overview) — плагины, код которых регистрирует хуки:

4343 4365 

4344Команда [`/goal`](/docs/ru/goal) не может запуститься, пока hooks отключены, и меню `/hooks` показывает уведомление вместо ваших hooks.4366* **В управляемых настройках**: останавливаются mods во всех установленных плагинах, включая mods вашей организации

4367* **В любом другом файле настроек**: останавливаются установленные вами mods, а [mods вашей организации](/docs/ru/plugins/mods/admin#install-your-organizations-mods) продолжают работать

4368 

4369Mods, встроенные в Claude Code, продолжают работать в обоих случаях. У каждого из них есть [собственный переключатель](/docs/ru/plugins/mods/overview#mods-built-into-claude-code).

4370 

4371Чтобы хуки Agent SDK продолжали запускаться, когда этот ключ задан в управляемых настройках, требуется Claude Code v2.1.242 или новее.

4372 

4373Команда [`/goal`](/docs/ru/goal) не может запуститься, пока хуки отключены, а меню `/hooks` показывает уведомление вместо ваших хуков.

4345 4374 

4346<h4 id="status-line-and-file-suggestion-gates">4375<h4 id="status-line-and-file-suggestion-gates">

4347 Шлюзы строки состояния и предложения файла4376 Правила для строки состояния и предложения файлов

4348</h4>4377</h4>

4349 4378 

4350Claude Code принимает два решения для `statusLine`, `fileSuggestion` и `subagentStatusLine` в этом порядке:4379Claude Code принимает два решения для `statusLine`, `fileSuggestion` и `subagentStatusLine` в следующем порядке:

4351 4380 

4352* **Полностью отключено**: когда управляемые параметры устанавливают `disableAllHooks`, или когда папка не является доверенной в соответствии с тем же [правилом доверия рабочей области, что и hooks в файлах параметров](/docs/ru/permissions#what-runs-before-you-trust-a-folder)4381* **Полностью отключено**: когда управляемые настройки устанавливают `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`4382* **Ограничено управляемыми настройками**: когда установлен [`allowManagedHooksOnly`](#allowmanagedhooksonly), когда `disableAllHooks` имеет значение `true` вне управляемых настроек после применения [приоритета настроек](/docs/ru/hooks#disable-or-remove-hooks) или когда вы запускаете Claude Code с `--safe-mode`

4354 4383 

4355При сужении Claude Code запускает управляемое значение, если оно развёрнуто. В противном случае он пропускает ваше значение без предупреждения: строка состояния отключена, и автодополнение `@` возвращается к встроенному предложению файла.4384При ограничении Claude Code использует управляемое значение, если оно развёрнуто. В противном случае он без предупреждения пропускает ваше значение: строка состояния отключается, а автодополнение `@` возвращается к встроенному предложению файлов.

4356 4385 

4357<h3 id="disableworkflows">4386<h3 id="disableworkflows">

4358 `disableWorkflows`4387 `disableWorkflows`

4359</h3>4388</h3>

4360 4389 

4361Отключите [динамические рабочие процессы](/docs/ru/workflows#turn-workflows-off) и встроенные команды рабочих процессов для всех, кого охватывают ваши параметры, например организацию через управляемые параметры. Чтобы включить или отключить рабочие процессы только для себя, используйте вместо этого [`enableWorkflows`](#enableworkflows), который переключатель **Dynamic workflows** в `/config` записывает в ваши пользовательские параметры.4390Отключите [динамические рабочие процессы](/docs/ru/workflows#turn-workflows-off) и встроенные команды рабочих процессов для всех, на кого распространяются ваши настройки, например для организации через управляемые настройки. Чтобы включить или отключить рабочие процессы только для себя, используйте вместо этого [`enableWorkflows`](#enableworkflows), который переключатель **Dynamic workflows** в `/config` записывает в ваши пользовательские настройки.

4362 4391 

4363* **Область действия**: [`Any file`](#scopes)4392* **Область действия**: [`Any file`](#scopes)

4364* **Тип**: Boolean4393* **Тип**: Boolean

4365 * `true`: Claude Code отключает динамические рабочие процессы и встроенные команды рабочих процессов для всех, кого охватывают ваши параметры4394 * `true`: Claude Code отключает динамические рабочие процессы и встроенные команды рабочих процессов для всех, на кого распространяются ваши настройки

4366 * `false`: то же самое, что и не установлено; включены ли рабочие процессы, затем следует [`enableWorkflows`](#enableworkflows) и значение по умолчанию вашего плана4395 * `false`: то же, что и отсутствие значения; включены ли рабочие процессы, тогда определяется [`enableWorkflows`](#enableworkflows) и значением по умолчанию вашего плана

4367* **По умолчанию**: `false`4396* **По умолчанию**: `false`

4368* **Переопределения для каждой сессии**: [`CLAUDE_CODE_DISABLE_WORKFLOWS`](/docs/ru/env-vars) отключает рабочие процессы на одну сессию; какой бы из двух их ни отключил, другой не может их включить обратно4397* **Переопределения для отдельной сессии**: [`CLAUDE_CODE_DISABLE_WORKFLOWS`](/docs/ru/env-vars) отключает рабочие процессы на одну сессию; какой бы из двух механизмов их ни отключил, другой не может включить их обратно

4369 4398 

4370```json settings.json theme={null}4399```json settings.json theme={null}

4371{4400{


4377 `enableWorkflows`4406 `enableWorkflows`

4378</h3>4407</h3>

4379 4408 

4380Включите или отключите [динамические рабочие процессы](/docs/ru/workflows) для себя, когда значение по умолчанию вашего плана не соответствует вашим требованиям. Отображается в `/config` как **Dynamic workflows**, который записывает этот ключ в ваши пользовательские параметры и удаляет его снова, когда вы переключаетесь обратно на значение по умолчанию вашего плана. Чтобы отключить рабочие процессы для всех из управляемых параметров, используйте вместо этого [`disableWorkflows`](#disableworkflows).4409Включите или отключите [динамические рабочие процессы](/docs/ru/workflows) для себя, когда значение по умолчанию вашего плана вам не подходит. Отображается в `/config` как **Dynamic workflows**; этот переключатель записывает ключ в ваши пользовательские настройки и снова удаляет его, когда вы возвращаетесь к значению по умолчанию вашего плана. Чтобы отключить рабочие процессы для всех через управляемые настройки, используйте вместо этого [`disableWorkflows`](#disableworkflows).

4381 4410 

4382* **Область действия**: [`Any file`](#scopes)4411* **Область действия**: [`Any file`](#scopes)

4383* **Тип**: Boolean4412* **Тип**: Boolean

4384 * `true`: Claude Code включает динамические рабочие процессы для вас4413 * `true`: Claude Code включает для вас динамические рабочие процессы

4385 * `false`: Claude Code отключает динамические рабочие процессы для вас4414 * `false`: Claude Code отключает для вас динамические рабочие процессы

4386* **По умолчанию**: не установлено, поэтому рабочие процессы включены, если вы не находитесь на плане Pro, где они отключены4415* **По умолчанию**: не установлено, поэтому рабочие процессы включены, если только вы не на плане Pro, где они отключены

4387* **Переопределения для каждой сессии**: [`CLAUDE_CODE_DISABLE_WORKFLOWS`](/docs/ru/env-vars) отключает рабочие процессы на одну сессию, и `true` здесь не может включить их обратно, пока это установлено4416* **Переопределения для отдельной сессии**: [`CLAUDE_CODE_DISABLE_WORKFLOWS`](/docs/ru/env-vars) отключает рабочие процессы на одну сессию, и значение `true` здесь не может включить их обратно, пока эта переменная установлена

4388 4417 

4389```json settings.json theme={null}4418```json settings.json theme={null}

4390{4419{


4392}4421}

4393```4422```

4394 4423 

4395[`disableWorkflows`](#disableworkflows) и политика рабочих процессов вашей организации также имеют приоритет: `enableWorkflows: true` не может включить рабочие процессы обратно, пока какой-либо источник их отключает. Claude Code скрывает строку `/config`, пока источник, отличный от ваших пользовательских параметров, устанавливает `enableWorkflows`, или устанавливает `disableWorkflows` в `true`.4424[`disableWorkflows`](#disableworkflows) и политика рабочих процессов вашей организации также имеют приоритет: `enableWorkflows: true` не может включить рабочие процессы обратно, пока какой-либо источник их отключает. Claude Code скрывает строку в `/config`, пока источник, отличный от ваших пользовательских настроек, устанавливает `enableWorkflows` или устанавливает `disableWorkflows` в `true`.

4396 4425 

4397<h3 id="hooks">4426<h3 id="hooks">

4398 `hooks`4427 `hooks`

4399</h3>4428</h3>

4400 4429 

4401Запускайте свои собственные команды, подсказки, агентов, HTTP-запросы или MCP tools как [hooks](/docs/ru/hooks) в точках жизненного цикла Claude Code, например перед вызовом tool или при запуске сессии; [справочник hooks](/docs/ru/hooks#hook-events) перечисляет каждое событие, его полезную нагрузку и коды выхода. Каждое событие соответствует списку групп сопоставления, и каждая группа перечисляет обработчики для запуска, когда применяется сопоставление.4430Запускайте собственные команды, промпты, агентов, HTTP-запросы или инструменты MCP в качестве [хуков](/docs/ru/hooks) в определённых точках жизненного цикла Claude Code, например перед вызовом инструмента или при запуске сессии; в [справочнике хуков](/docs/ru/hooks#hook-events) перечислены все события, их данные и коды выхода. Каждое событие сопоставляется со списком групп matcher, и каждая группа перечисляет обработчики, которые запускаются, когда matcher срабатывает.

4402 4431 

4403* **Область действия**: [`Any file`](#scopes). Hooks объединяются в файлах, а не заменяют друг друга, и hooks из управляемых параметров не могут быть удалены из других файлов.4432* **Область действия**: [`Any file`](#scopes). Хуки из разных файлов объединяются, а не заменяют друг друга, и хуки из управляемых настроек нельзя удалить из других файлов.

4404* **Тип**: объект, ключи которого — [события hook](/docs/ru/hooks#hook-events); каждое значение — это массив групп `{ "matcher", "hooks" }`, чьи записи `hooks` имеют `type` из `"command"`, `"prompt"`, `"agent"`, `"http"` или `"mcp_tool"`4433* **Тип**: объект, ключами которого являются [события хуков](/docs/ru/hooks#hook-events); каждое значение — массив групп `{ "matcher", "hooks" }`, записи `hooks` которых имеют `type` со значением `"command"`, `"prompt"`, `"agent"`, `"http"` или `"mcp_tool"`

4405* **По умолчанию**: не установлено, поэтому hooks не запускаются4434* **По умолчанию**: не установлено, поэтому хуки не запускаются

4406 4435 

4407Этот пример запускает скрипт перед каждым вызовом tool Bash:4436Этот пример запускает скрипт перед каждым вызовом инструмента Bash:

4408 4437 

4409```json settings.json theme={null}4438```json settings.json theme={null}

4410{4439{


4421}4450}

4422```4451```

4423 4452 

4424Для каждого события, шаблона сопоставления и поля обработчика см. [справочник hooks](/docs/ru/hooks#configuration). Чтобы отключить hooks, см. [`disableAllHooks`](#disableallhooks); чтобы ограничить hooks только теми, которые развёртывает ваша организация, см. [`allowManagedHooksOnly`](#allowmanagedhooksonly).4453Описание всех событий, шаблонов matcher и полей обработчиков см. в [справочнике хуков](/docs/ru/hooks#configuration). Чтобы отключить хуки, см. [`disableAllHooks`](#disableallhooks); чтобы ограничить хуки только теми, которые развёртывает ваша организация, см. [`allowManagedHooksOnly`](#allowmanagedhooksonly).

4425 4454 

4426<h3 id="httphookallowedenvvars">4455<h3 id="httphookallowedenvvars">

4427 `httpHookAllowedEnvVars`4456 `httpHookAllowedEnvVars`

4428</h3>4457</h3>

4429 4458 

4430[HTTP hook](/docs/ru/hooks#http-hook-fields) может поместить значение переменной окружения в заголовок запроса, например заголовок `Authorization: Bearer $HOOK_TOKEN`, но только для переменных, которые hook перечисляет в своём собственном `allowedEnvVars`. Этот ключ устанавливает внешний предел для этого списка для каждого HTTP hook: hook может использовать переменную только если и его собственный `allowedEnvVars`, и этот ключ её называют. Используйте это, чтобы помешать hook читать секрет, который он не должен, даже когда определение hook просит его.4459[HTTP-хук](/docs/ru/hooks#http-hook-fields) может подставить значение переменной окружения в заголовок запроса, например в заголовок `Authorization: Bearer $HOOK_TOKEN`, но только для переменных, которые хук перечисляет в собственном `allowedEnvVars`. Этот ключ задаёт внешнее ограничение этого списка для каждого HTTP-хука: хук может использовать переменную, только если её называют и его собственный `allowedEnvVars`, и этот ключ. Используйте его, чтобы не дать хуку прочитать секрет, к которому у него не должно быть доступа, даже если определение хука его запрашивает.

4431 4460 

4432* **Область действия**: [`Any file`](#scopes). Массивы объединяются в файлах параметров.4461* **Область действия**: [`Any file`](#scopes). Массивы объединяются между файлами настроек.

4433* **Тип**: массив имён переменных окружения4462* **Тип**: массив имён переменных окружения

4434* **По умолчанию**: не установлено, поэтому применяется список `allowedEnvVars` каждого hook4463* **По умолчанию**: не установлено, поэтому применяется собственный список `allowedEnvVars` каждого хука

4435 4464 

4436Этот пример ограничивает интерполяцию заголовков до `MY_TOKEN` и `HOOK_SECRET`:4465Этот пример ограничивает подстановку в заголовки переменными `MY_TOKEN` и `HOOK_SECRET`:

4437 4466 

4438```json settings.json theme={null}4467```json settings.json theme={null}

4439{4468{


4441}4470}

4442```4471```

4443 4472 

4444Список разрешений применяется к hooks из каждого источника, включая управляемые параметры.4473Список разрешённых переменных применяется к хукам из каждого источника, включая управляемые настройки.

4445 4474 

4446<h3 id="workflowkeywordtriggerenabled">4475<h3 id="workflowkeywordtriggerenabled">

4447 `workflowKeywordTriggerEnabled`4476 `workflowKeywordTriggerEnabled`

4448</h3>4477</h3>

4449 4478 

4450Выберите, запускает ли ввод ключевого слова `ultracode` в подсказке [динамический рабочий процесс](/docs/ru/workflows#ask-for-a-workflow-in-your-prompt). Установите его в `false`, чтобы вводить слово без запуска.4479Выберите, запускает ли ввод ключевого слова `ultracode` в промпте [динамический рабочий процесс](/docs/ru/workflows#ask-for-a-workflow-in-your-prompt). Установите `false`, чтобы вводить это слово, не запуская рабочий процесс.

4451 4480 

4452* **Область действия**: [`Any file`](#scopes). Отображается в `/config` как **Ultracode keyword trigger**.4481* **Область действия**: [`Any file`](#scopes). Отображается в `/config` как **Ultracode keyword trigger**.

4453* **Тип**: Boolean4482* **Тип**: Boolean

4454 * `true`: ввод `ultracode` в подсказку запускает динамический рабочий процесс4483 * `true`: ввод `ultracode` в промпте запускает динамический рабочий процесс

4455 * `false`: вы можете вводить слово без запуска4484 * `false`: вы можете вводить это слово, не запуская рабочий процесс

4456* **По умолчанию**: `true`4485* **По умолчанию**: `true`

4457 4486 

4458```json settings.json theme={null}4487```json settings.json theme={null}


4461}4490}

4462```4491```

4463 4492 

4464Параметр усилия `ultracode`, `/workflows` и сохранённые команды рабочих процессов не затронуты.4493Настройка усилия `ultracode`, `/workflows` и сохранённые команды рабочих процессов не затрагиваются.

4465 4494 

4466<h3 id="workflowsizeguideline">4495<h3 id="workflowsizeguideline">

4467 `workflowSizeGuideline`4496 `workflowSizeGuideline`

4468</h3>4497</h3>

4469 4498 

4470Установите [количество агентов, на которое Claude нацелен](/docs/ru/workflows#set-a-size-guideline) в динамических рабочих процессах, которые он пишет. Claude Code отправляет значение Claude как совет, а не как принудительный предел: `"small"` просит менее 5 агентов, `"medium"` менее 10, и `"large"` менее 50. Выберите `"small"`, когда вы хотите ограничить, что тратит рабочий процесс. Требуется Claude Code v2.1.219 или позже.4499Задайте [количество агентов, к которому стремится Claude](/docs/ru/workflows#set-a-size-guideline) в создаваемых им динамических рабочих процессах. Claude Code передаёт значение Claude как рекомендацию, а не как жёсткий предел: `"small"` запрашивает менее 5 агентов, `"medium"` — менее 10, а `"large"` — менее 50. Выберите `"small"`, если хотите ограничить расходы рабочего процесса. Требуется Claude Code v2.1.219 или новее.

4471 4500 

4472* **Область действия**: [`Any file`](#scopes). Значение там имеет приоритет над выбором **Dynamic workflow size** в `/config`, который Claude Code хранит в `~/.claude.json`, и Claude Code скрывает эту строку, пока файл параметров устанавливает ключ.4501* **Область действия**: [`Any file`](#scopes). Значение из файла настроек имеет приоритет над выбором **Dynamic workflow size** в `/config`, который Claude Code хранит в `~/.claude.json`, и Claude Code скрывает эту строку, пока ключ задан в файле настроек.

4473* **Тип**: строка, одна из:4502* **Тип**: строка, одно из значений:

4474 * `"unrestricted"`: нет рекомендации, поэтому Claude размер рабочего процесса в соответствии с задачей4503 * `"unrestricted"`: рекомендации нет, поэтому Claude подбирает размер рабочего процесса под задачу

4475 * `"small"`: Claude нацелен на менее 5 агентов4504 * `"small"`: Claude стремится использовать менее 5 агентов

4476 * `"medium"`: Claude нацелен на менее 10 агентов4505 * `"medium"`: Claude стремится использовать менее 10 агентов

4477 * `"large"`: Claude нацелен на менее 50 агентов4506 * `"large"`: Claude стремится использовать менее 50 агентов

4478* **По умолчанию**: `"medium"`, или `"small"` когда вы вошли в систему на плане Pro с Claude Code v2.1.271 или позже4507* **По умолчанию**: `"medium"` или `"small"`, если вы вошли с планом Pro и используете Claude Code v2.1.271 или новее

4479 4508 

4480```json settings.json theme={null}4509```json settings.json theme={null}

4481{4510{


4483}4512}

4484```4513```

4485 4514 

4486Требуется Claude Code v2.1.219 или позже; на v2.1.202 через v2.1.218 установите рекомендацию в `/config` вместо этого.4515Требуется Claude Code v2.1.219 или новее; в версиях с v2.1.202 по v2.1.218 вместо этого задавайте рекомендацию в `/config`.

4487 4516 

4488<span id="plugin-configuration" />4517<span id="plugin-configuration" />

4489 4518 


5924 Аутентификация и поставщики5953 Аутентификация и поставщики

5925</h2>5954</h2>

5926 5955 

5927Предоставляйте учетные данные через вспомогательные скрипты и, для организаций, принудительно установите метод входа или организацию. См. [Аутентификация](/docs/ru/authentication).5956Предоставляйте учётные данные через вспомогательные скрипты и, для организаций, принудительно установите метод входа или организацию. См. [Аутентификация](/docs/ru/authentication).

5928 5957 

5929<h3 id="allowedproviders">5958<h3 id="allowedproviders">

5930 `allowedProviders`5959 `allowedProviders`

5931</h3>5960</h3>

5932 5961 

5933Перечислите сервисы, через которые машина может обращаться к Claude, такие как Anthropic API, Amazon Bedrock или LLM gateway. Сеанс на поставщике, который не указан в списке, отклоняется при запуске, при входе и когда он в следующий раз обращается к API, поэтому переключение на неуказанного поставщика во время сеанса также отклоняется. [Сообщение об отказе](/docs/ru/errors#managed-settings-dont-allow-this-api-provider) указывает, что выбрало поставщика и какие шаги предпринять для продолжения. Требуется Claude Code v2.1.285 или позже.5962Перечислите сервисы, через которые машина может обращаться к Claude, такие как Anthropic API, Amazon Bedrock или LLM-шлюз. Сессия на поставщике, который не указан в списке, отклоняется при запуске, при входе и когда она в следующий раз обращается к API, поэтому переключение на неуказанного поставщика во время сессии также отклоняется. [Сообщение об отказе](/docs/ru/errors#managed-settings-dont-allow-this-api-provider) указывает, что выбрало поставщика и какие шаги предпринять для продолжения. Требуется Claude Code v2.1.285 или позже.

5934 5963 

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).5964* **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:5965* **Type**: array of strings, each one of:

5937 * `"anthropic"`: Anthropic API на собственном хосте Anthropic, через вход claude.ai или Console или API ключ. Объедините это с [`forceLoginMethod`](#forceloginmethod) или [`forceLoginOrgUUID`](#forceloginorguuid) чтобы также ограничить вход5966 * `"anthropic"`: Anthropic API на собственном хосте Anthropic, через вход claude.ai или Console или API-ключ. Объедините это с [`forceLoginMethod`](#forceloginmethod) или [`forceLoginOrgUUID`](#forceloginorguuid), чтобы также ограничить вход

5938 * `"bedrock"`: [Amazon Bedrock](/docs/ru/amazon-bedrock)5967 * `"bedrock"`: [Amazon Bedrock](/docs/ru/amazon-bedrock)

5939 * `"vertex"`: [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), ранее Vertex AI5968 * `"vertex"`: [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), ранее Vertex AI

5940 * `"foundry"`: [Microsoft Foundry](/docs/ru/microsoft-foundry)5969 * `"foundry"`: [Microsoft Foundry](/docs/ru/microsoft-foundry)

5941 * `"anthropicAws"`: [Claude Platform on AWS](/docs/ru/claude-platform-on-aws)5970 * `"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"` вместе для него5971 * `"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) закрепляет5972 * `"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)5973 * `"gateway"`: вход через [Cloud gateway](/docs/ru/claude-apps-gateway)

5945* **Default**: unset, so any provider can be used5974* **Default**: unset, so any provider can be used

5946 5975 

5947```json managed-settings.json theme={null}5976```json managed-settings.json theme={null}


5950}5979}

5951```5980```

5952 5981 

5953Запись каждого облачного поставщика означает собственный сервис этого поставщика, включая его региональные, FIPS и приватные конечные точки.5982Запись каждого облачного поставщика означает собственный сервис этого поставщика, включая его региональные, FIPS и приватные эндпоинты.

5954 5983 

5955Запись, которую Claude Code не распознает как имя поставщика, удаляется и сообщается, а остальная часть списка остается в силе. С пустым списком или списком, каждая запись которого не распознана, Claude Code отклоняет каждого поставщика и не запускается на машине.5984Запись, которую Claude Code не распознаёт как имя поставщика, отбрасывается с уведомлением, а остальная часть списка остаётся в силе. С пустым списком или списком, каждая запись которого не распознана, Claude Code отклоняет всех поставщиков и не запускается на машине.

5956 5985 

5957<h4 id="endpoints-that-need-a-pin-in-managed-env">5986<h4 id="endpoints-that-need-a-pin-in-managed-env">

5958 Конечные точки, которым нужен pin в управляемом `env`5987 Эндпоинты, которым нужен pin в управляемом `env`

5959</h4>5988</h4>

5960 5989 

5961Pin — это значение переменной конечной точки, установленное в управляемом блоке [`env`](#env). Когда сеанс отправляет трафик поставщика куда-то, кроме собственного сервиса этого поставщика, Claude Code допускает это только если значение сеанса совпадает с pin. Эти конечные точки нуждаются в одном:5990Pin — это значение переменной эндпоинта, установленное в управляемом блоке [`env`](#env). Когда сессия отправляет трафик поставщика куда-то, кроме собственного сервиса этого поставщика, Claude Code допускает это, только если значение сессии совпадает с pin. Pin нужен следующим эндпоинтам:

5962 5991 

5963* **`"customEndpoint"` сеансы**: переменная, которая называет хост, такая как `ANTHROPIC_BASE_URL`5992* **Сессии `"customEndpoint"`**: переменная, которая указывает хост, например `ANTHROPIC_BASE_URL`

5964* **Amazon Bedrock**: переменные AWS SDK `AWS_ENDPOINT_URL`, `AWS_ENDPOINT_URL_BEDROCK` и `AWS_ENDPOINT_URL_BEDROCK_RUNTIME` когда они указывают вне собственного сервиса Bedrock. Сеанс остается под `"bedrock"` вместо `"customEndpoint"`5993* **Amazon Bedrock**: переменные AWS SDK `AWS_ENDPOINT_URL`, `AWS_ENDPOINT_URL_BEDROCK` и `AWS_ENDPOINT_URL_BEDROCK_RUNTIME`, когда они указывают за пределы собственного сервиса Bedrock. Сессия остаётся под `"bedrock"`, а не `"customEndpoint"`

5965* **URL входа шлюза**: сеанс остается под `"gateway"`, и [`forceLoginGatewayUrl`](#forcelogingatewayurl) также считается pin5994* **URL входа через шлюз**: сессия остаётся под `"gateway"`, и [`forceLoginGatewayUrl`](#forcelogingatewayurl) также считается pin

5966 5995 

5967Какие блоки `env` считаются pin, зависит от того, где установлен список:5996Какие блоки `env` считаются pin, зависит от того, где установлен список:

5968 5997 

5969* **Источник администратора на машине устанавливает список**: только блоки `env` собственных источников администратора машины считаются5998* **Источник администратора на машине устанавливает список**: учитываются только блоки `env` собственных источников администратора машины

5970* **Только управляемые сервером параметры устанавливают список**: значение `env` в этих управляемых сервером параметрах также считается5999* **Список устанавливают только управляемые сервером настройки**: значение `env` в этих управляемых сервером настройках также учитывается

5971 6000 

5972Список не судит переменные учетных данных и арендатора облачного поставщика или сетевой путь, такие как `HTTPS_PROXY` и параметры сертификата. Установите их для флота в управляемом блоке `env`.6001Список не оценивает переменные учётных данных и арендатора облачного поставщика или сетевой путь, такие как `HTTPS_PROXY` и настройки сертификатов. Установите их для всего парка машин в управляемом блоке `env`.

5973 6002 

5974<h3 id="apikeyhelper">6003<h3 id="apikeyhelper">

5975 `apiKeyHelper`6004 `apiKeyHelper`

5976</h3>6005</h3>

5977 6006 

5978Запустите собственную команду для создания учетных данных, которые Claude Code отправляет с запросами модели. Claude Code запускает команду через системную оболочку, `/bin/sh` на macOS и Linux и `cmd` на Windows, и отправляет её вывод как в заголовках `X-Api-Key`, так и в `Authorization: Bearer`. Используйте это для динамических или ротирующихся учетных данных, таких как краткосрочные токены, полученные из хранилища.6007Запустите собственную команду для создания учётных данных, которые Claude Code отправляет с запросами к модели. Claude Code запускает команду через системную оболочку, `/bin/sh` на macOS и Linux и `cmd` на Windows, и отправляет её вывод как в заголовке `X-Api-Key`, так и в `Authorization: Bearer`. Используйте это для динамических или ротируемых учётных данных, таких как краткосрочные токены, полученные из хранилища.

5979 6008 

5980* **Scope**: [`Any file`](#scopes)6009* **Scope**: [`Any file`](#scopes)

5981* **Type**: string, a shell command line6010* **Type**: string, a shell command line


5990Claude Code кэширует значение и повторно запускает команду в следующих случаях:6019Claude Code кэширует значение и повторно запускает команду в следующих случаях:

5991 6020 

5992* После истечения времени жизни кэша, пять минут по умолчанию или интервал, который вы установили с помощью [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/docs/ru/env-vars).6021* После истечения времени жизни кэша, пять минут по умолчанию или интервал, который вы установили с помощью [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/docs/ru/env-vars).

5993* Когда запрос к API Anthropic, напрямую или через [LLM gateway](/docs/ru/llm-gateway), завершается с ошибкой `401` или `403`.6022* Когда запрос к API Anthropic, напрямую или через [LLM-шлюз](/docs/ru/llm-gateway), завершается с ошибкой `401` или `403`.

5994* Перед отправкой запроса к API Anthropic, напрямую или через LLM gateway, когда кэшированный вывод — это JWT, который истек после того, как помощник его создал. Требуется Claude Code v2.1.246 или позже.6023* Перед отправкой запроса к API Anthropic, напрямую или через LLM-шлюз, когда кэшированный вывод — это JWT, который истёк после того, как помощник его создал. Требуется Claude Code v2.1.246 или позже.

5995 6024 

5996Последние два случая применяются только когда вывод помощника — это учетные данные, которые Claude Code отправляет, и `ANTHROPIC_AUTH_TOKEN` не установлен.6025Последние два случая применяются, только когда вывод помощника — это учётные данные, которые отправляет Claude Code, и `ANTHROPIC_AUTH_TOKEN` не установлен.

5997 6026 

5998В интерактивных сеансах, когда команда поступает из параметров проекта или локальных параметров, Claude Code не запускает её до тех пор, пока вы не примете приглашение доверия рабочей области. См. [Управление учетными данными](/docs/ru/authentication#credential-management).6027В интерактивных сессиях, когда команда поступает из настроек проекта или локальных настроек, Claude Code не запускает её до тех пор, пока вы не примете запрос доверия к рабочему пространству. См. [Управление учётными данными](/docs/ru/authentication#credential-management).

5999 6028 

6000<h3 id="awsauthrefresh">6029<h3 id="awsauthrefresh">

6001 `awsAuthRefresh`6030 `awsAuthRefresh`

6002</h3>6031</h3>

6003 6032 

6004Запустите собственную команду, такую как `aws sso login`, для обновления учетных данных в вашем каталоге `.aws` когда те, которые Claude Code имеет для [Amazon Bedrock](/docs/ru/amazon-bedrock), перестают работать. Claude Code сначала проверяет текущие учетные данные против STS и запускает команду только когда эта проверка не удается, затем читает обновленный каталог `.aws`.6033Запустите собственную команду, такую как `aws sso login`, для обновления учётных данных в вашем каталоге `.aws`, когда те, которые есть у Claude Code для [Amazon Bedrock](/docs/ru/amazon-bedrock), перестают работать. Claude Code сначала проверяет текущие учётные данные через STS и запускает команду, только когда эта проверка не проходит, затем читает обновлённый каталог `.aws`.

6034 

6035Когда проверка одновременно не проходит в нескольких процессах Claude Code, использующих одну и ту же команду и учётные данные, например в отдельных терминалах или окнах IDE, один процесс запускает команду, а остальные ждут результата этого запуска, не запуская команду сами. Процесс, который прождал 60 секунд с ожидающим запросом, запускает команду сам. Чтобы отключить это, установите [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](/docs/ru/env-vars) в `1`.

6005 6036 

6006* **Scope**: [`Any file`](#scopes)6037* **Scope**: [`Any file`](#scopes)

6007* **Type**: string, a shell command line6038* **Type**: string, a shell command line


6013}6044}

6014```6045```

6015 6046 

6016Используйте этот ключ, когда ваш поток обновления записывает в `.aws`; используйте [`awsCredentialExport`](#awscredentialexport) когда он выводит учетные данные вместо этого. См. [расширенную конфигурацию учетных данных](/docs/ru/amazon-bedrock#advanced-credential-configuration).6047Используйте этот ключ, когда ваш процесс обновления записывает в `.aws`; используйте [`awsCredentialExport`](#awscredentialexport), когда он вместо этого выводит учётные данные. См. [расширенную конфигурацию учётных данных](/docs/ru/amazon-bedrock#advanced-credential-configuration).

6017 6048 

6018<h3 id="awscredentialexport">6049<h3 id="awscredentialexport">

6019 `awsCredentialExport`6050 `awsCredentialExport`

6020</h3>6051</h3>

6021 6052 

6022Запустите собственную команду, которая выводит учетные данные AWS в формате JSON, чтобы Claude Code мог вызывать [Amazon Bedrock](/docs/ru/amazon-bedrock) с учетными данными, которые не находятся в вашем каталоге `.aws`. Claude Code принимает форму вывода `aws sts` и плоскую форму `aws configure export-credentials`, и ограничивает учетные данные своим собственным клиентом Bedrock, поэтому команды оболочки, которые запускает Claude Code, по-прежнему видят ваши окружающие учетные данные.6053Запустите собственную команду, которая выводит учётные данные AWS в формате JSON, чтобы Claude Code мог вызывать [Amazon Bedrock](/docs/ru/amazon-bedrock) с учётными данными, которые не находятся в вашем каталоге `.aws`. Claude Code принимает форму вывода `aws sts` и плоскую форму `aws configure export-credentials` и ограничивает учётные данные своим собственным клиентом Bedrock, поэтому команды оболочки, которые запускает Claude, по-прежнему видят ваши окружающие учётные данные.

6023 6054 

6024* **Scope**: [`Any file`](#scopes)6055* **Scope**: [`Any file`](#scopes)

6025* **Type**: string, a shell command line6056* **Type**: string, a shell command line


6031}6062}

6032```6063```

6033 6064 

6034В отличие от [`awsAuthRefresh`](#awsauthrefresh), Claude Code всегда запускает эту команду, когда она установлена, без предварительной проверки окружающих учетных данных. См. [расширенную конфигурацию учетных данных](/docs/ru/amazon-bedrock#advanced-credential-configuration).6065В отличие от [`awsAuthRefresh`](#awsauthrefresh), Claude Code всегда запускает эту команду, когда она установлена, без предварительной проверки окружающих учётных данных. См. [расширенную конфигурацию учётных данных](/docs/ru/amazon-bedrock#advanced-credential-configuration).

6035 6066 

6036<h3 id="forceloginmethod">6067<h3 id="forceloginmethod">

6037 `forceLoginMethod`6068 `forceLoginMethod`

6038</h3>6069</h3>

6039 6070 

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) в сеансах, к которым применяется этот файл.6071Ограничьте, с каким типом учётной записи люди могут входить. Установите `"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 6072 

6042* **Scope**: [`Any file`](#scopes). Claude Code соблюдает `"gateway"` только из управляемого источника на машине: `managed-settings.json`, plist macOS или реестр Windows HKLM, или помощник политики. Он рассматривает `"gateway"` как неустановленный в пользовательских, проектных, локальных, HKCU и управляемых сервером параметрах, то же правило, что и [`forceLoginGatewayUrl`](#forcelogingatewayurl).6073* **Scope**: [`Any file`](#scopes). Claude Code учитывает `"gateway"` только из управляемого источника на машине: `managed-settings.json`, plist macOS или реестра Windows HKLM, или помощника политики. Он рассматривает `"gateway"` как неустановленное значение в пользовательских, проектных, локальных, HKCU и управляемых сервером настройках — то же правило, что и для [`forceLoginGatewayUrl`](#forcelogingatewayurl).

6043* **Type**: string, one of:6074* **Type**: string, one of:

6044 * `"claudeai"`: only claude.ai accounts can log in6075 * `"claudeai"`: only claude.ai accounts can log in

6045 * `"console"`: only Claude Console accounts can log in6076 * `"console"`: only Claude Console accounts can log in


6052}6083}

6053```6084```

6054 6085 

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) для того, как каждый путь входа, учетные данные окружения и поставщики третьих сторон обрабатываются.6086Каждый путь входа первой стороны применяет ограничение, включая [расширение 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 6087 

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 использовал оставшийся вход на этих машинах.6088Когда управляемый источник на машине устанавливает `"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 6089 

6059<h3 id="forcelogingatewayurl">6090<h3 id="forcelogingatewayurl">

6060 `forceLoginGatewayUrl`6091 `forceLoginGatewayUrl`

6061</h3>6092</h3>

6062 6093 

6063Установите URL шлюза, к которому подключается экран `/login` облачного шлюза, чтобы люди достигли вашего [облачного шлюза](/docs/ru/claude-apps-gateway) без ввода его адреса. На экране нет поля URL: с установленным этим ключом он показывает URL вашего шлюза и подключается, когда человек нажимает Enter; без него он говорит им связаться с администратором IT.6094Установите URL шлюза, к которому подключается экран облачного шлюза `/login`, чтобы люди попадали на ваш [облачный шлюз](/docs/ru/claude-apps-gateway) без ввода его адреса. На экране нет поля URL: если этот ключ установлен, экран показывает URL вашего шлюза и подключается, когда человек нажимает Enter; без него экран предлагает обратиться к IT-администратору.

6064 6095 

6065Либо этот ключ, либо `forceLoginMethod: "gateway"` делает машину только шлюзом, за исключением сеансов, которые выбирают облачного поставщика с помощью `CLAUDE_CODE_USE_*`. `/login` затем открывается на экране облачного шлюза без средства выбора метода входа. См. [Политика администратора требует вход через облачный шлюз](/docs/ru/errors#administrator-policy-requires-a-cloud-gateway-sign-in) для того, что происходит с оставшимся входом первой стороны или API ключом. Установите оба ключа, чтобы экран подключился вместо показа ошибки.6096Либо этот ключ, либо `forceLoginMethod: "gateway"` делает машину доступной только через шлюз, за исключением сессий, которые выбирают облачного поставщика с помощью `CLAUDE_CODE_USE_*`. Тогда `/login` открывается на экране облачного шлюза без выбора метода входа. См. [Политика администратора требует вход через облачный шлюз](/docs/ru/errors#administrator-policy-requires-a-cloud-gateway-sign-in), чтобы узнать, что происходит с оставшимся входом первой стороны или API-ключом. Установите оба ключа, чтобы экран подключался, а не показывал ошибку.

6066 6097 

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.6098* **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 scheme6099* **Type**: string, a full URL including the scheme


6074}6105}

6075```6106```

6076 6107 

6077Если значение не является действительным URL, экран входа сообщает об этом, и остальная часть файла управляемых параметров по-прежнему применяется. См. [Установить URL шлюза](/docs/ru/claude-apps-gateway#set-the-gateway-url).6108Если значение не является действительным URL, экран входа сообщает об этом, а остальная часть файла управляемых настроек по-прежнему применяется. См. [Установить URL шлюза](/docs/ru/claude-apps-gateway#set-the-gateway-url).

6078 6109 

6079<h3 id="forceloginorguuid">6110<h3 id="forceloginorguuid">

6080 `forceLoginOrgUUID`6111 `forceLoginOrgUUID`

6081</h3>6112</h3>

6082 6113 

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 ключ.6114Из управляемого источника требуйте, чтобы входы с учётной записью 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 6115 

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.6116* **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 UUIDs6117* **Type**: string, one UUID, or array of strings, several UUIDs

6087* **Default**: unset, so any organization can log in6118* **Default**: unset, so any organization can log in

6088 6119 

6089Этот пример принимает входы из любой из двух организаций без предварительного выбора одной:6120Этот пример принимает входы из любой из двух организаций без предварительного выбора одной из них:

6090 6121 

6091```json managed-settings.json theme={null}6122```json managed-settings.json theme={null}

6092{6123{


6094}6125}

6095```6126```

6096 6127 

6097Если управляемый источник устанавливает пустой массив или значение, которое Claude Code не может разобрать, Claude Code блокирует каждый вход с сообщением о неправильной конфигурации.6128Если управляемый источник устанавливает пустой массив или значение, которое Claude Code не может разобрать, Claude Code блокирует любой вход с сообщением о неправильной конфигурации.

6098 6129 

6099См. [Ограничить вход в вашу организацию](/docs/ru/authentication#restrict-login-to-your-organization) для того, как Claude Code обрабатывает входы Claude Console, другие пути входа и учетные данные окружения.6130См. [Ограничить вход вашей организацией](/docs/ru/authentication#restrict-login-to-your-organization), чтобы узнать, как Claude Code обрабатывает входы в Claude Console, другие пути входа и учётные данные окружения.

6100 6131 

6101<h3 id="gatewayinternalnetworks">6132<h3 id="gatewayinternalnetworks">

6102 `gatewayInternalNetworks`6133 `gatewayInternalNetworks`

6103</h3>6134</h3>

6104 6135 

6105Объявите публичные блоки IPv4, из которых ваша организация нумерует свою внутреннюю сеть, чтобы `/login` принимал [облачный шлюз](/docs/ru/claude-apps-gateway) там. Требуется Claude Code v2.1.268 или позже.6136Объявите публичные блоки IPv4, из которых ваша организация нумерует свою внутреннюю сеть, чтобы `/login` принимал [облачный шлюз](/docs/ru/claude-apps-gateway) в них. Требуется Claude Code v2.1.268 или позже.

6106 6137 

6107Без этого ключа `/login` подключается к любому шлюзу на приватном адресе и ничему больше. С ним `/login` также принимает шлюз внутри указанного блока, только через прямое соединение. Собственный адрес машины на этом соединении также должен быть внутри того же блока.6138Без этого ключа `/login` подключается к любому шлюзу на приватном адресе и больше ни к чему. С ним `/login` также принимает шлюз внутри указанного блока, только через прямое соединение. Собственный адрес машины в этом соединении также должен находиться внутри того же блока.

6108 6139 

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.6140* **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.6141* **Type**: array of strings, at most four IPv4 CIDR blocks, each `/8` to `/32`, not overlapping one another, and none overlapping private space.


6116}6147}

6117```6148```

6118 6149 

6119Замените диапазон документации в примере на ваш собственный блок. Claude Code отказывает диапазонам документации, диапазонам, которые используют локально клиенты VPN и NAT64, и зарезервированному пространству, из которого не нумеруется ни одна сеть, такому как многоадресная рассылка.6150Замените диапазон для документации в примере на ваш собственный блок. Claude Code отклоняет диапазоны для документации, диапазоны, которые локально используют клиенты VPN и NAT64, и зарезервированное пространство, из которого не нумеруется ни одна сеть, например многоадресное.

6120 6151 

6121Если запись недействительна или значение не является списком строк, `/login` называет проблему и отказывает каждому новому входу через облачный шлюз на машине до тех пор, пока вы не исправите значение. Существующие входы продолжают работать. См. [Разрешить шлюз на адресном пространстве общего пользования, которым вы владеете](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) для полных правил и того, что видят разработчики.6152Если запись недействительна или значение не является списком строк, `/login` называет проблему и отклоняет любой новый вход через шлюз на машине до тех пор, пока вы не исправите значение. Существующие входы продолжают работать. См. [Разрешить шлюз в принадлежащем вам публичном адресном пространстве](/docs/ru/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), чтобы узнать полные правила и то, что видят разработчики.

6122 6153 

6123<h3 id="gcpauthrefresh">6154<h3 id="gcpauthrefresh">

6124 `gcpAuthRefresh`6155 `gcpAuthRefresh`

6125</h3>6156</h3>

6126 6157 

6127Запустите собственную команду для обновления Google Cloud Application Default Credentials когда Claude Code обнаруживает, что они истекли или не могут быть загружены, чтобы запросы [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) продолжали работать без повторной аутентификации вручную.6158Запустите собственную команду для обновления Google Cloud Application Default Credentials, когда Claude Code обнаруживает, что они истекли или не могут быть загружены, чтобы запросы к [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai) продолжали работать без повторной аутентификации вручную.

6159 

6160Когда несколько процессов Claude Code, использующих одну и ту же команду и учётные данные, например в отдельных терминалах или окнах IDE, одновременно обнаруживают, что учётные данные истекли, один процесс запускает команду, а остальные ждут результата этого запуска, не запуская команду сами. Процесс, который прождал 60 секунд с ожидающим запросом, запускает команду сам. Чтобы отключить это, установите [`CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK`](/docs/ru/env-vars) в `1`.

6128 6161 

6129* **Scope**: [`Any file`](#scopes)6162* **Scope**: [`Any file`](#scopes)

6130* **Type**: string, a shell command line6163* **Type**: string, a shell command line


6136}6169}

6137```6170```

6138 6171 

6139См. [расширенную конфигурацию учетных данных](/docs/ru/google-vertex-ai#advanced-credential-configuration).6172См. [расширенную конфигурацию учётных данных](/docs/ru/google-vertex-ai#advanced-credential-configuration).

6140 6173 

6141<h3 id="otelheadershelper">6174<h3 id="otelheadershelper">

6142 `otelHeadersHelper`6175 `otelHeadersHelper`

6143</h3>6176</h3>

6144 6177 

6145Запустите собственную команду для создания заголовков, которые Claude Code отправляет с экспортами OpenTelemetry, для бэкендов, чьи токены ротируются. Claude Code запускает её при запуске и периодически после этого, и ожидает объект JSON значений строковых заголовков на stdout.6178Запустите собственную команду для создания заголовков, которые Claude Code отправляет с экспортами OpenTelemetry, для бэкендов с ротируемыми токенами. Claude Code запускает её при старте и затем периодически и ожидает в stdout объект JSON со строковыми значениями заголовков.

6146 6179 

6147* **Scope**: [`Any file`](#scopes)6180* **Scope**: [`Any file`](#scopes)

6148* **Type**: string, an executable path or a shell command line6181* **Type**: string, an executable path or a shell command line


6154}6187}

6155```6188```

6156 6189 

6157Установите интервал обновления с помощью [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/docs/ru/env-vars). См. [Динамические заголовки](/docs/ru/monitoring-usage#dynamic-headers) для требований скрипта и что происходит, когда помощник не работает.6190Установите интервал обновления с помощью [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/docs/ru/env-vars). См. [Динамические заголовки](/docs/ru/monitoring-usage#dynamic-headers), чтобы узнать требования к скрипту и что происходит, когда помощник завершается с ошибкой.

6158 6191 

6159<h2 id="updates-and-versioning">6192<h2 id="updates-and-versioning">

6160 Обновления и версионирование6193 Обновления и версионирование

skills.md +122 −104

Details

56 56 

57Claude редактирует записанный файл только когда он неправильно направил запуск, например команду, которая не удалась, или отсутствующий шаг, поэтому вы можете зафиксировать файл без различий для каждой сессии. До v2.1.205 встроенный skill говорил Claude складывать все, что запуск узнал, что вызывало частые конфликты слияния.57Claude редактирует записанный файл только когда он неправильно направил запуск, например команду, которая не удалась, или отсутствующий шаг, поэтому вы можете зафиксировать файл без различий для каждой сессии. До v2.1.205 встроенный skill говорил Claude складывать все, что запуск узнал, что вызывало частые конфликты слияния.

58 58 

59<h3 id="run-your-checks-before-each-commit">

60 Запуск проверок перед каждым коммитом

61</h3>

62 

63Когда сессия начинается при наличии skill с именем `verify` или `simplify`, инструкции Claude Code по коммитам указывают Claude запускать его непосредственно перед каждым коммитом, за исключением изменений в документации или тестах. Это требует Claude Code v2.1.286 или позже. Claude получает эту инструкцию, когда в начале сессии выполняются следующие условия:

64 

65* **Расположение**: skill загружается из корпоративного, личного, проектного или дополнительного каталога [расположения](#where-skills-live), либо из файла `.claude/commands/` с таким именем. Рецепт, который `/verify` записывает в корне вашего репозитория, является проектным skill, поэтому он учитывается. Встроенные `/verify` и `/simplify`, skills плагинов и skills из вашей учетной записи claude.ai не учитываются.

66* **Вызов**: Claude может вызвать skill. Если вы [запретили Claude вызывать его](#control-who-invokes-a-skill), например с помощью `disable-model-invocation: true`, Claude не получает эту инструкцию.

67* **Инструкции Git**: вы не отключили [`includeGitInstructions`](/docs/ru/settings-reference#includegitinstructions). Его отключение удаляет эту инструкцию вместе с остальными встроенными инструкциями по коммитам и PR.

68 

59<h3 id="work-on-claude-api-projects">69<h3 id="work-on-claude-api-projects">

60 Работа с проектами Claude API70 Работа с проектами Claude API

61</h3>71</h3>


136</Steps>146</Steps>

137 147 

138<h2 id="where-skills-live">148<h2 id="where-skills-live">

139 Выберите, где загружаются skills149 Выбор места загрузки скиллов

140</h2>150</h2>

141 151 

142Место сохранения skill определяет, какие сеансы его загружают. Сохраните его в домашнем каталоге, чтобы получить его во всех проектах, зафиксируйте его в репозитории, чтобы поделиться им со всеми, кто там работает, или распространяйте его через plugin или управляемые параметры, чтобы охватить всю команду.152От того, где вы сохраните скилл, зависит, какие сессии его загрузят. Сохраните его в домашнем каталоге, чтобы он был доступен во всех проектах; сделайте коммит в репозиторий, чтобы поделиться им со всеми, кто там работает; или распространите его через плагин или управляемые настройки, чтобы он был доступен всей команде.

143 153 

144| Расположение | Путь | Загружается в |154| Расположение | Путь | Где загружается |

145| :- | :- | :- |155| :- | :- | :- |

146| Enterprise | `.claude/skills/<skill-name>/SKILL.md` в [каталоге управляемых параметров](/docs/ru/managed-settings#delivery-mechanisms) | Все пользователи на машинах, где ваша организация его развертывает |156| Корпоративное | `.claude/skills/<skill-name>/SKILL.md` в [каталоге управляемых настроек](/docs/ru/managed-settings#delivery-mechanisms) | У всех пользователей на компьютерах, где ваша организация его развернула |

147| Personal | `~/.claude/skills/<skill-name>/SKILL.md` | Все ваши проекты на этой машине, но не [сеансы Cowork или облачные сеансы](#skills-in-cowork-and-cloud-sessions) |157| Личное | `~/.claude/skills/<skill-name>/SKILL.md` | Во всех ваших проектах на этом компьютере, но не в [Cowork и облачных сессиях](#skills-in-cowork-and-cloud-sessions) |

148| Project | `.claude/skills/<skill-name>/SKILL.md` | Сеансы в этом репозитории. Зафиксируйте его, чтобы ваша команда тоже его получила |158| Проектное | `.claude/skills/<skill-name>/SKILL.md` | В сессиях в этом репозитории. Сделайте коммит, чтобы скилл получила и ваша команда |

149| Nested | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Сеансы, запущенные в `<subdir>` или ниже. Сеанс, запущенный выше, загружает skill один раз, когда Claude работает с файлами там. См. [монорепозитории и подкаталоги](#discovery-from-parent-and-nested-directories) |159| Вложенное | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | В сессиях, запущенных в `<subdir>` или ниже. Сессия, запущенная уровнем выше, загружает скилл, как только Claude начинает работать с файлами там. См. [монорепозитории и подкаталоги](#discovery-from-parent-and-nested-directories) |

150| Additional directory | `.claude/skills/<skill-name>/SKILL.md` в каталоге, который вы передаете с `--add-dir` | Этот сеанс. См. [каталоги вне проекта](#skills-from-additional-directories) |160| Дополнительный каталог | `.claude/skills/<skill-name>/SKILL.md` в каталоге, который вы передаёте через `--add-dir` | В этой сессии. См. [каталоги вне проекта](#skills-from-additional-directories) |

151| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Везде, где [plugin](/docs/ru/plugins/overview) включен, как `/plugin-name:skill-name` |161| Плагин | `<plugin>/skills/<skill-name>/SKILL.md` | Везде, где включён [плагин](/docs/ru/plugins/overview), в виде `/plugin-name:skill-name` |

152| claude.ai account | Skills, включенные для вашей учетной записи claude.ai | Сеансы Cowork, облачные сеансы и сеансы терминала, где вы входите с этой учетной записью. См. [Skills, синхронизированные с claude.ai](#how-synced-skills-behave) |162| Аккаунт claude.ai | Скиллы, включённые для вашего аккаунта claude.ai | В сессиях Cowork, облачных сессиях и сессиях в терминале, где вы входите с этим аккаунтом. См. [Скиллы, синхронизированные с claude.ai](#how-synced-skills-behave) |

153 163 

154Папки skill также следуют этим правилам:164Папки скиллов также подчиняются следующим правилам:

155 165 

156* **Символические ссылки на папки**: запись `<skill-name>` в расположении enterprise, personal или project может быть символической ссылкой на каталог в другом месте на диске. Claude Code читает `SKILL.md` из целевого объекта и загружает skill один раз, даже если несколько расположений указывают на один и тот же целевой объект. Plugin skills [обрабатывают символические ссылки по-другому](/docs/ru/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks).166* **Папки-символические ссылки**: запись `<skill-name>` в корпоративном, личном или проектном расположении может быть символической ссылкой на каталог в другом месте на диске. Claude Code читает `SKILL.md` из целевого каталога и загружает скилл один раз, даже если на один и тот же целевой каталог указывают несколько расположений. Скиллы плагинов [обрабатывают символические ссылки иначе](/docs/ru/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks).

157* **Зарезервированное имя `synced`**: не называйте папку skill `synced` в любом регистре. Claude Code использует `~/.claude/skills/synced/` для [skills, загруженных с claude.ai](#where-synced-skills-load), и пропускает skill, который вы создали с этим именем в расположениях enterprise, personal и project.167* **Зарезервированное имя `synced`**: не называйте папку скилла `synced` ни в каком регистре. Claude Code использует `~/.claude/skills/synced/` для [скиллов, загруженных с claude.ai](#where-synced-skills-load), и пропускает созданный вами скилл с этим именем в корпоративном, личном и проектном расположениях.

158* **Зарезервированное имя `anthropic-skills`**: вне plugin папка skill или файл команды, имя которого `anthropic-skills` или начинается с `anthropic-skills:`, не загружается. См. [Имена, зарезервированные для синхронизированных skills](#names-reserved-for-synced-skills).168* **Зарезервированное имя `anthropic-skills`**: вне плагина папка скилла или файл команды с именем `anthropic-skills` или именем, начинающимся с `anthropic-skills:`, не загружается. См. [Имена, зарезервированные для синхронизированных скиллов](#names-reserved-for-synced-skills).

159* **Файлы команд**: файл Markdown в `.claude/commands/` — это более старый формат, который все еще работает. Он поддерживает тот же [frontmatter](#frontmatter-reference), кроме `name` и `paths`. Чтобы найти имя, которое вы вводите для его вызова, см. [Как skill получает имя команды](#how-a-skill-gets-its-command-name). Предпочитайте skill для новой работы, так как skills также поддерживают [вспомогательные файлы](#add-supporting-files).169* **Файлы команд**: файл Markdown в `.claude/commands/` — это более старый формат, который по-прежнему работает. Он поддерживает тот же [frontmatter](#frontmatter-reference), за исключением `name` и `paths`. Чтобы узнать имя, которое нужно ввести для его вызова, см. [Как скилл получает имя команды](#how-a-skill-gets-its-command-name). Для новой работы предпочтительнее скилл, поскольку скиллы также поддерживают [вспомогательные файлы](#add-supporting-files).

160* **Папка skill как plugin**: добавьте `.claude-plugin/plugin.json` в папку skill, и она загружается как [plugin](/docs/ru/plugins/loading#plugins-shared-through-a-repository) с именем `<name>@skills-dir`, поэтому она может объединять agents, hooks и MCP servers. В `.claude/skills/` проекта это требует сначала принять диалог доверия рабочей области.170* **Папка скилла как плагин**: добавьте `.claude-plugin/plugin.json` в папку скилла, и она загрузится как [плагин](/docs/ru/plugins/loading#plugins-shared-through-a-repository) с именем `<name>@skills-dir`, благодаря чему сможет включать агентов, хуки и MCP-серверы. В `.claude/skills/` проекта для этого сначала нужно принять диалог доверия к рабочему пространству.

161 171 

162<h3 id="discovery-from-parent-and-nested-directories">172<h3 id="discovery-from-parent-and-nested-directories">

163 Загружайте skills в монорепозитории и подкаталоги173 Загрузка скиллов в монорепозиториях и подкаталогах

164</h3>174</h3>

165 175 

166Claude Code загружает project skills из `.claude/skills/` в каталоге, где вы его запустили, и в каждом родительском каталоге вплоть до корня репозитория, поэтому запуск в `packages/frontend/` все еще подхватывает skills, определенные в корне. Когда вы [перемещаете сеанс с `/cd`](/docs/ru/permissions#move-the-session-to-another-directory) на v2.1.246 или позже, Claude Code добавляет project skills нового каталога.176Claude Code загружает проектные скиллы из `.claude/skills/` в каталоге, в котором вы его запускаете, и в каждом родительском каталоге вплоть до корня репозитория, поэтому при запуске в `packages/frontend/` всё равно подхватываются скиллы, определённые в корне. Когда вы [перемещаете сессию с помощью `/cd`](/docs/ru/permissions#move-the-session-to-another-directory) в версии v2.1.246 или новее, Claude Code добавляет проектные скиллы нового каталога.

167 177 

168В сеансе, работающем в связанном [git worktree](/docs/ru/worktrees), Claude Code ищет родительские каталоги только до корня worktree. На Claude Code v2.1.277 или позже, когда checkout worktree не имеет каталога `.claude/skills` в его корне, Claude Code вместо этого загружает project skills основного checkout. См. [Что worktrees делят с основным checkout](/docs/ru/worktrees#what-worktrees-share-with-the-main-checkout).178В сессии, работающей в связанном [git worktree](/docs/ru/worktrees), Claude Code ищет родительские каталоги только до корня worktree. В Claude Code v2.1.277 или новее, если в корне checkout worktree нет каталога `.claude/skills`, Claude Code вместо этого загружает проектные скиллы основного checkout. См. [Что worktree разделяют с основным checkout](/docs/ru/worktrees#what-worktrees-share-with-the-main-checkout).

169 179 

170Skills в каталоге `.claude/skills/` ниже того места, где вы запустили, не загружаются при запуске. Они загружаются в первый раз, когда Claude читает или редактирует файл в этом подкаталоге, и остаются доступными для остальной части сеанса. До этого они не появляются в меню `/` и вы не можете вызвать их по имени. Чтобы загрузить их раньше, запустите `/add-dir` с путем подкаталога, что требует Claude Code v2.1.257 или позже.180Скиллы в каталоге `.claude/skills/` ниже места запуска не загружаются при старте. Они загружаются, когда Claude впервые читает или редактирует файл в этом подкаталоге, и остаются доступными до конца сессии. До этого момента они не отображаются в меню `/`, и вы не можете вызвать их по имени. Чтобы загрузить их раньше, выполните `/add-dir` с путём к подкаталогу; для этого требуется Claude Code v2.1.257 или новее.

171 181 

172Когда имя каталога вложенного skill совпадает с именем другого skill, оба остаются доступными. С skill `deploy` в корне репозитория и другим в `apps/web/.claude/skills/`:182Когда имя каталога вложенного скилла совпадает с именем другого скилла, доступными остаются оба. Если скилл `deploy` есть в корне репозитория и ещё один — в `apps/web/.claude/skills/`:

173 183 

174* `/deploy` запускает skill корня. Claude Code также перечисляет варианты с квалификацией по каталогу для Claude с инструкцией вызвать тот, чей каталог содержит файлы, над которыми он работает, поэтому вложенный skill все еще применяется к работе в `apps/web/`.184* `/deploy` запускает корневой скилл. Claude Code также перечисляет для Claude варианты с указанием каталога вместе с инструкцией вызывать тот, в каталоге которого находятся файлы, с которыми он работает, поэтому вложенный скилл по-прежнему применяется к работе в `apps/web/`.

175* `/apps/web:deploy` запускает вложенный skill самостоятельно. Его описание называет каталог, к которому он применяется.185* `/apps/web:deploy` запускает только вложенный скилл. В его описании указан каталог, к которому он относится.

176 186 

177<h3 id="skills-from-additional-directories">187<h3 id="skills-from-additional-directories">

178 Загружайте skills из каталога вне проекта188 Загрузка скиллов из каталога вне проекта

179</h3>189</h3>

180 190 

181Когда вы добавляете каталог с `--add-dir` или `/add-dir`, Claude Code загружает skills в `.claude/skills/` этого каталога, вместе с его `.claude/commands/` и `.claude/agents/`. Каталоги, которые Agent SDK добавляет через [`additionalDirectories`](/docs/ru/agent-sdk/typescript#options) в TypeScript или [`add_dirs`](/docs/ru/agent-sdk/python#claudeagentoptions) в Python, загружаются так же, потому что SDK передает их как `--add-dir`. Параметр `permissions.additionalDirectories` в `settings.json` предоставляет только доступ к файлам и не загружает ничего из этого.191Когда вы добавляете каталог с помощью `--add-dir` или `/add-dir`, Claude Code загружает скиллы из `.claude/skills/` этого каталога, а также его `.claude/commands/` и `.claude/agents/`. Каталоги, которые Agent SDK добавляет через [`additionalDirectories`](/docs/ru/agent-sdk/typescript#options) в TypeScript или [`add_dirs`](/docs/ru/agent-sdk/python#claudeagentoptions) в Python, загружаются так же, поскольку SDK передаёт их как `--add-dir`. Настройка `permissions.additionalDirectories` в `settings.json` предоставляет только доступ к файлам и ничего из этого не загружает.

182 192 

183Claude Code отслеживает `.claude/skills/` в каталоге, который вы передаете с `--add-dir` при запуске, как описано в [Редактируйте skill во время сеанса](#live-change-detection). Он не отслеживает `.claude/commands/` или `.claude/agents/` добавленного каталога, поэтому перезапустите сеанс после изменения файла там.193Claude Code отслеживает `.claude/skills/` в каталоге, который вы передаёте через `--add-dir` при запуске, как описано в разделе [Редактирование скилла во время сессии](#live-change-detection). Он не отслеживает `.claude/commands/` и `.claude/agents/` добавленного каталога, поэтому после изменения файла там перезапустите сессию.

184 194 

185Эти загрузки зависят от источника параметра `project` [setting source](/docs/ru/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources), который включен по умолчанию. Политика [`strictPluginOnlyCustomization`](/docs/ru/settings-reference#strictpluginonlycustomization), [bare mode](/docs/ru/headless#start-faster-with-bare-mode) и [`--safe-mode`](/docs/ru/cli-reference#cli-flags) каждая ограничивает их дальше, как описано на этих страницах. См. [Дополнительные каталоги предоставляют доступ к файлам, а не конфигурацию](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) для полной таблицы того, что загружает добавленный каталог, включая `CLAUDE.md` и параметры plugin.195Эта загрузка зависит от [источника настроек](/docs/ru/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) `project`, который включён по умолчанию. Политика [`strictPluginOnlyCustomization`](/docs/ru/settings-reference#strictpluginonlycustomization), [режим bare](/docs/ru/headless#start-faster-with-bare-mode) и [`--safe-mode`](/docs/ru/cli-reference#cli-flags) дополнительно её ограничивают, как описано на соответствующих страницах. Полную таблицу того, что загружает добавленный каталог, включая `CLAUDE.md` и настройки плагинов, см. в разделе [Дополнительные каталоги предоставляют доступ к файлам, а не конфигурацию](/docs/ru/permissions#additional-directories-grant-file-access-not-configuration).

186 196 

187<h3 id="resolve-skills-that-share-a-name">197<h3 id="resolve-skills-that-share-a-name">

188 Разрешайте skills, которые делят имя198 Разрешение конфликтов скиллов с одинаковым именем

189</h3>199</h3>

190 200 

191Когда два skills делят имя каталога или файла, откуда каждый пришел, решает, какой из них запускает `/name`. Для имени, установленного полем frontmatter `name`, см. [Как skill получает имя команды](#how-a-skill-gets-its-command-name). Таблица охватывает расположения enterprise, personal, project, nested, plugin и claude.ai, встроенные skills и файлы команд:201Когда у двух скиллов совпадает имя каталога или файла, то, какой из них запустит `/name`, зависит от их происхождения. Об имени, заданном полем `name` во frontmatter, см. [Как скилл получает имя команды](#how-a-skill-gets-its-command-name). Таблица охватывает корпоративное, личное, проектное, вложенное расположения, плагины и claude.ai, встроенные скиллы и файлы команд:

192 202 

193| Одно имя в | Какой запускается |203| Одинаковое имя в | Какой запускается |

194| :- | :- |204| :- | :- |

195| Два из enterprise, personal и project | Enterprise над personal, и personal над project. С `deploy` в обоих `~/.claude/skills/` и `.claude/skills/` проекта, `/deploy` запускает personal |205| Двух из корпоративного, личного и проектного | Корпоративный важнее личного, а личный важнее проектного. Если `deploy` есть и в `~/.claude/skills/`, и в `.claude/skills/` проекта, `/deploy` запускает личный |

196| Любое из этих расположений и [встроенный skill](#bundled-skills) | Ваш skill заменяет встроенную команду, но не ее aliases. Project skill `code-review` заменяет `/code-review`, и встроенный alias `/review` никогда не запускает ваш skill |206| Любом из этих расположений и [встроенном скилле](#bundled-skills) | Ваш скилл заменяет встроенную команду, но не её псевдонимы. Проектный скилл `code-review` заменяет `/code-review`, а встроенный псевдоним `/review` никогда не запускает ваш скилл |

197| Skill и файл в `.claude/commands/` | Skill |207| Скилле и файле в `.claude/commands/` | Скилл |

198| Project-root skill и вложенный skill | Оба загружаются. См. [монорепозитории и подкаталоги](#discovery-from-parent-and-nested-directories) |208| Скилле в корне проекта и вложенном скилле | Загружаются оба. См. [монорепозитории и подкаталоги](#discovery-from-parent-and-nested-directories) |

199| Plugin skill и skill в любом из расположений выше | Оба загружаются, потому что plugin skills имеют пространство имен как `/plugin-name:skill-name` |209| Скилле плагина и скилле в любом из расположений выше | Загружаются оба, поскольку скиллы плагинов находятся в пространстве имён `/plugin-name:skill-name` |

200| Любое из вышеперечисленного и короткое имя skill [синхронизированного с вашей учетной записью claude.ai](#how-synced-skills-behave) | Другой skill или команда. Синхронизированный skill затем перечисляется и запускается только под его полным именем. См. [Когда имя синхронизированного skill совпадает с другой командой](#when-a-synced-skill-name-matches-another-command) |210| Любом из вышеперечисленных и коротком имени скилла, [синхронизированного с вашим аккаунтом claude.ai](#how-synced-skills-behave) | Другой скилл или команда. Синхронизированный скилл тогда отображается и запускается только под своим полным именем. См. [Когда имя синхронизированного скилла совпадает с другой командой](#when-a-synced-skill-name-matches-another-command) |

201 211 

202<h3 id="skills-in-cowork-and-cloud-sessions">212<h3 id="skills-in-cowork-and-cloud-sessions">

203 Используйте skills в сеансах Cowork и облачных сеансах213 Использование скиллов в Cowork и облачных сессиях

204</h3>214</h3>

205 215 

206Сеансы [Cowork](https://claude.com/product/cowork) и [облачные сеансы](/docs/ru/cloud-environments#what-carries-over-from-your-setup), включая [routines](/docs/ru/routines), не читают `~/.claude/skills/` на вашей машине. Как интерактивные, так и запланированные сеансы Cowork загружают skills, включенные для вашей учетной записи claude.ai, синхронизированные при запуске сеанса; управляйте ими из **Customize** в боковой панели Desktop app или из параметров skills на claude.ai. Облачные сеансы дополнительно загружают project skills, зафиксированные в `.claude/skills/` клонированного репозитория.216Сессии [Cowork](https://claude.com/product/cowork) и [облачные сессии](/docs/ru/cloud-environments#what-carries-over-from-your-setup), включая [routines](/docs/ru/routines), не читают `~/.claude/skills/` на вашем компьютере. Как интерактивные, так и запланированные сессии Cowork загружают скиллы, включённые для вашего аккаунта claude.ai и синхронизируемые при старте сессии; управляйте ими через **Customize** на боковой панели приложения Desktop или в настройках скиллов на claude.ai. Облачные сессии дополнительно загружают проектные скиллы, закоммиченные в `.claude/skills/` клонированного репозитория.

207 217 

208Если skill существует только в `~/.claude/skills/` на вашей машине, Claude Code сообщает, что skill не найден, когда [routine](/docs/ru/routines) его вызывает, потому что каждый запуск routine запускается как свежий облачный сеанс. Чтобы сделать personal skill доступным в этих сеансах:218Если скилл существует только в `~/.claude/skills/` на вашем компьютере, Claude Code сообщает, что скилл не найден, когда его вызывает [routine](/docs/ru/routines), поскольку каждый запуск routine начинается как новая облачная сессия. Чтобы сделать личный скилл доступным в этих сессиях:

209 219 

210* Для сеансов Cowork и облачных сеансов включите skill для вашей учетной записи claude.ai.220* Для Cowork и облачных сессий включите скилл для своего аккаунта claude.ai.

211* Для облачных сеансов вы можете вместо этого зафиксировать skill в `.claude/skills/` репозитория. Plugins, объявленные в `.claude/settings.json` репозитория и plugins, включенные только в ваши пользовательские параметры, [не загружаются в облачных сеансах](/docs/ru/cloud-environments#what-carries-over-from-your-setup).221* Для облачных сессий вы можете вместо этого сделать коммит скилла в `.claude/skills/` репозитория. Плагины, объявленные в `.claude/settings.json` репозитория, и плагины, включённые только в ваших пользовательских настройках, [не загружаются в облачных сессиях](/docs/ru/cloud-environments#what-carries-over-from-your-setup).

212 222 

213[Desktop scheduled tasks](/docs/ru/desktop-scheduled-tasks) запускаются локально на вашей машине, поэтому они загружают `~/.claude/skills/`.223[Запланированные задачи Desktop](/docs/ru/desktop-scheduled-tasks) выполняются локально на вашем компьютере, поэтому они загружают `~/.claude/skills/`.

214 224 

215<h3 id="how-synced-skills-behave">225<h3 id="how-synced-skills-behave">

216 Skills, синхронизированные с claude.ai226 Скиллы, синхронизированные с claude.ai

217</h3>227</h3>

218 228 

219Этот раздел применяется к вам, если вы используете сеансы Cowork или облачные сеансы, или входите в Claude Code в своем терминале с учетной записью claude.ai. В этих сеансах Claude Code загружает skills, включенные для вашей учетной записи claude.ai, без какой-либо настройки с вашей стороны, как описано в [Где загружаются синхронизированные skills](#where-synced-skills-load). Эти skills включают те, которые вы создаете или включаете в своих параметрах claude.ai, skills, которые предоставляет ваша организация, и встроенные skills Anthropic, такие как `pdf` и `xlsx`.229Этот раздел относится к вам, если вы используете Cowork или облачные сессии либо входите в Claude Code в терминале с аккаунтом claude.ai. В таких сессиях Claude Code загружает скиллы, включённые для вашего аккаунта claude.ai, без какой-либо настройки с вашей стороны, как описано в разделе [Где загружаются синхронизированные скиллы](#where-synced-skills-load). К ним относятся скиллы, которые вы создаёте или включаете в настройках claude.ai, скиллы, которые там предоставляет ваша организация, и встроенные скиллы Anthropic, такие как `pdf` и `xlsx`.

220 230 

221Claude Code загружает синхронизированный skill с вашей учетной записи, а не читает файл, который вы написали на машине, где работает сеанс, поэтому он применяет правила к синхронизированным skills, которые не применяются к skills, которые вы храните в [расположениях skills](#where-skills-live).231Claude Code скачивает синхронизированный скилл из вашего аккаунта, а не читает файл, который вы написали на компьютере, где выполняется сессия, поэтому он применяет к синхронизированным скиллам правила, которые не применяются к скиллам, хранящимся в [расположениях скиллов](#where-skills-live).

222 232 

223<h4 id="where-synced-skills-load">233<h4 id="where-synced-skills-load">

224 Где загружаются синхронизированные skills234 Где загружаются синхронизированные скиллы

225</h4>235</h4>

226 236 

227В сеансе Cowork или облачном сеансе Claude Code загружает skills, включенные для вашей учетной записи claude.ai, и [Skills в сеансах Cowork и облачных сеансах](#skills-in-cowork-and-cloud-sessions) говорит, как выбрать, какие skills получают эти сеансы.237В сессии Cowork или облачной сессии Claude Code загружает скиллы, включённые для вашего аккаунта claude.ai, а в разделе [Скиллы в Cowork и облачных сессиях](#skills-in-cowork-and-cloud-sessions) описано, как выбрать, какие скиллы получат эти сессии.

228 238 

229В вашем терминале Claude Code синхронизирует эти skills в сеансах, где вы входите с вашей учетной записью claude.ai. Когда сеанс запускается, Claude Code загружает skills вашей учетной записи в `~/.claude/skills/synced/` в фоновом режиме, затем проверяет claude.ai на предмет изменений примерно каждые 10 минут во время работы сеанса. Когда проверка обнаруживает, что skill был добавлен, отредактирован или отключен на claude.ai, Claude Code добавляет, обновляет или удаляет его в работающем сеансе без перезагрузки. Синхронизация в сеансах терминала требует Claude Code v2.1.273 или позже.239В терминале Claude Code синхронизирует эти скиллы в сессиях, где вы входите со своим аккаунтом claude.ai. При старте сессии Claude Code в фоновом режиме скачивает скиллы вашего аккаунта в `~/.claude/skills/synced/`, а затем, пока сессия работает, примерно каждые 10 минут проверяет claude.ai на наличие изменений. Когда проверка обнаруживает, что скилл был добавлен, изменён или отключён на claude.ai, Claude Code добавляет, обновляет или удаляет его в работающей сессии без перезапуска. Для синхронизации в сессиях терминала требуется Claude Code v2.1.273 или новее.

230 240 

231Синхронизация никогда не задерживает запуск, потому что Claude ждет загрузки skill только при его вызове. Короткий [неинтерактивный](/docs/ru/headless) запуск может поэтому завершиться до загрузки вновь добавленного skill, в этом случае более поздний сеанс его загружает. Чтобы неинтерактивный запуск загрузил ваши skills и дождался списка перед ответом на подсказку, установите [`CLAUDE_CODE_SYNC_SKILLS`](/docs/ru/env-vars#variables) на `1`.241Синхронизация никогда не задерживает запуск, поскольку Claude ожидает скачивания скилла только тогда, когда вызывает этот скилл. Поэтому короткий [неинтерактивный](/docs/ru/headless) запуск может завершиться до того, как скачается недавно добавленный скилл; в таком случае его скачает одна из следующих сессий. Чтобы неинтерактивный запуск скачивал ваши скиллы и дожидался списка, прежде чем ответить на промпт, установите [`CLAUDE_CODE_SYNC_SKILLS`](/docs/ru/env-vars#variables) в `1`.

232 242 

233Claude Code синхронизирует только в сеансе, который входит с вашей учетной записью claude.ai и [получает флаги функций от Anthropic](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Он не синхронизирует в этих сеансах:243Claude Code выполняет синхронизацию только в сессии, в которой выполнен вход с вашим аккаунтом claude.ai и которая [получает флаги функций от Anthropic](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Синхронизация не выполняется в следующих сессиях:

234 244 

235* Сеанс, который не использует вход, сохраненный `/login`, такой как сеанс, который аутентифицируется с помощью API key, или сеанс, где `ANTHROPIC_AUTH_TOKEN`, `CLAUDE_CODE_OAUTH_TOKEN` или скрипт `apiKeyHelper` предоставляет учетные данные245* Сессия, которая не использует вход, сохранённый через `/login`, например сессия с аутентификацией по API-ключу или сессия, в которой учётные данные предоставляет `ANTHROPIC_AUTH_TOKEN`, `CLAUDE_CODE_OAUTH_TOKEN` или скрипт `apiKeyHelper`

236* Сеанс, который не получает флаги функций, такой как сеанс на Amazon Bedrock или сеанс, где вы установили `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`246* Сессия, которая не получает флаги функций, например сессия в Amazon Bedrock или сессия, в которой вы установили `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

237* Сеанс в [bare mode](/docs/ru/headless#start-faster-with-bare-mode) или сеанс, который вы запустили с `--safe-mode`247* Сессия в [режиме bare](/docs/ru/headless#start-faster-with-bare-mode) или сессия, запущенная с `--safe-mode`

238* Сеанс, где управляемые параметры вашей организации [блокируют skills для источников plugin](/docs/ru/settings-reference#strictpluginonlycustomization-skills), или сеанс, который вы запустили со списком [`--setting-sources`](/docs/ru/cli-reference#cli-flags), который исключает `user`248* Сессия, в которой управляемые настройки вашей организации [ограничивают скиллы источниками-плагинами](/docs/ru/settings-reference#strictpluginonlycustomization-skills), или сессия, запущенная со списком [`--setting-sources`](/docs/ru/cli-reference#cli-flags), в котором нет `user`

239 249 

240Если вы входите с `/login` во время сеанса, перезапустите Claude Code, чтобы начать синхронизацию.250Если вы входите через `/login` во время сессии, перезапустите Claude Code, чтобы начать синхронизацию.

241 251 

242Skills, которые синхронизировал более ранний сеанс, остаются на диске. Claude Code загружает их в более поздних сеансах, вошедших в ту же учетную запись, даже когда он не может достичь claude.ai.252Скиллы, синхронизированные в предыдущей сессии, остаются на диске. Claude Code загружает их в последующих сессиях с входом в тот же аккаунт, даже если не может связаться с claude.ai.

243 253 

244Claude Code загружает синхронизированные skills и никогда их не выгружает. Если вы или Claude отредактируете файл в `~/.claude/skills/synced/`, изменение не сохраняется в вашу учетную запись claude.ai, и более поздняя синхронизация может перезаписать или удалить его. Чтобы изменить синхронизированный skill, обновите его на claude.ai; следующая синхронизация загружает новую версию.254Claude Code скачивает синхронизированные скиллы и никогда не отправляет их обратно в ваш аккаунт. Если вы или Claude редактируете файл в `~/.claude/skills/synced/`, изменение не сохраняется в вашем аккаунте claude.ai, и последующая синхронизация может перезаписать или удалить его. Чтобы изменить синхронизированный скилл, обновите его на claude.ai; следующая синхронизация скачает новую версию.

245 255 

246Чтобы увидеть, какие skills синхронизировались, запустите `/skills`. Меню перечисляет их под `claude.ai sync`.256Чтобы увидеть, какие скиллы синхронизированы, выполните `/skills`. Меню перечисляет их в разделе `claude.ai sync`.

247 257 

248Некоторые skills Anthropic, такие как `pdf` и `xlsx`, всегда синхронизируются. Для остальных включите или отключите skill в параметрах skills на claude.ai, чтобы изменить, синхронизируется ли он.258Некоторые скиллы Anthropic, такие как `pdf` и `xlsx`, синхронизируются всегда. Для остальных включите или отключите скилл в настройках скиллов на claude.ai, чтобы изменить, синхронизируется ли он.

249 259 

250Чтобы остановить синхронизацию на машине, установите [`syncClaudeAiSkills`](/docs/ru/settings-reference#syncclaudeaiskills) на `false` в ваших пользовательских параметрах. Claude Code прекращает загрузку, и при следующем запуске он перемещает skills, которые он уже синхронизировал, в `~/.claude/skills/.trash/` и больше их не загружает. Ваша организация может отключить синхронизацию для всех, отключив Skills на claude.ai. Чтобы остановить синхронизацию, оставляя Skills включенными, она может установить тот же ключ в [управляемые параметры](/docs/ru/managed-settings).260Чтобы остановить синхронизацию на компьютере, установите [`syncClaudeAiSkills`](/docs/ru/settings-reference#syncclaudeaiskills) в `false` в своих пользовательских настройках. Claude Code прекращает скачивание, а при следующем запуске перемещает уже синхронизированные скиллы в `~/.claude/skills/.trash/` и больше их не загружает. Ваша организация может отключить синхронизацию для всех, отключив Skills на claude.ai. Чтобы остановить синхронизацию, оставив Skills включёнными, она может задать тот же ключ в [управляемых настройках](/docs/ru/managed-settings).

251 261 

252Если ваша организация отключит Skills на claude.ai, Claude Code удалит загруженные skills и они перестанут загружаться. Удаленные skills перемещаются в `~/.claude/skills/.trash/`, где вы можете восстановить файлы до того, как [retention sweep](/docs/ru/claude-directory#cleaned-up-automatically) их удалит. Как только ваша организация снова включит Skills, Claude Code загружает skills, которые вы включили при следующей синхронизации.262Если ваша организация отключает Skills на claude.ai, Claude Code удаляет скачанные скиллы, и они перестают загружаться. Удалённые скиллы перемещаются в `~/.claude/skills/.trash/`, где вы можете восстановить файлы, пока их не удалит [очистка по сроку хранения](/docs/ru/claude-directory#cleaned-up-automatically). Как только ваша организация снова включит Skills, Claude Code скачает включённые вами скиллы при следующей синхронизации.

253 263 

254<h4 id="when-a-synced-skill-name-matches-another-command">264<h4 id="when-a-synced-skill-name-matches-another-command">

255 Когда имя синхронизированного skill совпадает с другой командой265 Когда имя синхронизированного скилла совпадает с другой командой

256</h4>266</h4>

257 267 

258Вы можете вызвать синхронизированный skill по его короткому имени, `/<name>`, или по его полному имени, `/anthropic-skills:<name>`. Когда другая команда использует короткое имя, `/<name>` запускает другую команду, и синхронизированный skill запускается только как `/anthropic-skills:<name>`. С локальным skill `deploy` и синхронизированным `deploy`, `/deploy` запускает локальный skill и `/anthropic-skills:deploy` запускает синхронизированный. До v2.1.269 синхронизированный skill имел только его короткое имя.268Вы можете вызвать синхронизированный скилл по короткому имени, `/<name>`, или по полному имени, `/anthropic-skills:<name>`. Когда короткое имя использует другая команда, `/<name>` запускает другую команду, а синхронизированный скилл запускается только как `/anthropic-skills:<name>`. Если есть локальный скилл `deploy` и синхронизированный `deploy`, `/deploy` запускает локальный скилл, а `/anthropic-skills:deploy` — синхронизированный. До v2.1.269 у синхронизированного скилла было только короткое имя.

259 269 

260В меню `/`, `/skills` и `/context` синхронизированный skill появляется под его коротким именем, или под его полным именем, пока другая команда использует короткое имя. Запустите `/skills` в вашем сеансе. Примечание под списком объясняет каждый синхронизированный skill, который потерял его короткое имя. Если один из ваших personal skills или файлов команд в `~/.claude/` использует имя, примечание также говорит, что переименовать или удалить, чтобы освободить его.270В меню `/`, `/skills` и `/context` синхронизированный скилл отображается под своим коротким именем или под полным именем, пока короткое имя использует другая команда. Выполните `/skills` в своей сессии. Примечание под списком поясняет каждый синхронизированный скилл, потерявший своё короткое имя. Если это имя использует один из ваших личных скиллов или файлов команд в `~/.claude/`, в примечании также указано, что переименовать или удалить, чтобы освободить его.

261 271 

262От v2.1.269 до v2.1.280 эти списки показывали каждый синхронизированный skill под его полным именем, и `/skills` не имел такого примечания; оба изменились в v2.1.281.272С v2.1.269 по v2.1.280 эти списки показывали каждый синхронизированный скилл под полным именем, а в `/skills` не было такого примечания; и то и другое изменилось в v2.1.281.

263 273 

264Команда, которая использует короткое имя, может быть любой из этих:274Командой, использующей короткое имя, может быть любая из следующих:

265 275 

266* Встроенная команда или [встроенный skill](#bundled-skills), включая тот, который недоступен в вашем сеансе, например после отключения встроенных skills276* Встроенная команда или [встроенный скилл](#bundled-skills), включая недоступный в вашей сессии, например после того, как вы отключили встроенные скиллы

267* Skill на любом [локальном уровне](#where-skills-live) или файл в `.claude/commands/`277* Скилл на любом [локальном уровне](#where-skills-live) или файл в `.claude/commands/`

268* Plugin skill278* Скилл плагина

269* [MCP prompt](/docs/ru/mcp#use-mcp-prompts-as-commands)279* [MCP-промпт](/docs/ru/mcp#use-mcp-prompts-as-commands)

270 280 

271Claude Code помечает синхронизированные skills, чтобы вы могли сказать, откуда они пришли. Меню `/skills` и `/context` группируют синхронизированные skills под `claude.ai sync`, и меню команды `/` помечают их как поступающие с claude.ai.281Claude Code помечает синхронизированные скиллы, чтобы вы могли определить их происхождение. Меню `/skills` и `/context` группируют синхронизированные скиллы в разделе `claude.ai sync`, а меню команд `/` помечает их как полученные с claude.ai.

272 282 

273При сравнении имен Claude Code игнорирует регистр, пробелы и невидимые символы и рассматривает формы совместимости, такие как полноширинные буквы и варианты тире, как их простые эквиваленты. Например, синхронизированный skill с именем `Commit` и локальный skill с именем `commit` считаются одним и тем же именем, поэтому `/commit` продолжает запускать ваш локальный skill.283При сравнении имён Claude Code игнорирует регистр, пробелы и невидимые символы, а совместимые формы, такие как полноширинные буквы и варианты тире, считает их обычными эквивалентами. Например, синхронизированный скилл с именем `Commit` и локальный скилл с именем `commit` считаются одним и тем же именем, поэтому `/commit` продолжает запускать ваш локальный скилл.

274 284 

275Имя, которое отличается только похожей буквой из другого алфавита, считается другим именем, и метка `claude.ai sync` — это то, как вы различаете эти два. Эти проверки и метки требуют Claude Code v2.1.228 или позже.285Имя, отличающееся только похожей буквой из другого алфавита, считается другим именем, и различить их можно по метке `claude.ai sync`. Для этих проверок и меток требуется Claude Code v2.1.228 или новее.

276 286 

277<h4 id="names-reserved-for-synced-skills">287<h4 id="names-reserved-for-synced-skills">

278 Имена, зарезервированные для синхронизированных skills288 Имена, зарезервированные для синхронизированных скиллов

279</h4>289</h4>

280 290 

281Claude Code резервирует имя `anthropic-skills` и каждое имя внутри этого пространства имен, такое как `anthropic-skills:pdf`, для skills, синхронизированных с claude.ai, поэтому полное имя синхронизированного skill никогда не запускает что-либо еще. Имя зарезервировано в каждом сеансе, независимо от того, входите ли вы с учетной записью claude.ai.291Claude Code резервирует имя `anthropic-skills` и все имена внутри этого пространства имён, такие как `anthropic-skills:pdf`, для скиллов, синхронизированных с claude.ai, поэтому полное имя синхронизированного скилла никогда не запускает ничего другого. Имя зарезервировано в каждой сессии, независимо от того, входите ли вы с аккаунтом claude.ai.

282 292 

283* **Папка skill, frontmatter `name`, файл или подпапка в `.claude/commands/` или [сохраненный workflow](/docs/ru/workflows#save-the-workflow-for-reuse)**: он не загружается. [Уведомление при запуске](/docs/ru/errors#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) называет первый элемент для переименования или редактирования.293* **Папка скилла, `name` во frontmatter, файл или подпапка в `.claude/commands/` или [сохранённый workflow](/docs/ru/workflows#save-the-workflow-for-reuse)**: не загружается. [Уведомление при запуске](/docs/ru/errors#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) указывает первый элемент, который нужно переименовать или изменить.

284* **Plugin с именем `anthropic-skills`**: он загружается. Когда один из его skills и синхронизированный skill оба названы `<name>`, `/anthropic-skills:<name>` запускает синхронизированный skill.294* **Плагин с именем `anthropic-skills`**: загружается. Когда один из его скиллов и синхронизированный скилл оба называются `<name>`, `/anthropic-skills:<name>` запускает синхронизированный скилл.

285* **MCP server с именем `anthropic-skills`**: он подключается и его tools работают, но [его prompts не появляются как команды](/docs/ru/mcp#use-mcp-prompts-as-commands). Переименуйте server в вашей MCP конфигурации, чтобы их перечислить.295* **MCP-сервер с именем `anthropic-skills`**: подключается, и его инструменты работают, но [его промпты не отображаются как команды](/docs/ru/mcp#use-mcp-prompts-as-commands). Переименуйте сервер в конфигурации MCP, чтобы они отображались.

286 296 

287<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">297<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">

288 Как Claude Code обрабатывает frontmatter синхронизированного skill298 Как Claude Code обрабатывает frontmatter синхронизированного скилла

289</h4>299</h4>

290 300 

291Claude Code применяет два правила к frontmatter синхронизированного skill:301Claude Code применяет к frontmatter синхронизированного скилла два правила:

292 302 

293* Claude Code соблюдает frontmatter в каждом виде сеанса, поэтому грант `allowed-tools` проходит через нормальный [permission flow](/docs/ru/permissions).303* Frontmatter применяется в любой сессии, поэтому разрешение `allowed-tools` проходит через обычный [процесс разрешений](/docs/ru/permissions). Если ваша организация устанавливает `allowManagedPermissionRulesOnly`, разрешение [не применяется](#when-only-managed-permission-rules-apply).

294* Claude Code санитизирует текст отображения, который предоставляет skill, такой как его описание. Он удаляет управляющие символы, и в тексте, который достигает Claude, такой как описание, он также экранирует угловые скобки, чтобы текст не мог имитировать внутреннее форматирование Claude Code. Эта санитизация требует Claude Code v2.1.228 или позже.304* Claude Code очищает отображаемый текст, предоставляемый скиллом, например его описание. Он удаляет управляющие символы, а в тексте, который попадает к Claude, например в описании, также экранирует угловые скобки, чтобы текст не мог имитировать внутреннее форматирование Claude Code. Для этой очистки требуется Claude Code v2.1.228 или новее.

295 305 

296<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">306<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">

297 Как Claude Code обрабатывает тело синхронизированного skill307 Как Claude Code обрабатывает тело синхронизированного скилла

298</h4>308</h4>

299 309 

300То, что Claude Code делает с телом синхронизированного skill, зависит от того, где работает сеанс:310То, что Claude Code делает с телом синхронизированного скилла, зависит от того, где выполняется сессия:

301 311 

302* В облачном сеансе тело сохраняет поведение, которое имеет локальный skill, потому что сеанс работает в изолированном контейнере.312* В облачной сессии тело ведёт себя так же, как у локального скилла, поскольку сессия выполняется в изолированном контейнере.

303* В сеансе Cowork на вашем рабочем столе тело сохраняет поведение локального skill, за исключением того, что Claude Code заменяет каждую строку команды `!` на заполнитель [`disableSkillShellExecution`](#inject-dynamic-context), как он делает для каждого skill, который вы предоставляете там.313* В сессии Cowork на вашем компьютере тело ведёт себя так же, как у локального скилла, за исключением того, что Claude Code заменяет каждую строку команды `!` на [заполнитель `disableSkillShellExecution`](#inject-dynamic-context), как он делает для каждого скилла, который вы там предоставляете.

304* В любом другом сеансе на вашей машине Claude Code не запускает команды [`!`](#inject-dynamic-context), не прикрепляет файлы, которые ссылки `@` называют так, как это делает для локального skill, и не подставляет заполнители `${CLAUDE_PROJECT_DIR}` и `${CLAUDE_SESSION_ID}`, поэтому ссылки `@` и оба заполнителя достигают Claude как буквальный текст. Строка команды `!` также достигает Claude как буквальный текст, или как этот заполнитель, когда `disableSkillShellExecution` включен. Эта обработка требует Claude Code v2.1.228 или позже.314* В любой другой сессии на вашем компьютере Claude Code не выполняет [команды `!`](#inject-dynamic-context), не прикрепляет файлы, указанные в ссылках `@`, как он делает для локального скилла, и не подставляет заполнители `${CLAUDE_PROJECT_DIR}` и `${CLAUDE_SESSION_ID}`, поэтому ссылки `@` и оба заполнителя попадают к Claude как буквальный текст. Строка команды `!` также попадает к Claude как буквальный текст или как тот заполнитель, когда включён `disableSkillShellExecution`. Для такой обработки требуется Claude Code v2.1.228 или новее.

305 315 

306<h3 id="live-change-detection">316<h3 id="live-change-detection">

307 Редактируйте skill во время сеанса317 Редактирование скилла во время сессии

308</h3>318</h3>

309 319 

310Claude Code отслеживает каталоги skills на предмет изменений файлов, кроме [bare mode](/docs/ru/headless#start-faster-with-bare-mode). Когда вы добавляете, редактируете или удаляете skill в `~/.claude/skills/`, project `.claude/skills/` или `.claude/skills/` внутри каталога `--add-dir`, Claude Code подхватывает изменение в текущем сеансе без перезагрузки.320Claude Code отслеживает изменения файлов в каталогах скиллов, за исключением [режима bare](/docs/ru/headless#start-faster-with-bare-mode). Когда вы добавляете, редактируете или удаляете скилл в `~/.claude/skills/`, в `.claude/skills/` проекта или в `.claude/skills/` внутри каталога `--add-dir`, Claude Code подхватывает изменение в текущей сессии без перезапуска.

311 321 

312Если вы создаете каталог skills верхнего уровня, который не существовал при запуске сеанса, запустите [`/reload-skills`](/docs/ru/commands#all-commands), чтобы подхватить skills, которые вы туда поместили. Claude Code еще не отслеживает этот каталог, поэтому запустите `/reload-skills` снова после каждого более позднего изменения там.322Если вы создаёте каталог скиллов верхнего уровня, которого не было при старте сессии, выполните [`/reload-skills`](/docs/ru/commands#all-commands), чтобы подхватить помещённые туда скиллы. Claude Code ещё не отслеживает этот каталог, поэтому выполняйте `/reload-skills` снова после каждого последующего изменения в нём.

313 323 

314Обнаружение изменений в реальном времени охватывает только текст `SKILL.md`. Для папки skill, которая также является [plugin](/docs/ru/plugins/loading#plugins-shared-through-a-repository), изменения в `hooks/`, `.mcp.json`, `agents/` и `output-styles/` требуют `/reload-plugins` для вступления в силу.324Отслеживание изменений в реальном времени охватывает только текст `SKILL.md`. Для папки скилла, которая также является [плагином](/docs/ru/plugins/loading#plugins-shared-through-a-repository), изменения в `hooks/`, `.mcp.json`, `agents/` и `output-styles/` вступают в силу только после `/reload-plugins`.

315 325 

316<h3 id="remove-a-skill">326<h3 id="remove-a-skill">

317 Удалите skill327 Удаление скилла

318</h3>328</h3>

319 329 

320Способ удаления skill зависит от того, откуда он пришел:330Способ удаления скилла зависит от его происхождения:

321 331 

322* **Personal или project skill**: удалите каталог skill, `~/.claude/skills/<skill-name>/` или `.claude/skills/<skill-name>/`. Claude Code [удаляет его из `/skills` в текущем сеансе](#live-change-detection); содержимое, которое Claude Code уже загрузил из него, следует [lifecycle содержимого skill](#skill-content-lifecycle).332* **Личный или проектный скилл**: удалите каталог скилла, `~/.claude/skills/<skill-name>/` или `.claude/skills/<skill-name>/`. Claude Code [убирает его из `/skills` в текущей сессии](#live-change-detection); содержимое, которое Claude Code уже загрузил из него, подчиняется [жизненному циклу содержимого скилла](#skill-content-lifecycle).

323* **Enterprise skill**: администратор удаляет каталог skill из `.claude/skills/` внутри [каталога управляемых параметров](/docs/ru/managed-settings#delivery-mechanisms), например `/etc/claude-code/.claude/skills/<skill-name>/` на Linux.333* **Корпоративный скилл**: администратор удаляет каталог скилла из `.claude/skills/` внутри [каталога управляемых настроек](/docs/ru/managed-settings#delivery-mechanisms), например `/etc/claude-code/.claude/skills/<skill-name>/` в Linux.

324* **Plugin skill**: отключите или удалите plugin, который его предоставляет, из меню `/plugin` или с `/plugin uninstall <plugin-name>@<marketplace-name>`. Claude Code выгружает skills plugin, когда [изменение применяется](/docs/ru/plugins/cli-reference#reload-plugins) или когда вы перезагружаетесь.334* **Скилл плагина**: отключите или удалите плагин, который его предоставляет, через меню `/plugin` или с помощью `/plugin uninstall <plugin-name>@<marketplace-name>`. Claude Code выгружает скиллы плагина, когда [изменение применяется](/docs/ru/plugins/cli-reference#reload-plugins), или при перезапуске.

325* **Skill, синхронизированный с claude.ai**: отключите skill для вашей учетной записи claude.ai в том же месте, где вы его [включили](#skills-in-cowork-and-cloud-sessions). Claude Code удаляет его из `~/.claude/skills/synced/` при следующей [синхронизации ваших skills](#where-synced-skills-load). Если вы вместо этого удалите каталог вручную, следующая синхронизация загружает его снова, пока skill остается включенным на claude.ai.335* **Скилл, синхронизированный с claude.ai**: отключите скилл для своего аккаунта claude.ai там же, где вы его [включили](#skills-in-cowork-and-cloud-sessions). Claude Code удалит его из `~/.claude/skills/synced/` при следующей [синхронизации ваших скиллов](#where-synced-skills-load). Если вместо этого вы удалите каталог вручную, следующая синхронизация скачает его снова, пока скилл остаётся включённым на claude.ai.

326* **Встроенный skill**: установите [`disableBundledSkills`](#bundled-skills) на `true`, чтобы отключить встроенные skills, или установите один skill на `"off"` в [`skillOverrides`](#override-skill-visibility-from-settings), чтобы скрыть его.336* **Встроенный скилл**: установите [`disableBundledSkills`](#bundled-skills) в `true`, чтобы отключить встроенные скиллы, или установите для одного скилла значение `"off"` в [`skillOverrides`](#override-skill-visibility-from-settings), чтобы скрыть его.

327 337 

328Чтобы сохранить personal или project skill, но остановить Claude от его вызова самостоятельно, установите [`disable-model-invocation: true`](#control-who-invokes-a-skill) в его frontmatter, или `"user-invocable-only"` в [`skillOverrides`](#override-skill-visibility-from-settings), когда вы не хотите редактировать файл.338Чтобы сохранить личный или проектный скилл, но запретить Claude вызывать его самостоятельно, установите [`disable-model-invocation: true`](#control-who-invokes-a-skill) в его frontmatter или `"user-invocable-only"` в [`skillOverrides`](#override-skill-visibility-from-settings), если не хотите редактировать файл.

329 339 

330<h2 id="configure-skills">340<h2 id="configure-skills">

331 Настройка skills341 Настройка skills


603 613 

604Поле `allowed-tools` предоставляет разрешение для перечисленных tools во время хода, который вызывает skill, поэтому Claude может использовать их без запроса вашего одобрения. Разрешение очищается при отправке следующего сообщения, даже если содержимое skill [остается в контексте](#skill-content-lifecycle); повторный вызов skill повторно применяет его для этого хода. Это не ограничивает, какие tools доступны: каждый tool остается вызываемым, и ваши [параметры разрешений](/docs/ru/permissions) все еще управляют tools, которые не указаны. Чтобы предварительно одобрить tools для всего сеанса, а не одного хода, добавьте правила разрешения к этим параметрам разрешений вместо этого.614Поле `allowed-tools` предоставляет разрешение для перечисленных tools во время хода, который вызывает skill, поэтому Claude может использовать их без запроса вашего одобрения. Разрешение очищается при отправке следующего сообщения, даже если содержимое skill [остается в контексте](#skill-content-lifecycle); повторный вызов skill повторно применяет его для этого хода. Это не ограничивает, какие tools доступны: каждый tool остается вызываемым, и ваши [параметры разрешений](/docs/ru/permissions) все еще управляют tools, которые не указаны. Чтобы предварительно одобрить tools для всего сеанса, а не одного хода, добавьте правила разрешения к этим параметрам разрешений вместо этого.

605 615 

606Доверие рабочего пространства не ограничивает это поле. Claude Code применяет `allowed-tools` skill проекта всякий раз, когда вы или Claude вызываете skill, включая в запуск `-p` в папке, которой вы никогда не доверяли. Skill может предоставить себе широкий доступ к tools, поэтому проверьте `allowed-tools` skills, зафиксированных в репозитории, перед запуском Claude Code там.616Доверие к рабочему пространству не влияет на это поле. Claude Code применяет `allowed-tools` skill проекта даже при запуске `-p` в папке, которой вы никогда не доверяли. Skill может предоставить себе широкий доступ к инструментам, поэтому проверяйте `allowed-tools` у skills, добавленных в репозиторий, прежде чем запускать там Claude Code. Чтобы запретить это поле для skills из репозиториев во всей организации, см. [Когда применяются только управляемые правила разрешений](#when-only-managed-permission-rules-apply).

607 617 

608Этот skill позволяет Claude запускать git-команды без одобрения за использование всякий раз, когда вы вызываете его:618Этот skill позволяет Claude запускать git-команды без одобрения за использование всякий раз, когда вы вызываете его:

609 619 


618 628 

619Чтобы удалить tools из доступного пула Claude во время активности skill, перечислите их в `disallowed-tools` в frontmatter skill. Ограничение очищается при отправке следующего сообщения. Как и правила отказа, это поле не может удалить [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior) пока остаются другие tools. Чтобы заблокировать tools во всех skills и подсказках, добавьте правила отказа в ваши [параметры разрешений](/docs/ru/permissions).629Чтобы удалить tools из доступного пула Claude во время активности skill, перечислите их в `disallowed-tools` в frontmatter skill. Ограничение очищается при отправке следующего сообщения. Как и правила отказа, это поле не может удалить [`EndConversation`](/docs/ru/tools-reference#endconversation-tool-behavior) пока остаются другие tools. Чтобы заблокировать tools во всех skills и подсказках, добавьте правила отказа в ваши [параметры разрешений](/docs/ru/permissions).

620 630 

631<h4 id="when-only-managed-permission-rules-apply">

632 Когда применяются только управляемые правила разрешений

633</h4>

634 

635Когда ваша организация задает `allowManagedPermissionRulesOnly` в управляемых настройках, Claude Code игнорирует `allowed-tools` в skills проекта и личных skills, а также в [других источниках, перечисленных в описании этой настройки](/docs/ru/settings-reference#allowmanagedpermissionrulesonly). Для этого требуется Claude Code v2.1.282 или новее.

636 

637Инструменты, перечисленные в затронутом skill, вместо этого проходят через управляемые правила вашей организации и обычный запрос разрешения. Выполните `/status`, чтобы увидеть список всех skills, чье поле `allowed-tools` Claude Code проигнорировал на данный момент в сессии. Внедряемая команда в skill, которую не разрешает ни одно управляемое правило, обрабатывается согласно разделу [Проверка разрешений для внедряемых команд](#permission-checks-on-injected-commands).

638 

621<h3 id="pass-arguments-to-skills">639<h3 id="pass-arguments-to-skills">

622 Передача аргументов в skills640 Передача аргументов в skills

623</h3>641</h3>


766 784 

767Внедренные команды никогда не запрашивают разрешение во время отображения навыка. Claude Code проверяет каждую из них против ваших [правил разрешений](/docs/ru/permissions) сначала. Команда, которой соответствует правило deny, прерывает вызов с `Shell command permission check failed for pattern "..."`.785Внедренные команды никогда не запрашивают разрешение во время отображения навыка. Claude Code проверяет каждую из них против ваших [правил разрешений](/docs/ru/permissions) сначала. Команда, которой соответствует правило deny, прерывает вызов с `Shell command permission check failed for pattern "..."`.

768 786 

769Вне [режима auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), когда проверка разрешения команды возвращает что-либо, кроме разрешения, Claude Code прерывает вызов с той же ошибкой. Это включает правило, которое обычно вас спрашивает. Чтобы предотвратить прерывание несовпадающей команды здесь, предварительно одобрите ее с помощью [`allowed-tools`](#pre-approve-tools-for-a-skill). Правила deny и ask все равно переопределяют `allowed-tools`. См. [Manage permissions](/docs/ru/permissions#manage-permissions).787Вне [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), когда проверка разрешений команды возвращает что-либо, кроме allow, Claude Code прерывает вызов с той же ошибкой. Это касается и правила, которое обычно запрашивало бы у вас подтверждение. Чтобы команда без совпадающего правила не прерывала вызов, заранее разрешите ее с помощью [`allowed-tools`](#pre-approve-tools-for-a-skill). Если ваша организация ограничивает правила разрешений управляемыми настройками, см. [Когда применяются только управляемые правила разрешений](#when-only-managed-permission-rules-apply). Правила deny и ask по-прежнему имеют приоритет над `allowed-tools`. См. [Управление разрешениями](/docs/ru/permissions#manage-permissions).

770 788 

771В режиме auto команда, которая в противном случае требовала бы вашего одобрения, не прерывает вызов. Навык загружается с инструкцией, указывающей Claude запустить команду первой, и собственный вызов Claude затем проходит через [обычные проверки режима auto](/docs/ru/permission-modes#how-the-classifier-evaluates-actions). Вызов все еще прерывается в [разветвленном навыке](#run-skills-in-a-subagent), который устанавливает `agent`, и в сеансе, где Claude не имеет [инструмента оболочки, который запускает внедренные команды](#how-injected-commands-run).789В режиме auto команда, которая в противном случае требовала бы вашего одобрения, не прерывает вызов. Навык загружается с инструкцией, указывающей Claude запустить команду первой, и собственный вызов Claude затем проходит через [обычные проверки режима auto](/docs/ru/permission-modes#how-the-classifier-evaluates-actions). Вызов все еще прерывается в [разветвленном навыке](#run-skills-in-a-subagent), который устанавливает `agent`, и в сеансе, где Claude не имеет [инструмента оболочки, который запускает внедренные команды](#how-injected-commands-run).

772 790 


840 Ограничение доступа Claude к навыкам858 Ограничение доступа Claude к навыкам

841</h3>859</h3>

842 860 

843По умолчанию Claude может вызывать любой навык, у которого не установлено `disable-model-invocation: true`. Навыки, которые определяют `allowed-tools`, предоставляют Claude доступ к этим инструментам без одобрения за использование во время хода, который вызывает навык; грант очищается при отправке следующего сообщения. Ваши [параметры разрешений](/docs/ru/permissions) по-прежнему управляют поведением базового одобрения для всех остальных инструментов. Несколько встроенных команд также доступны через инструмент Skill, включая `/init` и `/security-review`. Другие встроенные команды, такие как `/compact`, нет.861По умолчанию Claude может вызывать любой скилл, у которого не установлено `disable-model-invocation: true`. Скиллы, определяющие [`allowed-tools`](#pre-approve-tools-for-a-skill), предоставляют Claude доступ к этим инструментам без подтверждения каждого использования в течение хода, вызвавшего скилл; это разрешение сбрасывается, когда вы отправляете следующее сообщение. Ваши [настройки разрешений](/docs/ru/permissions) по-прежнему определяют базовое поведение подтверждения для всех остальных инструментов. Несколько встроенных команд также доступны через инструмент Skill, включая `/init` и `/security-review`. Другие встроенные команды, такие как `/compact`, — нет.

844 862 

845Три способа контролировать, какие навыки может вызывать Claude:863Три способа контролировать, какие навыки может вызывать Claude:

846 864 

sub-agents.md +6 −1

Details

1255| `x` | Остановите выбранный fork, если он работает, или отклоните его строку, если он больше не работает. На строке основной сессии или на строке fork, чей транскрипт вы открыли с помощью `Enter`, `x` вводит текст в приглашение вместо этого |1255| `x` | Остановите выбранный fork, если он работает, или отклоните его строку, если он больше не работает. На строке основной сессии или на строке fork, чей транскрипт вы открыли с помощью `Enter`, `x` вводит текст в приглашение вместо этого |

1256| `Esc` | Верните фокус на входное приглашение |1256| `Esc` | Верните фокус на входное приглашение |

1257 1257 

1258С открытым транскриптом fork или subagent, последующие сообщения и [skills](/docs/ru/skills) идут к этому агенту, но встроенные команды по-прежнему работают в вашем основном разговоре. Начиная с v2.1.199, ввод `/model` или `/fast` в этом представлении показывает уведомление о том, что это изменяет модель основного разговора или режим быстрого выполнения, а не просмотренного агента, вместо того чтобы запускать его молча.1258Когда открыт транскрипт fork или субагента, последующие сообщения и [скиллы](/docs/ru/skills) отправляются этому агенту, а встроенные команды — в ваш основной диалог, со следующими мерами предосторожности:

1259 

1260* `/compact`, `/clear` и `/rewind` действуют на основной диалог, поэтому Claude Code просит вас подтвердить запуск любой из них из этого представления.

1261* `/model` и `/fast` задают модель и быстрый режим основного диалога, а не просматриваемого агента, поэтому из этого представления они не запускаются. Уведомление объясняет причину.

1262 

1263Чтобы просматриваемый агент прочитал ваше сообщение до завершения работы, которую он ожидает, отправьте его с помощью [`Ctrl+Enter` или `Ctrl+X Ctrl+S`](/docs/ru/keybindings#chat-actions). Любая shell-команда или субагент, которых ожидает агент и которые можно перевести в [фон](/docs/ru/tools-reference#background-commands), переводятся туда и продолжают работать. Если агент пишет ответ или ожидает работу, которую нельзя перевести в фон, он продолжает и прочитает ваше сообщение, когда она завершится. Требуется Claude Code v2.1.286 или новее.

1259 1264 

1260<h3 id="how-forks-differ-from-other-subagents">1265<h3 id="how-forks-differ-from-other-subagents">

1261 Как forks отличаются от других subagents1266 Как forks отличаются от других subagents

Details

231 231 

232Когда команда переднего плана достигает своего ограничения по времени без завершения, Claude Code переводит её в фоновый режим вместо остановки, если только команда не начинается с `sleep`. Перемещённая команда имеет [ограничение по времени](#time-limit-for-background-commands), отсчитываемое с момента перемещения, и перемещённая команда подагента переднего плана всё ещё останавливается, когда заканчивается запуск этого подагента.232Когда команда переднего плана достигает своего ограничения по времени без завершения, Claude Code переводит её в фоновый режим вместо остановки, если только команда не начинается с `sleep`. Перемещённая команда имеет [ограничение по времени](#time-limit-for-background-commands), отсчитываемое с момента перемещения, и перемещённая команда подагента переднего плана всё ещё останавливается, когда заканчивается запуск этого подагента.

233 233 

234Установка [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/ru/env-vars#variables) отключает автоматическое фоновое выполнение вместе с остальной функциональностью фоновых задач.234Установка [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/ru/env-vars#variables) или запуск в [режиме bare](/docs/ru/headless#start-faster-with-bare-mode) отключает автоматическое фоновое выполнение вместе с остальной функциональностью фоновых задач, поэтому команда, достигшая своего таймаута, вместо этого останавливается.

235 235 

236Результат команды, перемещённой в фоновый режим, указывает, что произошло:236Результат команды, перемещённой в фоновый режим, указывает, что произошло:

237 237 


661 661 

662Явное правило `WebFetch(domain:...)` в `deny`, `ask` или `allow` имеет приоритет над предварительно одобренным набором, поэтому вы можете заблокировать предварительно одобренный домен или потребовать для него подсказку.662Явное правило `WebFetch(domain:...)` в `deny`, `ask` или `allow` имеет приоритет над предварительно одобренным набором, поэтому вы можете заблокировать предварительно одобренный домен или потребовать для него подсказку.

663 663 

664Когда URL является ссылкой на [артефакт](/docs/ru/artifacts) claude.ai, Claude Code также может запросить подтверждение на чтение самого артефакта. Случаи, в которых он запрашивает подтверждение, описаны в разделе [Чтение артефакта, которым с вами поделились](/docs/ru/artifacts#read-an-artifact-shared-with-you).

665 

664WebFetch устанавливает заголовок `User-Agent`, начинающийся с `Claude-User`, и заголовок `Accept`, который предпочитает Markdown перед HTML, чтобы серверы, поддерживающие согласование содержимого, могли возвращать Markdown напрямую.666WebFetch устанавливает заголовок `User-Agent`, начинающийся с `Claude-User`, и заголовок `Accept`, который предпочитает Markdown перед HTML, чтобы серверы, поддерживающие согласование содержимого, могли возвращать Markdown напрямую.

665 667 

666Изолированные команды не наследуют встроенный набор предварительно одобренных доменов документации WebFetch. Чтобы позволить изолированной команде достичь домена без запроса, добавьте домен в [`allowedDomains`](/docs/ru/settings-reference#sandbox-network-alloweddomains) или разрешите его с помощью правила `WebFetch(domain:...)`, которое [песочница также соблюдает](/docs/ru/sandboxing#network-isolation). WebFetch никогда не читает список разрешений песочницы в ответ, поэтому добавление домена в песочницу или список разрешений сети организации не останавливает WebFetch от запроса для него.668Изолированные команды не наследуют встроенный набор предварительно одобренных доменов документации WebFetch. Чтобы позволить изолированной команде достичь домена без запроса, добавьте домен в [`allowedDomains`](/docs/ru/settings-reference#sandbox-network-alloweddomains) или разрешите его с помощью правила `WebFetch(domain:...)`, которое [песочница также соблюдает](/docs/ru/sandboxing#network-isolation). WebFetch никогда не читает список разрешений песочницы в ответ, поэтому добавление домена в песочницу или список разрешений сети организации не останавливает WebFetch от запроса для него.

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>

ultrareview.md +5 −5

Details

153 Отслеживание выполняемого анализа153 Отслеживание выполняемого анализа

154</h2>154</h2>

155 155 

156Анализ обычно занимает от 5 до 10 минут. Анализ работает как фоновая задача, поэтому вы можете продолжать работать в вашей сессии, запускать другие команды или полностью закрыть терминал. Если вы выбрали [публикацию результатов в запрос на слияние](#post-findings-to-the-pull-request), держите сессию открытой до завершения анализа; если сессия завершится раньше, Claude Code ничего не публикует.156Анализ обычно занимает от 5 до 10 минут. Анализ работает как фоновая задача, поэтому вы можете продолжать работать в вашей сессии или запускать другие команды. Если вы выбрали [публикацию результатов в pull request](#post-findings-to-the-pull-request), держите сессию открытой до завершения анализа; если сессия завершится раньше, Claude Code ничего не публикует.

157 157 

158Используйте `/tasks` для просмотра выполняемых и завершенных анализов, открытия подробного представления анализа или остановки выполняемого анализа. Если вы остановите анализ, Claude Code архивирует облачную сессию и не возвращает частичные результаты.158Используйте `/tasks` для просмотра выполняемых и завершенных анализов, открытия подробного представления анализа или остановки выполняемого анализа. Если вы остановите анализ, Claude Code архивирует облачную сессию и не возвращает частичные результаты.

159 159 


181 181 

182Вы даёте согласие на резервный вариант для всего репозитория и на подтверждение выставления счёта и условия при запуске подкоманды, поэтому выполнение начинается без ожидания ввода. Запуск её самостоятельно — это то, что считается согласием. Когда Claude запускает подкоманду для вас, например через инструмент Bash, Claude Code отказывает в проверке всего репозитория.182Вы даёте согласие на резервный вариант для всего репозитория и на подтверждение выставления счёта и условия при запуске подкоманды, поэтому выполнение начинается без ожидания ввода. Запуск её самостоятельно — это то, что считается согласием. Когда Claude запускает подкоманду для вас, например через инструмент Bash, Claude Code отказывает в проверке всего репозитория.

183 183 

184На Claude Code v2.1.218 или позже вы также можете запустить облачный обзор, выполнив `/code-review ultra` в неинтерактивной сессии, например `claude -p '/code-review ultra'`. Claude Code запускает обзор и выводит ссылку отслеживания без ожидания результатов, в отличие от `claude ultrareview`, который блокирует выполнение до их получения. Когда обзор будет выставлять счёт за использование кредитов, Claude Code останавливается перед запуском и указывает вам на `claude ultrareview`, потому что подтверждение выставления счёта требует интерактивной сессии. До v2.1.218 `/code-review ultra` в неинтерактивной сессии запускал локальный обзор.184`claude -p '/code-review ultra'` не возвращает вам результаты, поэтому в скриптах используйте `claude ultrareview`. Запуск с `-p` запускает облачный обзор и завершается, не дожидаясь его окончания. Если обзор будет списывать кредиты использования, запуск с `-p` останавливается, не запуская его. До v2.1.218 `/code-review ultra` в неинтерактивной сессии запускал локальный обзор.

185 185 

186Сообщения о ходе выполнения и URL живой сессии идут в stderr, чтобы stdout оставался пригодным для анализа. Используйте эти флаги для управления выводом, тайм-аутом и тем, следует ли публиковать результаты:186`claude ultrareview` записывает сообщения о ходе выполнения в stderr, чтобы stdout оставался пригодным для анализа. Используйте эти флаги для управления выводом, таймаутом и тем, следует ли публиковать результаты:

187 187 

188| Флаг | Описание |188| Флаг | Описание |

189| - | - |189| - | - |


200* **1**: обзор не запустился или был остановлен до завершения, облачная сессия ошибилась или истёк тайм-аут200* **1**: обзор не запустился или был остановлен до завершения, облачная сессия ошибилась или истёк тайм-аут

201* **130**: вы прервали подкоманду с помощью Ctrl-C201* **130**: вы прервали подкоманду с помощью Ctrl-C

202 202 

203Если вы прервёте подкоманду, удалённый обзор продолжит работу; следуйте по ссылке сессии, выведённой в stderr, чтобы наблюдать за ней в браузере.203Если подкоманда завершится до получения результатов, они так и не попадут в ваш терминал, а повторный запуск начнёт новый обзор, а не продолжит прежний. Новый обзор [считается отдельным запуском](#pricing-and-free-runs).

204 204 

205С флагом `--post` подкоманда начинает публикацию сразу после вывода результатов и выводит ссылку в stderr.205С флагом `--post` подкоманда начинает публикацию сразу после вывода результатов и выводит ссылку в stderr.

206 206 

207* Если выполнение не удаётся, остановлено, истекает тайм-аут или вы его прерываете, подкоманда ничего не публикует.207* Если выполнение не удаётся, остановлено или истекает таймаут, подкоманда ничего не публикует.

208* Если обзор завершится, но комментарий не будет опубликован, Claude Code выведет причину в stderr, а результаты останутся в stdout, чтобы вы могли опубликовать их вручную.208* Если обзор завершится, но комментарий не будет опубликован, Claude Code выведет причину в stderr, а результаты останутся в stdout, чтобы вы могли опубликовать их вручную.

209 209 

210Для автоматических обзоров на pull request GitHub [Code Review](/docs/ru/code-review) интегрируется с вашим репозиторием напрямую и публикует результаты как встроенные комментарии PR без этапа CLI.210Для автоматических обзоров на pull request GitHub [Code Review](/docs/ru/code-review) интегрируется с вашим репозиторием напрямую и публикует результаты как встроенные комментарии PR без этапа CLI.

vs-code.md +21 −3

Details

221* **Session titles**: новые сеансы получают названия, созданные ИИ, на основе вашего первого сообщения.221* **Session titles**: новые сеансы получают названия, созданные ИИ, на основе вашего первого сообщения.

222* **Rename and archive**: наведите курсор на сеанс, чтобы открыть эти действия. Переименуйте, чтобы дать ему описательное название, или архивируйте, чтобы переместить его в группу **Archived sessions** в нижней части списка.222* **Rename and archive**: наведите курсор на сеанс, чтобы открыть эти действия. Переименуйте, чтобы дать ему описательное название, или архивируйте, чтобы переместить его в группу **Archived sessions** в нижней части списка.

223 223 

224Если диалог открыт в другом процессе Claude Code, например в `claude` в терминале или в другом окне VS Code, вместо поля ввода промпта появляется уведомление: `This conversation is still open somewhere else. Using it in two places at once can mix up its messages.` Чтобы продолжить здесь, закройте диалог в другом месте, а затем нажмите **Open here anyway**. Если вы нажмёте кнопку, не закрыв его, диалог будет открыт в обоих местах. Если задан [`claudeProcessWrapper`](#extension-settings), расширение пропускает эту проверку и открывает диалог сразу.

225 

224По умолчанию сеанс без активности в течение 14 дней переходит в **Archived sessions** автоматически, если только он не открыт, не прочитан или не находится в [группе](#organize-sessions-into-groups). Автоматическое архивирование требует Claude Code v2.1.265 или позже. Чтобы изменить период или отключить его, откройте [Archive Inactive Sessions setting](vscode://settings/claudeCode.archiveInactiveSessions) и выберите количество дней или **Never**.226По умолчанию сеанс без активности в течение 14 дней переходит в **Archived sessions** автоматически, если только он не открыт, не прочитан или не находится в [группе](#organize-sessions-into-groups). Автоматическое архивирование требует Claude Code v2.1.265 или позже. Чтобы изменить период или отключить его, откройте [Archive Inactive Sessions setting](vscode://settings/claudeCode.archiveInactiveSessions) и выберите количество дней или **Never**.

225 227 

226Чтобы восстановить архивированный сеанс, разверните **Archived sessions** и нажмите **Unarchive session**. Чтобы восстановить каждый архивированный сеанс сразу, наведите курсор на заголовок **Archived sessions** в списке сеансов в Activity Bar и нажмите его значок разархивирования, что требует Claude Code v2.1.277 или позже. До v2.1.257 действие было **Delete session**, которое скрывало сеанс без возможности его восстановления. Сеансы, которые вы удалили, появляются в **Archived sessions** после обновления.228Чтобы восстановить архивированный сеанс, разверните **Archived sessions** и нажмите **Unarchive session**. Чтобы восстановить каждый архивированный сеанс сразу, наведите курсор на заголовок **Archived sessions** в списке сеансов в Activity Bar и нажмите его значок разархивирования, что требует Claude Code v2.1.277 или позже. До v2.1.257 действие было **Delete session**, которое скрывало сеанс без возможности его восстановления. Сеансы, которые вы удалили, появляются в **Archived sessions** после обновления.


299 Используйте боковую панель для вашего основного сеанса Claude и открывайте дополнительные вкладки для дополнительных задач. Claude запоминает ваше предпочтительное местоположение. Значок списка сеансов на панели действий отделён от панели Claude: список сеансов всегда виден на панели действий, а значок панели Claude появляется там только тогда, когда панель закреплена на левой боковой панели.301 Используйте боковую панель для вашего основного сеанса Claude и открывайте дополнительные вкладки для дополнительных задач. Claude запоминает ваше предпочтительное местоположение. Значок списка сеансов на панели действий отделён от панели Claude: список сеансов всегда виден на панели действий, а значок панели Claude появляется там только тогда, когда панель закреплена на левой боковой панели.

300</Tip>302</Tip>

301 303 

304<h3 id="continue-conversations-after-a-reload">

305 Продолжение диалогов после перезагрузки

306</h3>

307 

302После запуска **Developer: Reload Window** или перезагрузки VS Code, вернётся ли разговор со своей историей разговора, зависит от того, где он был открыт:308После запуска **Developer: Reload Window** или перезагрузки VS Code, вернётся ли разговор со своей историей разговора, зависит от того, где он был открыт:

303 309 

304* **Вкладка редактора**: разговор возвращается со своей вкладкой.310* **Вкладка редактора**: разговор возвращается со своей вкладкой.

305* **Боковая панель**: разговор возвращается, если вы отправили сообщение или Claude ответил в нём в течение последних 10 минут. Если он не вернётся, возобновите разговор из [истории сеансов](#resume-past-conversations).311* **Боковая панель**: разговор возвращается, если вы отправили сообщение или Claude ответил в нём в течение последних 10 минут. Если он не вернётся, возобновите разговор из [истории сеансов](#resume-past-conversations).

306 312 

313Если другой процесс Claude Code всё ещё держит этот диалог открытым, перед его открытием здесь вам будет задан вопрос с тем же уведомлением **Open here anyway**, что и при [возобновлении из истории сессий](#resume-past-conversations).

314 

307Если перезагрузка прервала Claude в середине шага, Claude продолжит этот шаг, когда разговор вернётся, и уведомление в чате отметит продолжение. Требует Claude Code v2.1.274 или более поздней версии. Если шаг был прерван более часа назад или сеанс открыт в другом месте, разговор вернётся в режиме ожидания.315Если перезагрузка прервала Claude в середине шага, Claude продолжит этот шаг, когда разговор вернётся, и уведомление в чате отметит продолжение. Требует Claude Code v2.1.274 или более поздней версии. Если шаг был прерван более часа назад или сеанс открыт в другом месте, разговор вернётся в режиме ожидания.

308 316 

309Чтобы отключить продолжение, откройте [параметр Continue After Reload](vscode://settings/claudeCode.continueAfterReload) и снимите флажок.317Чтобы отключить продолжение, откройте [настройку Continue After Reload](vscode://settings/claudeCode.continueAfterReload) и снимите флажок. Установка [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ru/env-vars#variables) или любой другой переменной `CLAUDE_CODE_RESUME_` в окружении VS Code или в [настройке `environmentVariables`](#extension-settings) не влияет на панель, поскольку расширение удаляет эти переменные перед запуском сессий панели.

310 318 

311<h3 id="run-multiple-conversations">319<h3 id="run-multiple-conversations">

312 Запустите несколько разговоров320 Запустите несколько разговоров


572| `enableNewConversationShortcut` | `false` | Включить Cmd/Ctrl+N для начала новой беседы |580| `enableNewConversationShortcut` | `false` | Включить Cmd/Ctrl+N для начала новой беседы |

573| `enableReopenClosedSessionShortcut` | `true` | Использовать Cmd/Ctrl+Shift+T для повторного открытия самой недавно закрытой вкладки сеанса Claude. Когда последняя закрытая вкладка не была сеансом Claude, сочетание клавиш запускает обычную команду VS Code для повторного открытия закрытого редактора. |581| `enableReopenClosedSessionShortcut` | `true` | Использовать Cmd/Ctrl+Shift+T для повторного открытия самой недавно закрытой вкладки сеанса Claude. Когда последняя закрытая вкладка не была сеансом Claude, сочетание клавиш запускает обычную команду VS Code для повторного открытия закрытого редактора. |

574| `archiveInactiveSessions` | `14` | [Архивировать сеанс автоматически](#resume-past-conversations) после этого количества дней без активности: `1`, `2`, `7` или `14`. Установите `0` для отключения. Требуется Claude Code v2.1.265 или позже |582| `archiveInactiveSessions` | `14` | [Архивировать сеанс автоматически](#resume-past-conversations) после этого количества дней без активности: `1`, `2`, `7` или `14`. Установите `0` для отключения. Требуется Claude Code v2.1.265 или позже |

575| `continueAfterReload` | `true` | После перезагрузки окна Claude [продолжает шаг, который был прерван](#choose-where-claude-lives) в восстановленном сеансе. Требуется Claude Code v2.1.274 или позже |583| `continueAfterReload` | `true` | После перезагрузки окна Claude [продолжает шаг, который был прерван](#continue-conversations-after-a-reload) в восстановленной сессии. Требуется Claude Code v2.1.274 или позже |

576| `hideOnboarding` | `false` | Скрыть контрольный список адаптации (значок академической шапки) |584| `hideOnboarding` | `false` | Скрыть контрольный список адаптации (значок академической шапки) |

577| `focusView` | `false` | Скрыть вызовы инструментов, результаты инструментов и мышление за расширяемыми строками, оставляя ваши подсказки и ответы Claude. Последний список дел Claude остаётся видимым; это требует Claude Code v2.1.225 или позже. Вы также можете переключить Focus view из меню команд. Требуется Claude Code v2.1.221 или позже |585| `focusView` | `false` | Скрыть вызовы инструментов, результаты инструментов и мышление за расширяемыми строками, оставляя ваши подсказки и ответы Claude. Последний список дел Claude остаётся видимым; это требует Claude Code v2.1.225 или позже. Вы также можете переключить Focus view из меню команд. Требуется Claude Code v2.1.221 или позже |

578| `respectGitIgnore` | `true` | Исключить шаблоны .gitignore из поиска файлов и из [контекста выбора](#reference-files-and-folders) |586| `respectGitIgnore` | `true` | Исключить шаблоны .gitignore из поиска файлов и из [контекста выбора](#reference-files-and-folders) |


666 674 

667Ссылайтесь на вывод терминала в ваших подсказках, используя `@terminal:name`, где `name` — это название терминала. Это позволяет Claude видеть вывод команды, сообщения об ошибках или логи без копирования и вставки.675Ссылайтесь на вывод терминала в ваших подсказках, используя `@terminal:name`, где `name` — это название терминала. Это позволяет Claude видеть вывод команды, сообщения об ошибках или логи без копирования и вставки.

668 676 

677<h3 id="move-a-running-command-or-subagent-to-the-background">

678 Перевод выполняющейся команды или субагента в фоновый режим

679</h3>

680 

681Когда Claude ожидает завершения команды или [субагента](/docs/ru/sub-agents), который выполняется дольше, чем вам хотелось бы, нажмите **Run in background** под его вызовом инструмента в диалоге. Это действие появляется, когда команда выполняется около двух секунд, или сразу после запуска субагента. Claude перестаёт ждать и продолжает ход, а команда или субагент продолжает выполняться как [фоновая задача](/docs/ru/tools-reference#background-commands), которая уведомляет Claude о своём завершении. Требуется Claude Code v2.1.287 или более поздняя версия.

682 

683Чтобы тем временем проверить состояние задачи или остановить её, введите `/tasks` в поле промпта, чтобы открыть [карту агентов](#use-the-prompt-box). Субагент сохраняет там своё место в дереве агентов, а команда отображается под агентами с [последним выводом на своей карточке](#monitor-background-processes). На команду, переведённую в фоновый режим таким способом, распространяется [ограничение по времени для фоновых команд](/docs/ru/tools-reference#time-limit-for-background-commands).

684 

669<h3 id="monitor-background-processes">685<h3 id="monitor-background-processes">

670 Мониторинг фоновых процессов686 Мониторинг фоновых процессов

671</h3>687</h3>

672 688 

673Введите `/tasks` в поле подсказки, чтобы открыть [карту агента](#use-the-prompt-box), которая отображает фоновые задачи сеанса, такие как сервер разработки, который Claude оставил запущенным в качестве фоновой команды shell. Нажмите на задачу, чтобы открыть её карточку и остановить её там. Требуется Claude Code v2.1.277 или более поздняя версия.689Введите `/tasks` в поле промпта, чтобы открыть [карту агентов](#use-the-prompt-box), которая отображает фоновые задачи сессии, такие как сервер разработки, который Claude оставил запущенным в качестве фоновой shell-команды. Нажмите на задачу, чтобы открыть её карточку и остановить её там. Требуется Claude Code v2.1.277 или более поздняя версия.

690 

691Для фоновой shell-команды или [монитора](/docs/ru/tools-reference#monitor-tool), который запускает команду, карточка также показывает последний вывод команды и обновляет его, пока команда выполняется.

674 692 

675<h3 id="connect-to-external-tools-with-mcp">693<h3 id="connect-to-external-tools-with-mcp">

676 Подключение к внешним инструментам с помощью MCP694 Подключение к внешним инструментам с помощью MCP

Details

75 75 

76 С этим подключением сеанс может клонировать любой открытый репозиторий, но может работать в приватном репозитории только когда приложение Claude GitHub установлено на нем. [Установите приложение Claude GitHub](https://github.com/apps/claude/installations/new) на каждую учетную запись GitHub или организацию, чьи приватные репозитории вы хотите использовать. В организации GitHub владелец организации может потребоваться одобрить установку. Установка приложения также включает [Auto-fix](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests), который позволяет Claude реагировать на сбои CI и комментарии рецензентов в pull requests в этих репозиториях.76 С этим подключением сеанс может клонировать любой открытый репозиторий, но может работать в приватном репозитории только когда приложение Claude GitHub установлено на нем. [Установите приложение Claude GitHub](https://github.com/apps/claude/installations/new) на каждую учетную запись GitHub или организацию, чьи приватные репозитории вы хотите использовать. В организации GitHub владелец организации может потребоваться одобрить установку. Установка приложения также включает [Auto-fix](/docs/ru/claude-code-on-the-web#auto-fix-pull-requests), который позволяет Claude реагировать на сбои CI и комментарии рецензентов в pull requests в этих репозиториях.

77 77 

78 При подключении Claude также привязывает принадлежащие вам учётные записи GitHub к вашей организации Claude, если на них установлено приложение Claude GitHub. На планах Team и Enterprise администраторы видят эти учётные записи в [списке подключённых учётных записей GitHub](/docs/ru/admin-setup#connected-github-accounts).

79 

78 Если встроенная настройка предложит вам установить приложение Claude GitHub на этом этапе и вы предпочитаете сделать это позже, нажмите **Skip**.80 Если встроенная настройка предложит вам установить приложение Claude GitHub на этом этапе и вы предпочитаете сделать это позже, нажмите **Skip**.

79 </Step>81 </Step>

80 82 

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>