SpyBara
Go Premium

Documentation 2026-10-18 22:59 UTC to 2026-10-19 23:58 UTC

63 files changed +1,410 −855. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

20* Для сессий, запущенных из одной оболочки: установите переменную окружения `CLAUDE_AX_SCREEN_READER` на `1`. В Bash или Zsh запустите `export CLAUDE_AX_SCREEN_READER=1`. В PowerShell запустите `$env:CLAUDE_AX_SCREEN_READER = "1"`. Добавьте эту строку в профиль оболочки, чтобы сохранить её для будущих оболочек.20* Для сессий, запущенных из одной оболочки: установите переменную окружения `CLAUDE_AX_SCREEN_READER` на `1`. В Bash или Zsh запустите `export CLAUDE_AX_SCREEN_READER=1`. В PowerShell запустите `$env:CLAUDE_AX_SCREEN_READER = "1"`. Добавьте эту строку в профиль оболочки, чтобы сохранить её для будущих оболочек.

21* Для каждой сессии на машине: добавьте `"axScreenReader": true` в ваш пользовательский [файл настроек](/docs/ru/settings). Настройка применяется в любом терминале, включая интегрированный терминал VS Code.21* Для каждой сессии на машине: добавьте `"axScreenReader": true` в ваш пользовательский [файл настроек](/docs/ru/settings). Настройка применяется в любом терминале, включая интегрированный терминал VS Code.

22 22 

23Если вы комбинируете методы, Claude Code применяет флаг [`--ax-screen-reader`](/docs/ru/cli-reference#cli-flags) над переменной окружения [`CLAUDE_AX_SCREEN_READER`](/docs/ru/env-vars#variables), и переменную над настройкой [`axScreenReader`](/docs/ru/settings-reference#axscreenreader).23Если вы комбинируете методы, Claude Code отдаёт приоритет флагу [`--ax-screen-reader`](/docs/ru/cli-reference#cli-flags) над переменной окружения [`CLAUDE_AX_SCREEN_READER`](/docs/ru/env-vars#variables), а переменной — над настройкой [`axScreenReader`](/docs/ru/settings-reference#axscreenreader).

24 24 

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

26 26 

Details

291| :- | :- | :- |291| :- | :- | :- |

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

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

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

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

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

297 297 


331 331 

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

333 333 

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

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

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

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

Details

212* **Модель ценообразования**: оплата за секунду, за запрос или фиксированная почасовая оплата. Ценообразование за секунду подходит для нестабильных эфемерных рабочих нагрузок. Почасовая оплата подходит для долгоживущих сеансов.212* **Модель ценообразования**: оплата за секунду, за запрос или фиксированная почасовая оплата. Ценообразование за секунду подходит для нестабильных эфемерных рабочих нагрузок. Почасовая оплата подходит для долгоживущих сеансов.

213* **Сетевые возможности**: поддержка пользовательских правил исходящего трафика, исходящих прокси и приватного VPC пиринга для регулируемых сред.213* **Сетевые возможности**: поддержка пользовательских правил исходящего трафика, исходящих прокси и приватного VPC пиринга для регулируемых сред.

214 214 

215Для самостоятельно размещаемых вариантов, таких как Docker, gVisor и Firecracker, а также подробной конфигурации изоляции, см. [Isolation Technologies](/docs/ru/agent-sdk/secure-deployment#isolation-technologies).215Для самостоятельно размещаемых вариантов, таких как Docker, gVisor и Firecracker, а также подробной конфигурации изоляции, см. [Технологии изоляции](/docs/ru/agent-sdk/secure-deployment#isolation-technologies).

216 216 

217<h3 id="runtime-dependencies">217<h3 id="runtime-dependencies">

218 Зависимости среды выполнения218 Зависимости среды выполнения


229 Ресурсы229 Ресурсы

230</h3>230</h3>

231 231 

2321 ГиБ ОЗУ, 5 ГиБ диска и 1 CPU на агента — это разумная отправная точка для вновь запущенного экземпляра. Использование памяти растет с длительностью сеанса и активностью инструментов, поэтому выбирайте размер в соответствии с фактическими длительностями сеансов и параллелизмом, которые вам нужны, а не с базовым уровнем простоя. См. [Scaling and concurrency](#scaling-and-concurrency) для того, как рассчитать количество агентов на хост.2321 ГиБ ОЗУ, 5 ГиБ диска и 1 CPU на агента — это разумная отправная точка для вновь запущенного экземпляра. Использование памяти растет с длительностью сеанса и активностью инструментов, поэтому выбирайте размер в соответствии с фактическими длительностями сеансов и параллелизмом, которые вам нужны, а не с базовым уровнем простоя. См. [Масштабирование и параллелизм](#scaling-and-concurrency) для того, как рассчитать количество агентов на хост.

233 233 

234<h3 id="network">234<h3 id="network">

235 Сеть235 Сеть

236</h3>236</h3>

237 237 

238SDK требует исходящего HTTPS к `api.anthropic.com` или к региональной конечной точке вашего поставщика при запуске на Amazon Bedrock или Google Cloud's Agent Platform. Если ваши агенты используют [MCP servers](/docs/ru/agent-sdk/mcp) или внешние инструменты, им также требуется исходящий доступ к этим конечным точкам. Для production маршрутизируйте исходящий трафик через прокси выхода, который обеспечивает списки разрешенных доменов, внедряет учетные данные и регистрирует запросы. См. [Secure Deployment](/docs/ru/agent-sdk/secure-deployment) для полного паттерна.238SDK требует исходящего HTTPS к `api.anthropic.com` или к региональной конечной точке вашего поставщика при запуске на Amazon Bedrock или Google Cloud's Agent Platform. Если ваши агенты используют [MCP-серверы](/docs/ru/agent-sdk/mcp) или внешние инструменты, им также требуется исходящий доступ к этим конечным точкам. Для production маршрутизируйте исходящий трафик через прокси выхода, который обеспечивает списки разрешенных доменов, внедряет учетные данные и регистрирует запросы. См. [Безопасное развертывание](/docs/ru/agent-sdk/secure-deployment) для полного паттерна.

239 239 

240Для входящего трафика откройте HTTP или WebSocket порт на контейнере. Ваше приложение обрабатывает запросы клиентов на этом порту и вызывает SDK внутренне; сам подпроцесс не прослушивает сеть.240Для входящего трафика откройте HTTP или WebSocket порт на контейнере. Ваше приложение обрабатывает запросы клиентов на этом порту и вызывает SDK внутренне; сам подпроцесс не прослушивает сеть.

241 241 


307 Стоимость307 Стоимость

308</h3>308</h3>

309 309 

310Стоимость токенов Anthropic обычно превосходит стоимость инфраструктуры контейнера на порядок или больше. Минимально подготовленный контейнер работает примерно за \$0,05 в час, в то время как один долгий сеанс агента может потратить доллары на токены. См. [Отслеживание стоимости](/docs/ru/agent-sdk/cost-tracking) для учета токенов на сеанс.310Стоимость токенов Anthropic обычно превосходит стоимость инфраструктуры контейнера на порядок или больше. Минимально подготовленный контейнер работает примерно за \$0,05 в час, в то время как один долгий сеанс агента может потратить доллары на токены. См. [Отслеживание затрат](/docs/ru/agent-sdk/cost-tracking) для учета токенов на сеанс.

311 311 

312<h3 id="multi-tenant-isolation">312<h3 id="multi-tenant-isolation">

313 Изоляция мультитенантности313 Изоляция мультитенантности

Details

123 123 

124Режимы разрешений обеспечивают глобальный контроль над тем, как Claude использует инструменты. Вы можете установить режим разрешений при вызове `query()` или изменить его динамически во время сеансов потоковой передачи.124Режимы разрешений обеспечивают глобальный контроль над тем, как Claude использует инструменты. Вы можете установить режим разрешений при вызове `query()` или изменить его динамически во время сеансов потоковой передачи.

125 125 

126Если вы не установите режим, Claude Code выбирает начальный режим разрешений по правилам в [Какой режим начинается в сеансе](/docs/ru/permission-modes#which-mode-a-session-starts-in):126В Claude Code v2.1.302 или более поздней версии ваше приложение запускается в режиме `default`, если вы не установите режим разрешений или приложение не получит его из [`permissions.defaultMode`](/docs/ru/settings-reference#permissions-defaultmode) в своих файлах настроек. В режиме `default` Claude Code отклоняет любой вызов инструмента, требующий подтверждения, если вы не подтвердите его с помощью правила разрешения, хука, обратного вызова `canUseTool` или инструмента запроса разрешений. Если вызовы инструментов отклоняются, см. [Вызовы инструментов отклоняются в `claude -p` и запусках Agent SDK](/docs/ru/permission-modes#which-mode-a-non-interactive-run-starts-in).

127 

128* `permissions.defaultMode` из [файлов параметров](/docs/ru/settings#where-settings-live) сеанса, когда он применяется

129* В противном случае встроенное значение по умолчанию, которое может быть [режимом auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode)

130 

131Сеанс, который начинается в режиме auto, отбрасывает широкие правила разрешения, такие как простая запись `Bash`, как описано в [Как режим auto оценивает действия](/docs/ru/permission-modes#how-auto-mode-evaluates-actions). Если ваше приложение полагается на режим `default` или на такое правило, передайте `default` явно.

132 

133До TypeScript Agent SDK v0.3.286 пропуск `permissionMode` был эквивалентен передаче `default`.

134 127 

135<h3 id="available-modes">128<h3 id="available-modes">

136 Доступные режимы129 Доступные режимы

Details

1035)1035)

1036```1036```

1037 1037 

1038* `API_TIMEOUT_MS`: таймаут на каждый запрос в клиенте Anthropic, в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и всем субагентам.1038* [`API_TIMEOUT_MS`](/docs/ru/env-vars): сколько времени каждая попытка запроса может ожидать заголовков ответа, в миллисекундах. Не ограничивает продолжительность потокового ответа после получения заголовков. По умолчанию `600000`. Применяется к основному циклу и всем субагентам.

1039* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`, ограничено значением `15`. Каждая повторная попытка получает собственное окно `API_TIMEOUT_MS`.1039* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`, ограничено значением `15`. Каждая повторная попытка получает собственное окно `API_TIMEOUT_MS`.

1040 1040 

1041 Для автоматических запусков, которым нужно пережидать более длительные сбои, установите [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/ru/errors#tune-retry-behavior): эта настройка бесконечно повторяет попытки при временных ошибках нехватки ёмкости и, в Claude Code v2.1.199 или новее, повышает значение по умолчанию для других временных ошибок до `300` и снимает ограничение с этой переменной.1041 Для автоматических запусков, которым нужно пережидать более длительные сбои, установите [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/ru/errors#tune-retry-behavior): эта настройка бесконечно повторяет попытки при временных ошибках нехватки ёмкости и, в Claude Code v2.1.199 или новее, повышает значение по умолчанию для других временных ошибок до `300` и снимает ограничение с этой переменной.

Details

172 172 

173В Python SDK многословные имена полей, такие как `disallowedTools` и `mcpServers`, сохраняют написание camelCase для соответствия формату передачи, а не следуют соглашению Python snake\_case. Подробности см. в [справочнике `AgentDefinition`](/docs/ru/agent-sdk/python#agentdefinition).173В Python SDK многословные имена полей, такие как `disallowedTools` и `mcpServers`, сохраняют написание camelCase для соответствия формату передачи, а не следуют соглашению Python snake\_case. Подробности см. в [справочнике `AgentDefinition`](/docs/ru/agent-sdk/python#agentdefinition).

174 174 

175Подагенты работают в фоновом режиме по умолчанию. Вызов инструмента Agent, который опускает входные данные [`run_in_background`](/docs/ru/sub-agents#run-subagents-in-foreground-or-background), запускает фоновый подагент, и Claude устанавливает `run_in_background: false`, когда ему нужен результат перед продолжением. Установите поле `background` на `true`, чтобы принудительно выполнить фоновое выполнение для конкретного агента независимо от того, что запрашивает Claude. До Claude Code v2.1.198 фоновое значение по умолчанию постепенно развертывалось, и вызов инструмента Agent, который опускал `run_in_background`, мог запустить подагента синхронно.175<h4 id="choose-whether-claude-waits-for-subagents">

176 Выбор того, ожидает ли Claude субагентов

177</h4>

176 178 

177Подагенты также могут порождать подагентов самостоятельно. Чтобы ограничить глубину этого вложения, количество одновременно работающих подагентов и сумму, которую запрос тратит, см. [Ограничение глубины подагента, параллелизма и расходов](#cap-subagent-depth-concurrency-and-spend).179По умолчанию субагент, порожденный вашим основным агентом, [работает в фоновом режиме](/docs/ru/sub-agents#run-subagents-in-foreground-or-background). Результат инструмента Agent содержит `status: "async_launched"`, а отчет приходит в одном из следующих ходов.

180 

181Claude ожидает, когда его следующее действие зависит от отчета: вызов блокируется и возвращает `status: "completed"`. Чтобы сделать этот выбор самостоятельно:

182 

183* **В вашем промпте**: попросите Claude подождать, например «run the test-runner agent and wait for it»

184* **В определении**: установите `background` в `true`, чтобы этот агент всегда работал в фоновом режиме

178 185 

179<h3 id="filesystem-based-definition-alternative">186<h3 id="filesystem-based-definition-alternative">

180 Определение на основе файловой системы (альтернатива)187 Определение на основе файловой системы (альтернатива)


242 249 

243Это обходит автоматическое сопоставление и напрямую вызывает названный подагент.250Это обходит автоматическое сопоставление и напрямую вызывает названный подагент.

244 251 

252<h3 id="forked-subagents">

253 Форкнутые субагенты

254</h3>

255 

256[Форк](/docs/ru/sub-agents#fork-the-current-conversation) — это субагент, который копирует текущий диалог вместо того, чтобы начинать с нуля. Начиная с Claude Code v2.1.302, Claude может запускать форки в вашем приложении без какой-либо настройки, вызывая инструмент Agent с `subagent_type: "fork"`.

257 

258Чтобы запретить Claude запускать форки, добавьте [правило запрета `Agent(fork)`](/docs/ru/agent-sdk/permissions#allow-and-deny-rules):

259 

260<CodeGroup>

261 ```python Python theme={null}

262 options = ClaudeAgentOptions(

263 # Deny only the fork subagent type; other subagents still run

264 disallowed_tools=["Agent(fork)"],

265 )

266 ```

267 

268 ```typescript TypeScript theme={null}

269 const options = {

270 // Deny only the fork subagent type; other subagents still run

271 disallowedTools: ["Agent(fork)"]

272 };

273 ```

274</CodeGroup>

275 

245<h3 id="dynamic-agent-configuration">276<h3 id="dynamic-agent-configuration">

246 Динамическая конфигурация агента277 Динамическая конфигурация агента

247</h3>278</h3>

Details

601| `includePartialMessages` | `boolean` | `false` | Включать события частичных сообщений |601| `includePartialMessages` | `boolean` | `false` | Включать события частичных сообщений |

602| `loadTimeoutMs` | `number` | `60000` | *Альфа.* Таймаут в миллисекундах для каждого вызова `sessionStore.load()` и `sessionStore.listSubkeys()` при материализации во время возобновления. Если адаптер не завершит операцию в течение этого времени, запрос завершается с ошибкой, а не зависает. Игнорируется, если `sessionStore` не задан |602| `loadTimeoutMs` | `number` | `60000` | *Альфа.* Таймаут в миллисекундах для каждого вызова `sessionStore.load()` и `sessionStore.listSubkeys()` при материализации во время возобновления. Если адаптер не завершит операцию в течение этого времени, запрос завершается с ошибкой, а не зависает. Игнорируется, если `sessionStore` не задан |

603| `managedSettings` | `Settings` | `undefined` | Настройки уровня политики, которые ваш хост-процесс передаёт в запускаемую сессию. На машинах с управляемыми настройками, развёрнутыми администратором, Claude Code игнорирует их, если только управляемый источник администратора с наивысшим приоритетом не задаёт `parentSettingsBehavior: 'merge'`, и никогда не объединяет их, пока [`policyHelper`](/docs/ru/settings-reference#policyhelper) предоставляет управляемые настройки. Объединённые значения проходят через фильтр, пропускающий только ограничения; о том, что пропускает фильтр, и о блокировках `allowManaged*Only` см. [Ограничение родительских настроек](/docs/ru/claude-apps-gateway#restrict-parent-settings). Хост, задающий [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ru/env-vars), вместо этого получает три ключа непосредственно из этих данных: свою [конфигурацию модели](/docs/ru/model-config#restrict-model-selection) в Claude Code v2.1.222 или новее, [`modelPricing`](/docs/ru/settings-reference#modelpricing), если ни один управляемый источник его не задаёт, в v2.1.246 или новее, и запись `ENABLE_TOOL_SEARCH` в env в v2.1.247 или новее |603| `managedSettings` | `Settings` | `undefined` | Настройки уровня политики, которые ваш хост-процесс передаёт в запускаемую сессию. На машинах с управляемыми настройками, развёрнутыми администратором, Claude Code игнорирует их, если только управляемый источник администратора с наивысшим приоритетом не задаёт `parentSettingsBehavior: 'merge'`, и никогда не объединяет их, пока [`policyHelper`](/docs/ru/settings-reference#policyhelper) предоставляет управляемые настройки. Объединённые значения проходят через фильтр, пропускающий только ограничения; о том, что пропускает фильтр, и о блокировках `allowManaged*Only` см. [Ограничение родительских настроек](/docs/ru/claude-apps-gateway#restrict-parent-settings). Хост, задающий [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ru/env-vars), вместо этого получает три ключа непосредственно из этих данных: свою [конфигурацию модели](/docs/ru/model-config#restrict-model-selection) в Claude Code v2.1.222 или новее, [`modelPricing`](/docs/ru/settings-reference#modelpricing), если ни один управляемый источник его не задаёт, в v2.1.246 или новее, и запись `ENABLE_TOOL_SEARCH` в env в v2.1.247 или новее |

604| `maxBudgetUsd` | `number` | `undefined` | Остановить запрос, когда оценка стоимости на стороне клиента достигнет этого значения в USD. Оценка может превысить это значение, поэтому [оставляйте запас](/docs/ru/agent-sdk/agent-loop#budget-headroom). Учитываются только собственные расходы вызова; итоги, восстановленные из возобновлённой сессии, не учитываются. Оговорки о точности и поведении при сбросе см. в разделе [Отслеживание стоимости и использования](/docs/ru/agent-sdk/cost-tracking) |604| `maxBudgetUsd` | `number` | `undefined` | Остановить запрос, когда оценка стоимости на стороне клиента достигнет этого значения в USD. Оценка может превысить это значение, поэтому [оставляйте запас](/docs/ru/agent-sdk/agent-loop#budget-headroom). Учитываются только собственные расходы вызова; итоги, восстановленные из возобновлённой сессии, не учитываются. Оговорки о точности и поведении при сбросе см. в разделе [Отслеживание затрат и использования](/docs/ru/agent-sdk/cost-tracking) |

605| `maxThinkingTokens` | `number` | `undefined` | *Устарело:* используйте `thinking`. Максимальное число токенов для процесса мышления |605| `maxThinkingTokens` | `number` | `undefined` | *Устарело:* используйте `thinking`. Максимальное число токенов для процесса мышления |

606| `maxTurns` | `number` | `undefined` | Максимальное число ходов агента (циклов вызова инструментов) |606| `maxTurns` | `number` | `undefined` | Максимальное число ходов агента (циклов вызова инструментов) |

607| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Конфигурации MCP-серверов |607| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Конфигурации MCP-серверов |


610| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Определяет формат вывода результатов агента. Подробнее см. [Структурированный вывод](/docs/ru/agent-sdk/structured-outputs) |610| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Определяет формат вывода результатов агента. Подробнее см. [Структурированный вывод](/docs/ru/agent-sdk/structured-outputs) |

611| `outputStyle` | `string` | `undefined` | Не является полем `Options`. Вместо этого задайте `outputStyle` во встроенном объекте [`settings`](/docs/ru/settings) или в файле настроек. См. [Активация стиля вывода](/docs/ru/agent-sdk/modifying-system-prompts#activate-an-output-style) |611| `outputStyle` | `string` | `undefined` | Не является полем `Options`. Вместо этого задайте `outputStyle` во встроенном объекте [`settings`](/docs/ru/settings) или в файле настроек. См. [Активация стиля вывода](/docs/ru/agent-sdk/modifying-system-prompts#activate-an-output-style) |

612| `pathToClaudeCodeExecutable` | `string` | Определяется автоматически из встроенного нативного бинарного файла | Путь к исполняемому файлу Claude Code. Нужен, только если необязательные зависимости были пропущены при установке или ваша платформа не входит в число поддерживаемых |612| `pathToClaudeCodeExecutable` | `string` | Определяется автоматически из встроенного нативного бинарного файла | Путь к исполняемому файлу Claude Code. Нужен, только если необязательные зависимости были пропущены при установке или ваша платформа не входит в число поддерживаемых |

613| `permissionMode` | [`PermissionMode`](#permissionmode) | `undefined` | Режим разрешений для сессии. Если его не указать, сессия может запуститься в авторежиме. О том, как Claude Code выбирает начальный режим разрешений, см. [Режимы разрешений](/docs/ru/agent-sdk/permissions#permission-modes) |613| `permissionMode` | [`PermissionMode`](#permissionmode) | `undefined` | Режим разрешений для сессии. Если вы его не укажете и ничто другое не задаёт режим разрешений, например настройка [`permissions.defaultMode`](/docs/ru/settings-reference#permissions-defaultmode), сессия запускается в режиме `default`. См. [Режимы разрешений](/docs/ru/agent-sdk/permissions#permission-modes) |

614| `permissionPromptToolName` | `string` | `undefined` | Имя MCP-инструмента для запросов разрешений |614| `permissionPromptToolName` | `string` | `undefined` | Имя MCP-инструмента для запросов разрешений |

615| `permissionPrompts` | `'host' \| 'none'` | `'host'` | Кто отвечает на запросы разрешений: `'host'` направляет их в ваш колбэк [`canUseTool`](#canusetool) или в инструмент `permissionPromptToolName`, а `'none'` [отклоняет вызовы, которые потребовали бы запроса](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated). Требуется Claude Code v2.1.259 или новее |615| `permissionPrompts` | `'host' \| 'none'` | `'host'` | Кто отвечает на запросы разрешений: `'host'` направляет их в ваш колбэк [`canUseTool`](#canusetool) или в инструмент `permissionPromptToolName`, а `'none'` [отклоняет вызовы, которые потребовали бы запроса](/docs/ru/agent-sdk/permissions#how-permissions-are-evaluated). Требуется Claude Code v2.1.259 или новее |

616| `persistSession` | `boolean` | `true` | При значении `false` отключает сохранение сессии на диск. Такие сессии нельзя возобновить позже |616| `persistSession` | `boolean` | `true` | При значении `false` отключает сохранение сессии на диск. Такие сессии нельзя возобновить позже |


662});662});

663```663```

664 664 

665* `API_TIMEOUT_MS`: таймаут каждого запроса клиента Anthropic в миллисекундах. По умолчанию `600000`. Применяется к основному циклу и ко всем субагентам.665* [`API_TIMEOUT_MS`](/docs/ru/env-vars): сколько каждая попытка запроса может ждать заголовков ответа, в миллисекундах. Переменная не ограничивает длительность потокового ответа после получения заголовков. По умолчанию `600000`. Применяется к основному циклу и ко всем субагентам.

666* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`, не более `15`. Каждая повторная попытка получает собственное окно `API_TIMEOUT_MS`.666* `CLAUDE_CODE_MAX_RETRIES`: максимальное количество повторных попыток API. По умолчанию `10`, не более `15`. Каждая повторная попытка получает собственное окно `API_TIMEOUT_MS`.

667 667 

668 Для автоматических запусков, которым нужно пережидать более длительные сбои, задайте [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/ru/errors#tune-retry-behavior): эта переменная бесконечно повторяет попытки при временных ошибках нехватки мощностей и, в Claude Code v2.1.199 или новее, повышает значение по умолчанию для других временных ошибок до `300` и снимает ограничение на эту переменную.668 Для автоматических запусков, которым нужно пережидать более длительные сбои, задайте [`CLAUDE_CODE_RETRY_WATCHDOG=1`](/docs/ru/errors#tune-retry-behavior): эта переменная бесконечно повторяет попытки при временных ошибках нехватки мощностей и, в Claude Code v2.1.199 или новее, повышает значение по умолчанию для других временных ошибок до `300` и снимает ограничение на эту переменную.


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

1829* `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 или позже.1829* `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 или позже.

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

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

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

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

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


2344* `session`: текущие итоги стоимости и использования Claude Code, считанные из того же реестра, что и `total_cost_usd` и `modelUsage` в [`SDKResultMessage`](#sdkresultmessage). Каждая запись `model_usage` — это [`ModelUsage`](#modelusage).2344* `session`: текущие итоги стоимости и использования Claude Code, считанные из того же реестра, что и `total_cost_usd` и `modelUsage` в [`SDKResultMessage`](#sdkresultmessage). Каждая запись `model_usage` — это [`ModelUsage`](#modelusage).

2345* `rate_limits`: строки использования тарифа в `limits` и расход кредитов использования в `extra_usage`. Равно `null`, когда Claude Code не удалось получить данные об использовании тарифа, например когда OAuth-токен сессии не имеет scope `user:profile`.2345* `rate_limits`: строки использования тарифа в `limits` и расход кредитов использования в `extra_usage`. Равно `null`, когда Claude Code не удалось получить данные об использовании тарифа, например когда OAuth-токен сессии не имеет scope `user:profile`.

2346 2346 

2347Claude Code вычисляет `session.total_cost_usd` локально по количеству токенов, поэтому это оценка, а не то, что выставляется по вашему тарифу. Расход кредитов использования, сообщаемый сервером, — это отдельный блок `extra_usage`. Оговорки о точности см. в разделе [Отслеживание стоимости и использования](/docs/ru/agent-sdk/cost-tracking).2347Claude Code вычисляет `session.total_cost_usd` локально по количеству токенов, поэтому это оценка, а не то, что выставляется по вашему тарифу. Расход кредитов использования, сообщаемый сервером, — это отдельный блок `extra_usage`. Оговорки о точности см. в разделе [Отслеживание затрат и использования](/docs/ru/agent-sdk/cost-tracking).

2348 2348 

2349`limits` содержит строки использования сервера в том виде, в каком их отправил сервер: какие счётчики применяются, их область действия, метки, серьёзность и порядок определяет сервер, поэтому отображайте строки дословно.2349`limits` содержит строки использования сервера в том виде, в каком их отправил сервер: какие счётчики применяются, их область действия, метки, серьёзность и порядок определяет сервер, поэтому отображайте строки дословно.

2350 2350 


5478 `ModelUsage`5478 `ModelUsage`

5479</h3>5479</h3>

5480 5480 

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

5482 5482 

5483```typescript theme={null}5483```typescript theme={null}

5484type ModelUsage = {5484type ModelUsage = {

agent-teams.md +1 −1

Details

557* **Завершение может быть медленным**: товарищи по команде завершают свой текущий запрос или вызов инструмента перед завершением, что может занять время.557* **Завершение может быть медленным**: товарищи по команде завершают свой текущий запрос или вызов инструмента перед завершением, что может занять время.

558* **Одна команда на сеанс**: сеанс имеет ровно одну команду, ограниченную этим сеансом. Вы не можете создавать дополнительные именованные команды или делиться командой между сеансами.558* **Одна команда на сеанс**: сеанс имеет ровно одну команду, ограниченную этим сеансом. Вы не можете создавать дополнительные именованные команды или делиться командой между сеансами.

559* **Нет вложенных команд**: товарищи по команде не могут порождать своих собственных товарищей по команде. Только лидер может управлять командой.559* **Нет вложенных команд**: товарищи по команде не могут порождать своих собственных товарищей по команде. Только лидер может управлять командой.

560* **Нет фоновых подагентов от товарищей по команде in-process**: собственные подагенты товарища по команде in-process работают на переднем плане, потому что фоновая работа товарища по команде не может пережить процесс лидера. Claude Code возвращает ошибку, когда товарищ по команде порождает подагента, чье определение устанавливает `background: true`. Запрос товарища по команде `run_in_background: true` также не удается, либо с ошибкой, либо путем молчаливого запуска на переднем плане, как описано в [как Claude Code выбирает передний план или фоновый режим](/docs/ru/sub-agents#run-subagents-in-foreground-or-background). Подагенты, запущенные из основного разговора, следуют [фоновому значению по умолчанию](/docs/ru/sub-agents#run-subagents-in-foreground-or-background).560* **Нет фоновых субагентов от участников команды in-process**: собственные субагенты участника команды in-process работают на переднем плане, потому что фоновая работа участника команды не может пережить процесс лидера. Claude Code возвращает ошибку, когда участник команды порождает субагента, чье определение устанавливает `background: true`. Запрос участника команды `run_in_background: true` также не удается, либо с ошибкой, либо путем молчаливого запуска на переднем плане. Субагенты, запущенные из основного диалога, следуют [фоновому значению по умолчанию](/docs/ru/sub-agents#run-subagents-in-foreground-or-background).

561* **Лидер фиксирован**: основной сеанс является лидером на протяжении всей его жизни. Вы не можете повысить товарища по команде до лидера или передать лидерство.561* **Лидер фиксирован**: основной сеанс является лидером на протяжении всей его жизни. Вы не можете повысить товарища по команде до лидера или передать лидерство.

562* **Разрешения установлены при порождении**: товарищи по команде начинают с режима разрешений, описанного в разделе [Разрешения](#permissions). Вы можете изменить режим разрешений отдельного товарища по команде после порождения, но вы не можете установить режимы разрешений для отдельных товарищей по команде во время порождения.562* **Разрешения установлены при порождении**: товарищи по команде начинают с режима разрешений, описанного в разделе [Разрешения](#permissions). Вы можете изменить режим разрешений отдельного товарища по команде после порождения, но вы не можете установить режимы разрешений для отдельных товарищей по команде во время порождения.

563* **Разделенные панели требуют tmux или iTerm2**: режим in-process по умолчанию работает в любом терминале. Режим разделенных панелей не поддерживается в интегрированном терминале VS Code, Windows Terminal или Ghostty.563* **Разделенные панели требуют tmux или iTerm2**: режим in-process по умолчанию работает в любом терминале. Режим разделенных панелей не поддерживается в интегрированном терминале VS Code, Windows Terminal или Ghostty.

agent-view.md +9 −1

Details

479 479 

480После ответвления два диалога независимы: ничто из того, что делает копия, само по себе не попадает в исходный диалог, хотя в сессиях, где включён [обмен сообщениями между сессиями](/docs/ru/cross-session-messaging), Claude в любой из сессий может явно отправить сообщение другой.480После ответвления два диалога независимы: ничто из того, что делает копия, само по себе не попадает в исходный диалог, хотя в сессиях, где включён [обмен сообщениями между сессиями](/docs/ru/cross-session-messaging), Claude в любой из сессий может явно отправить сообщение другой.

481 481 

482Копирование сессии требует Claude Code v2.1.212 или новее; в версиях с v2.1.161 по v2.1.211 `/fork` вместо этого запускает [ответвлённого субагента](/docs/ru/sub-agents#fork-the-current-conversation), что теперь делает `/subtask`. Когда [agent view отключён](#turn-off-agent-view), `/fork` сохраняет поведение с ответвлённым субагентом, а `/subtask` недоступна.482Когда [agent view отключён](#turn-off-agent-view), `/fork` вместо копирования сессии запускает [ответвлённого субагента](/docs/ru/sub-agents#fork-the-current-conversation).

483 483 

484Передайте промпт, например `/fork open a draft pull request with the work so far`, и копия сразу начнёт над ним работать. Без промпта копия ждёт первой инструкции: выделите её строку в `claude agents` и нажмите `Space`, чтобы отправить инструкцию, или выполните `claude attach <id>`. Пока копия ждёт, в выделенной строке отображается `space to send it a prompt`.484Передайте промпт, например `/fork open a draft pull request with the work so far`, и копия сразу начнёт над ним работать. Без промпта копия ждёт первой инструкции: выделите её строку в `claude agents` и нажмите `Space`, чтобы отправить инструкцию, или выполните `claude attach <id>`. Пока копия ждёт, в выделенной строке отображается `space to send it a prompt`.

485 485 


957 957 

958Запустите `/tasks`, чтобы увидеть всё, что выполняется, затем подтвердите перевод в фоновый режим или выберите `Stay`, чтобы сначала дать работе завершиться. См. раздел [Что переносится при переводе в фоновый режим](#what-carries-over-when-you-background), чтобы узнать, какие виды работы переносятся, а какие Claude Code останавливает.958Запустите `/tasks`, чтобы увидеть всё, что выполняется, затем подтвердите перевод в фоновый режим или выберите `Stay`, чтобы сначала дать работе завершиться. См. раздел [Что переносится при переводе в фоновый режим](#what-carries-over-when-you-background), чтобы узнать, какие виды работы переносятся, а какие Claude Code останавливает.

959 959 

960<h3 id="carried-into-this-session-and-not-resumed">

961 В диалоге сообщается, что фоновый агент `was carried into this session and not resumed`

962</h3>

963 

964Это уведомление называет фоновый [субагент](/docs/ru/sub-agents), который не выполняется в этой сессии.

965 

966Claude видит уведомление и отвечает самостоятельно, поэтому вам не нужно давать ему промпт. Если после прочтения ответа Claude вам всё ещё нужна работа этого субагента, попросите Claude об этом.

967 

960<h3 id="prompt-rejected-as-too-short">968<h3 id="prompt-rejected-as-too-short">

961 Промпт отклонён как слишком короткий969 Промпт отклонён как слишком короткий

962</h3>970</h3>

Details

182export AWS_PROFILE=your-profile-name182export AWS_PROFILE=your-profile-name

183```183```

184 184 

185Claude Code запрашивает учётные данные роли из региона IAM Identity Center, указанного в параметре `sso_region` профиля, который не обязательно должен совпадать с регионом, в котором вы запускаете Amazon Bedrock. В v2.1.207 регион Amazon Bedrock переопределял `sso_region`, поэтому профиль, экземпляр IAM Identity Center которого находится в другом регионе, не мог пройти аутентификацию с ошибкой `Session token not found or invalid`.185Claude Code запрашивает учётные данные роли из региона IAM Identity Center, указанного в параметре `sso_region` профиля, который не обязательно должен совпадать с регионом, в котором вы запускаете Amazon Bedrock.

186 186 

187<h4 id="use-aws-management-console-credentials">187<h4 id="use-aws-management-console-credentials">

188 Использование учётных данных AWS Management Console188 Использование учётных данных AWS Management Console


413 413 

414Если вы закрепили версию модели, которая старше текущего значения по умолчанию Claude Code, и ваша учётная запись может вызывать более новую версию, Claude Code предлагает вам обновить закрепление. Принятие записывает новый ID модели в ваш [файл пользовательских настроек](/docs/ru/settings) и перезапускает Claude Code. Отклонение запоминается до следующего изменения версии по умолчанию. Закрепления, указывающие на [ARN профиля вывода приложения](#map-each-model-version-to-an-inference-profile), пропускаются, так как они управляются вашим администратором.414Если вы закрепили версию модели, которая старше текущего значения по умолчанию Claude Code, и ваша учётная запись может вызывать более новую версию, Claude Code предлагает вам обновить закрепление. Принятие записывает новый ID модели в ваш [файл пользовательских настроек](/docs/ru/settings) и перезапускает Claude Code. Отклонение запоминается до следующего изменения версии по умолчанию. Закрепления, указывающие на [ARN профиля вывода приложения](#map-each-model-version-to-an-inference-profile), пропускаются, так как они управляются вашим администратором.

415 415 

416Если вы не закрепили модель и текущее значение по умолчанию недоступно в вашей учётной записи, Claude Code переходит на резервный вариант для текущего сеанса и показывает уведомление. Сначала он пытается использовать более ранние версии модели по умолчанию и, когда моделью по умолчанию является модель Opus и ни одна версия Opus недоступна, переходит на модель Sonnet по умолчанию. Резервный вариант не сохраняется. Включите более новую модель в вашей учётной записи Amazon Bedrock или [закрепите версию](#4-pin-model-versions), чтобы сделать выбор постоянным.416Если вы не закрепили модель и текущее значение по умолчанию недоступно в вашей учётной записи, Claude Code переходит на резервный вариант для текущей сессии и показывает уведомление. Сначала он пытается использовать более ранние версии модели по умолчанию и, когда моделью по умолчанию является модель Opus и ни одна версия Opus недоступна, переходит на модель Sonnet по умолчанию. Резервный вариант не сохраняется. Включите более новую модель в вашей учётной записи Amazon Bedrock или [закрепите версию](#4-pin-model-versions), чтобы сделать выбор постоянным.

417 417 

418Когда вы запускаете сеанс на конкретной версии Sonnet или Opus, например с помощью `--model`, `ANTHROPIC_MODEL` или параметра [`model`](/docs/ru/settings-reference#model), эта версия действует как закреплённое значение по умолчанию сеанса для соответствующего псевдонима `sonnet` или `opus`. Claude Code пропускает проверку доступности встроенного значения по умолчанию, которое заменяет ваша модель, и запускается на настроенной вами модели без уведомления о резервном варианте.418Когда вы запускаете сессию на конкретной версии Sonnet или Opus, например с помощью `--model`, `ANTHROPIC_MODEL` или параметра [`model`](/docs/ru/settings-reference#model), эта версия действует как закреплённое значение по умолчанию сессии для соответствующего псевдонима `sonnet` или `opus`. Claude Code пропускает проверку доступности встроенного значения по умолчанию, которое заменяет ваша модель, и запускается на настроенной вами модели без уведомления о резервном варианте.

419 419 

420Псевдонимы моделей, такие как `opus`, не действуют как закрепления, и также не действует ID модели, который Claude Code не распознаёт, например ARN профиля вывода приложения.420Псевдонимы моделей, такие как `opus`, не действуют как закрепления, и также не действует ID модели, который Claude Code не распознаёт, например ARN профиля вывода приложения.

421 421 


439Сведения о псевдонимах, префиксах версий и записях `modelOverrides` см. в разделе [Закрепление моделей для сторонних развёртываний](/docs/ru/model-config#pin-models-for-third-party-deployments).439Сведения о псевдонимах, префиксах версий и записях `modelOverrides` см. в разделе [Закрепление моделей для сторонних развёртываний](/docs/ru/model-config#pin-models-for-third-party-deployments).

440 440 

441<h3 id="when-a-model-is-disabled-mid-session">441<h3 id="when-a-model-is-disabled-mid-session">

442 Когда модель отключена во время сеанса442 Когда модель отключена во время сессии

443</h3>443</h3>

444 444 

445Если ваша учётная запись потеряет доступ к модели, на которой работает ваш сеанс, например потому что администратор отключит её в вашей учётной записи Amazon Bedrock, Claude Code переключает сеанс на другую модель вместо того, чтобы не выполнять каждый запрос, и показывает `Switched to <fallback> because <model> is not available`. Он пытается использовать те же модели, что и резервный вариант при запуске: сначала более ранние версии того же уровня и, для сеанса Opus без доступной версии Opus, модель Sonnet по умолчанию.445Если ваша учётная запись потеряет доступ к модели, на которой работает ваша сессия, например потому что администратор отключит её в вашей учётной записи Amazon Bedrock, Claude Code переключает сессию на другую модель вместо того, чтобы не выполнять каждый запрос, и показывает `Switched to <fallback> because <model> is not available`. Он пытается использовать те же модели, что и резервный вариант при запуске: сначала более ранние версии того же уровня и, для сессии Opus без доступной версии Opus, модель Sonnet по умолчанию.

446 446 

447Переключение применяется только к уровню, который вы не закрепили, то же условие, что и резервный вариант при запуске. Сеанс на конкретной версии, которую вы выбрали, или на [ARN профиля вывода приложения](#map-each-model-version-to-an-inference-profile), сохраняет свою модель и, без цепочки резервных моделей, запрос не выполняется. В [режиме auto](/docs/ru/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry) Claude Code переключается только на модель, которую режим auto поддерживает на Amazon Bedrock. Если ни одна из этих моделей также недоступна, запрос не выполняется с ошибкой [AWS authentication failed](/docs/ru/errors#aws-authentication-failed) и подсказкой для включения модели.447Переключение применяется только к уровню, который вы не закрепили, то же условие, что и резервный вариант при запуске. Сессия на конкретной версии, которую вы выбрали, или на [ARN профиля вывода приложения](#map-each-model-version-to-an-inference-profile), сохраняет свою модель и, без цепочки резервных моделей, запрос не выполняется. В [авторежиме](/docs/ru/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry) Claude Code переключается только на модель, которую авторежим поддерживает на Amazon Bedrock. Если ни одна из этих моделей также недоступна, запрос не выполняется с ошибкой [AWS authentication failed](/docs/ru/errors#aws-authentication-failed) и подсказкой для включения модели.

448 448 

449[Цепочка резервных моделей](/docs/ru/model-config#fallback-model-chains), которую вы настраиваете, заменяет переключение уровня: при этих отказах Claude Code переключается на ваш настроенный резервный вариант. Чтобы отклонённые запросы не выполнялись вместо переключения, установите [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](/docs/ru/env-vars). Цепочка резервных моделей, которую вы настроили, всё ещё переключается при этих отказах; удалите цепочку также, если вы хотите, чтобы каждый отклонённый запрос не выполнялся.449[Цепочка резервных моделей](/docs/ru/model-config#fallback-model-chains), которую вы настраиваете, заменяет переключение уровня: при этих отказах Claude Code переключается на ваш настроенный резервный вариант. Чтобы отклонённые запросы не выполнялись вместо переключения, установите [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](/docs/ru/env-vars). Цепочка резервных моделей, которую вы настроили, всё ещё переключается при этих отказах; удалите цепочку также, если вы хотите, чтобы каждый отклонённый запрос не выполнялся.

450 450 

artifacts.md +1 −1

Details

105 Найти артефакт снова105 Найти артефакт снова

106</h2>106</h2>

107 107 

108Выполните `/artifacts` в Claude Code, чтобы вывести список принадлежащих вам артефактов и артефактов, которые с вами поделились. Артефакты текущей сессии отображаются первыми, в разделе **This session**. Требуется Claude Code v2.1.208 или более поздняя версия.108Выполните `/artifacts` в Claude Code, чтобы вывести список принадлежащих вам артефактов и артефактов, которые с вами поделились. Артефакты текущей сессии отображаются первыми, в разделе **This session**.

109 109 

110Выберите артефакт, затем нажмите одну из следующих клавиш:110Выберите артефакт, затем нажмите одну из следующих клавиш:

111 111 

Details

321claude auto-mode defaults321claude auto-mode defaults

322```322```

323 323 

324Чтобы прочитать полный текст одного правила без передачи через `jq`, передайте `--label` с началом метки правила, например `claude auto-mode defaults --label 'Git Destructive'`. Сопоставление выполняется без учета регистра по префиксу метки каждого правила, а разделы без совпадений выводятся как пустые списки. Требуется Claude Code v2.1.208 или позже.324Чтобы прочитать полный текст одного правила без передачи через `jq`, передайте `--label` с началом метки правила, например `claude auto-mode defaults --label 'Git Destructive'`. Сопоставление выполняется без учёта регистра по префиксу метки каждого правила, а разделы без совпадений выводятся как пустые списки.

325 325 

326Выведите то, что классификатор фактически использует в формате JSON, с вашими параметрами, применёнными где установлены, и значениями по умолчанию в противном случае:326Выведите то, что классификатор фактически использует в формате JSON, с вашими параметрами, применёнными где установлены, и значениями по умолчанию в противном случае:

327 327 


359 359 

360Если вы написали пользовательские правила, `claude auto-mode critique` проверяет их и отмечает записи, которые неоднозначны, избыточны или могут вызвать ложные срабатывания.360Если вы написали пользовательские правила, `claude auto-mode critique` проверяет их и отмечает записи, которые неоднозначны, избыточны или могут вызвать ложные срабатывания.

361 361 

362Чтобы отменить ваши настройки и вернуться к встроенным значениям по умолчанию, запустите подкоманду reset. Она требует Claude Code v2.1.212 или позже и удаляет раздел `autoMode` из вашего файла пользовательских параметров:362Чтобы отменить ваши настройки и вернуться к встроенным значениям по умолчанию, запустите подкоманду reset, которая удаляет раздел `autoMode` из вашего файла пользовательских настроек:

363 363 

364```bash theme={null}364```bash theme={null}

365claude auto-mode reset365claude auto-mode reset

chrome.md +3 −3

Details

113 113 

114Если настройка включена и используется Claude Code v2.1.287 или новее, каждая сессия VS Code подключается к вашему браузеру при запуске, поэтому Claude может использовать его ещё до того, как вы введёте `@browser`. В более ранних версиях или при выключенной настройке сессия VS Code подключается, когда вы вводите `@browser`.114Если настройка включена и используется Claude Code v2.1.287 или новее, каждая сессия VS Code подключается к вашему браузеру при запуске, поэтому Claude может использовать его ещё до того, как вы введёте `@browser`. В более ранних версиях или при выключенной настройке сессия VS Code подключается, когда вы вводите `@browser`.

115 115 

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

117 117 

118<Note>118<Note>

119 Включение Chrome по умолчанию увеличивает использование контекста, поскольку инструменты браузера и инструкции к ним всегда загружены. Если вы заметили увеличение потребления контекста, отключите эту настройку и подключайтесь только при необходимости: с помощью `--chrome` в CLI или введя [`@browser`](/docs/ru/vs-code#automate-browser-tasks-with-chrome) в поле промпта VS Code.119 Включение Chrome по умолчанию увеличивает использование контекста, поскольку инструменты браузера и инструкции к ним всегда загружены. Если вы заметили увеличение потребления контекста, отключите эту настройку и подключайтесь только при необходимости: с помощью `--chrome` в CLI или введя [`@browser`](/docs/ru/vs-code#automate-browser-tasks-with-chrome) в поле промпта VS Code.


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

193</h3>193</h3>

194 194 

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

196 196 

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

198 198 


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

272```272```

273 273 

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

275 275 

276<h2 id="troubleshooting">276<h2 id="troubleshooting">

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

Details

502 Конвейеры CI и удалённые машины502 Конвейеры CI и удалённые машины

503</h3>503</h3>

504 504 

505Схемы с сервисными токенами для автоматических конвейеров не существует. Вход в шлюз всегда использует поток авторизации устройства через браузер, поэтому задача CI, в которой нет разработчика для подтверждения входа, не может пройти аутентификацию; настройте такие задачи на прямую работу с вашим провайдером.505Схемы с сервисными токенами для автоматических конвейеров не существует. Вход в шлюз всегда использует поток авторизации устройства через браузер, поэтому задача CI, в которой нет разработчика для подтверждения входа, не может пройти аутентификацию; настройте такие задачи на прямую работу с вашим провайдером. Развёртывайте `forceLoginMethod` и `forceLoginGatewayUrl` на машинах разработчиков и не задавайте их на раннерах CI. На машине, управляемые настройки которой задают эти ключи, сессия, проходящая аутентификацию с помощью `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` или `apiKeyHelper`, [завершается при запуске](/docs/ru/errors#administrator-policy-requires-a-cloud-gateway-sign-in).

506 506 

507После входа разработчика каждая сессия Claude Code на этой машине использует сессию шлюза, включая неинтерактивные запуски `claude -p` и сессии, запущенные Agent SDK. Claude Code применяет [политику шлюза](/docs/ru/claude-apps-gateway-config#managed) к каждой из них.507После входа разработчика каждая сессия Claude Code на этой машине использует сессию шлюза, включая неинтерактивные запуски `claude -p` и сессии, запущенные Agent SDK. Claude Code применяет [политику шлюза](/docs/ru/claude-apps-gateway-config#managed) к каждой из них.

508 508 

Details

340 340 

341Задавайте `forward_user_identity` только для upstream, `base_url` которого — прокси под вашим управлением. Шлюз отправляет email разработчиков на любой сервер, указанный в этом `base_url`. Если `base_url` указывает на Anthropic API, что является значением по умолчанию, шлюз отказывается запускаться.341Задавайте `forward_user_identity` только для upstream, `base_url` которого — прокси под вашим управлением. Шлюз отправляет email разработчиков на любой сервер, указанный в этом `base_url`. Если `base_url` указывает на Anthropic API, что является значением по умолчанию, шлюз отказывается запускаться.

342 342 

343<Note>

344 Если задать `forward_user_identity` для upstream Amazon Bedrock, шлюз завершает работу при запуске с ошибкой `Unrecognized key(s) in object: 'forward_user_identity'`. Если ваш прокси стоит перед Bedrock, укажите его как upstream `provider: anthropic`. Шлюз отправляет этому upstream запросы в формате Anthropic Messages, поэтому ваш прокси должен [преобразовывать запросы для Bedrock](/docs/ru/llm-gateway-protocol#format-mismatch-with-the-upstream). Чтобы вместо этого сообщать AWS, какой разработчик отправил запрос, см. [Учёт затрат AWS по разработчикам](#per-developer-aws-cost-attribution).

345</Note>

346 

343<h4 id="amazon-bedrock">347<h4 id="amazon-bedrock">

344 Amazon Bedrock348 Amazon Bedrock

345</h4>349</h4>


1133 1137 

1134* Список моделей из `availableModels`. [Расширенный контекст в Claude Desktop](#extended-context-in-claude-desktop) описывает вариант с контекстом 1M для каждой модели1138* Список моделей из `availableModels`. [Расширенный контекст в Claude Desktop](#extended-context-in-claude-desktop) описывает вариант с контекстом 1M для каждой модели

1135* Отключённые инструменты из записей `permissions.deny` с простым названием инструмента. Если вы установите `disabledBuiltinTools` в блоке `desktop` политики, шлюз обслуживает объединение вашего значения и выведённого списка, поэтому вы можете отключить больше инструментов таким образом, но не можете повторно включить инструмент, который вы отключили через `permissions.deny`1139* Отключённые инструменты из записей `permissions.deny` с простым названием инструмента. Если вы установите `disabledBuiltinTools` в блоке `desktop` политики, шлюз обслуживает объединение вашего значения и выведённого списка, поэтому вы можете отключить больше инструментов таким образом, но не можете повторно включить инструмент, который вы отключили через `permissions.deny`

1136* Список разрешённых исходящих соединений из `sandbox.network.allowedDomains`. Если вы установите `coworkEgressAllowedHosts` в блоке `desktop` политики, шлюз использует это значение вместо выведённого списка1140* Список разрешённых доменов для исходящего трафика — из `sandbox.network.allowedDomains`. Если вы задаёте `coworkEgressAllowedHosts` в блоке `desktop` политики, шлюз использует это значение вместо производного списка. Если выдаваемый шлюзом список разрешённых включает `*` и шлюз при этом не выдаёт [`allowedWorkspaceFolders`](https://claude.com/docs/third-party/claude-desktop/code#applied-as-managed-policy) Claude Desktop, Claude Desktop не включает [песочницу Bash](/docs/ru/sandboxing) во вкладке Code

1137* Эндпоинт OTLP, который указывает на сам шлюз, и атрибуты идентификации пользователя, выполнившего вход. Шлюз передаёт экспорты, которые он получает на этом эндпоинте, вашим назначениям `forward_to`. Он включает эндпоинт и атрибуты, когда вы устанавливаете оба [`telemetry.forward_to`](#telemetry) и `listen.public_url`.1141* Эндпоинт OTLP, который указывает на сам шлюз, и атрибуты идентификации пользователя, выполнившего вход. Шлюз передаёт экспорты, которые он получает на этом эндпоинте, вашим назначениям `forward_to`. Он включает эндпоинт и атрибуты, когда вы устанавливаете оба [`telemetry.forward_to`](#telemetry) и `listen.public_url`.

1138 1142 

1139 Claude Desktop экспортирует каждый сигнал с одной кодировкой: `http/protobuf`, или `http/json`, когда вы устанавливаете `OTEL_EXPORTER_OTLP_PROTOCOL` или один из его вариантов для каждого сигнала на `http/json` в `env` политики. До Claude Code v2.1.261 на сервере шлюза ответ устанавливал `http/json` независимо, поэтому сборщик, который принимает только protobuf, отклонял экспорты Claude Desktop1143 Claude Desktop экспортирует каждый сигнал с одной кодировкой: `http/protobuf`, или `http/json`, когда вы устанавливаете `OTEL_EXPORTER_OTLP_PROTOCOL` или один из его вариантов для каждого сигнала на `http/json` в `env` политики. До Claude Code v2.1.261 на сервере шлюза ответ устанавливал `http/json` независимо, поэтому сборщик, который принимает только protobuf, отклонял экспорты Claude Desktop


1374 1378 

1375Оба кодирования OTLP protobuf и JSON передаются, и любой совместимый с OpenTelemetry бэкенд работает как назначение.1379Оба кодирования OTLP protobuf и JSON передаются, и любой совместимый с OpenTelemetry бэкенд работает как назначение.

1376 1380 

1381<h4 id="send-cumulative-metrics">

1382 Отправка кумулятивных метрик

1383</h4>

1384 

1385Если ваш коллектор принимает только кумулятивные метрики, задайте [`OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE`](/docs/ru/monitoring-usage#common-configuration-variables) равным `cumulative`. По умолчанию Claude Code отправляет дельта-метрики, а шлюз передаёт их без преобразования. Задайте переменную там, где её читает каждый тип сессий:

1386 

1387* **Терминальные сессии**: в блоке `env` под [ключом `cli` или `code`](#choose-cli-or-code) политики

1388* **Сессии Cowork, которые [выполняются на машине пользователя](/docs/ru/managed-settings#where-and-when-a-policy-applies)**: в блоке `env` [клиентских управляемых настроек](#client-side-managed-settings) на этой машине

1389* **Сессии вкладки Code под политикой `code`**: в блоке `env` политики, когда выполнены [условия применения настроек `code`](#apply-code-settings-in-the-code-tab)

1390* **Сессии вкладки Code под политикой `cli`**: в блоке `env` клиентских управляемых настроек на машине, на которой выполняется сессия. При работе через SSH это удалённый хост.

1391 

1392Если вы добавляете переменную в управляемые настройки машины, также задайте [`parentSettingsBehavior: "merge"`](/docs/ru/claude-apps-gateway#set-the-opt-in) в источнике с наивысшим приоритетом на этой машине. Без этого сессии Cowork и сессии вкладки Code под политикой `cli` работают без списка разрешённых доменов исходящего трафика и другой политики, которую Claude Desktop передаёт им как родительские настройки.

1393 

1377<h4 id="add-your-own-labels">1394<h4 id="add-your-own-labels">

1378 Добавьте свои собственные метки1395 Добавьте свои собственные метки

1379</h4>1396</h4>

Details

1706claude purge ~/work/my-repo --yes1706claude purge ~/work/my-repo --yes

1707```1707```

1708 1708 

1709Передайте `--all` вместо пути, чтобы очистить состояние для каждого проекта сразу, что удаляет `history.jsonl` полностью, а не фильтруя его. Передайте `-i`, чтобы пройти через план удаления по одному элементу за раз.1709Другие параметры:

1710 

1711* Передайте `--all` вместо пути, чтобы очистить состояние для каждого проекта сразу, что удаляет `history.jsonl` полностью, а не фильтруя его.

1712* Передайте `-i`, чтобы пройти через план удаления по одному элементу за раз.

1710 1713 

1711Команда оставляет `shell-snapshots/` и `backups/` в покое, потому что они не ограничены проектом, и предупреждает о них в выводе плана. Если кто-либо запускал [`/heapdump`](/docs/ru/troubleshooting#high-cpu-or-memory-usage) на этой машине, удалите также записанные им файлы `.heapsnapshot`. Снимок кучи содержит полный диалог и любые учётные данные, которые хранил процесс, и ни очистка по сроку хранения, ни purge его не затрагивают.1714Команда оставляет `shell-snapshots/` и `backups/` в покое, потому что они не ограничены проектом, и предупреждает о них в выводе плана. Если кто-либо запускал [`/heapdump`](/docs/ru/troubleshooting#high-cpu-or-memory-usage) на этой машине, удалите также записанные им файлы `.heapsnapshot`. Снимок кучи содержит полный диалог и любые учётные данные, которые хранил процесс, и ни очистка по сроку хранения, ни purge его не затрагивают.

1712 1715 

1713Вы также можете удалить любой из путей данных приложения выше вручную, кроме [файлов состояния для сохранения](#state-files-to-keep). Новые сеансы не затронуты. Таблица ниже показывает, что вы теряете для прошлых сеансов.1716Вы также можете удалить любой из путей данных приложения выше вручную, кроме [файлов состояния для сохранения](#state-files-to-keep).

1714 1717 

1715| Удалить | Вы теряете |1718| Удалить | Вы теряете |

1716| - | - |1719| - | - |


1726| `~/.claude/remote-settings.json` | Ничего. Повторно получается при следующем запуске. |1729| `~/.claude/remote-settings.json` | Ничего. Повторно получается при следующем запуске. |

1727| `~/.claude/cache/changelog.md` | Ничего. Обновляется в фоне. |1730| `~/.claude/cache/changelog.md` | Ничего. Обновляется в фоне. |

1728| `~/.claude/policy-limits.json` | Ничего. Обновляется автоматически. |1731| `~/.claude/policy-limits.json` | Ничего. Обновляется автоматически. |

1729| `~/.claude/tasks/` | Списки задач, которые возобновлённый сеанс подхватит |1732| `~/.claude/tasks/` | Ваши [списки задач](/docs/ru/interactive-mode#task-list), включая те, которые ещё используются |

1730| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | Возможность восстановления [синхронизированных навыков](/docs/ru/skills#how-synced-skills-behave) и [синхронизированных плагинов](/docs/ru/plugins/loading#synced-plugins), которые Claude Code удалил |1733| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | Возможность восстановления [синхронизированных навыков](/docs/ru/skills#how-synced-skills-behave) и [синхронизированных плагинов](/docs/ru/plugins/loading#synced-plugins), которые Claude Code удалил |

1731| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Копии записей об установке плагинов, которые Claude Code удалил или не смог прочитать. Ничто их не читает обратно |1734| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Копии записей об установке плагинов, которые Claude Code удалил или не смог прочитать. Ничто их не читает обратно |

1732| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Ничего видимого пользователю |1735| `~/.claude/debug/`, `~/.claude/plans/`, `~/.claude/session-env/`, `~/.claude/shell-snapshots/`, `~/.claude/backups/` | Ничего видимого пользователю |

Details

115| `--no-session-persistence` | Отключить сохранение сеанса, чтобы сеансы не сохранялись на диск и не могли быть возобновлены. Только режим печати. Переменная окружения [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/ru/env-vars) делает то же самое в любом режиме | `claude -p --no-session-persistence "query"` |115| `--no-session-persistence` | Отключить сохранение сеанса, чтобы сеансы не сохранялись на диск и не могли быть возобновлены. Только режим печати. Переменная окружения [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/ru/env-vars) делает то же самое в любом режиме | `claude -p --no-session-persistence "query"` |

116| `--output-format` | Указать формат вывода для режима печати (опции: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |116| `--output-format` | Указать формат вывода для режима печати (опции: `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |

117| `--permission-mode` | Начать в указанном [режиме разрешения](/docs/ru/permission-modes). Принимает `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions` или `manual` как псевдоним для `default`. Псевдоним `manual` выбирает режим разрешения, который UI обозначает как Manual и требует Claude Code v2.1.200 или позже; `claude --help` выводит его вместо `default`, и оба значения работают. Переопределяет `defaultMode` из файлов параметров. Без этого флага или `--dangerously-skip-permissions` новый сеанс начинается в режиме разрешения, описанном в [какой режим разрешения начинает сеанс](/docs/ru/permission-modes#which-mode-a-session-starts-in), который также охватывает то, в каком режиме начинается запуск `-p` | `claude --permission-mode plan` |117| `--permission-mode` | Начать в указанном [режиме разрешения](/docs/ru/permission-modes). Принимает `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions` или `manual` как псевдоним для `default`. Псевдоним `manual` выбирает режим разрешения, который UI обозначает как Manual и требует Claude Code v2.1.200 или позже; `claude --help` выводит его вместо `default`, и оба значения работают. Переопределяет `defaultMode` из файлов параметров. Без этого флага или `--dangerously-skip-permissions` новый сеанс начинается в режиме разрешения, описанном в [какой режим разрешения начинает сеанс](/docs/ru/permission-modes#which-mode-a-session-starts-in), который также охватывает то, в каком режиме начинается запуск `-p` | `claude --permission-mode plan` |

118| `--permission-prompt-tool` | Указать инструмент MCP для обработки запросов разрешения в неинтерактивном режиме. Claude Code ждёт подключения MCP сервера этого инструмента перед запуском первого хода, до стартового таймаута [`MCP_TIMEOUT`](/docs/ru/env-vars), 30 секунд по умолчанию. <br /><br />Инструмент приглашения не может одобрить инструмент MCP, отмеченный как [требующий взаимодействия пользователя](/docs/ru/mcp#require-approval-for-a-specific-tool): Claude Code преобразует результат `allow` для одного в отрицание. Это ограничение требует Claude Code v2.1.199 или позже | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |118| `--permission-prompt-tool` | Указать MCP-инструмент для обработки запросов разрешения в неинтерактивном режиме. Передайте полное имя, например `mcp__<server>__<tool>`, инструмента на MCP-сервере, который загружается при этом запуске. Claude Code перед первым ходом ждёт подключения MCP-сервера этого инструмента — не дольше стартового таймаута [`MCP_TIMEOUT`](/docs/ru/env-vars), по умолчанию 30 секунд. <br /><br />Инструмент обработки запросов не может одобрить MCP-инструмент, помеченный как [требующий взаимодействия с пользователем](/docs/ru/mcp#require-approval-for-a-specific-tool): Claude Code преобразует результат `allow` для такого инструмента в запрет. Это ограничение требует Claude Code v2.1.199 или новее | `claude -p --mcp-config ./mcp.json --permission-prompt-tool mcp__permissions__approve "query"` |

119| `--permission-prompts` | Установить, кто отвечает на запросы разрешения в режиме печати. С по умолчанию `host`, Claude Code отправляет их хосту Agent SDK или инструменту `--permission-prompt-tool`. Передайте `none`, когда никто не может ответить, и Claude Code отклоняет их вместо этого. См. [Отключить запросы разрешения в автоматических запусках](/docs/ru/headless#turn-off-permission-prompts-in-unattended-runs). Требует Claude Code v2.1.259 или позже | `claude -p --permission-prompts none "query"` |119| `--permission-prompts` | Установить, кто отвечает на запросы разрешения в режиме печати. С по умолчанию `host`, Claude Code отправляет их хосту Agent SDK или инструменту `--permission-prompt-tool`. Передайте `none`, когда никто не может ответить, и Claude Code отклоняет их вместо этого. См. [Отключить запросы разрешения в автоматических запусках](/docs/ru/headless#turn-off-permission-prompts-in-unattended-runs). Требует Claude Code v2.1.259 или позже | `claude -p --permission-prompts none "query"` |

120| `--plugin-dir` | Загрузить plugin из каталога или архива `.zip`, или несколько из [папки plugins](/docs/ru/plugins/create#load-a-directory-or-archive-for-one-session), только для этого сеанса. Каждый флаг принимает один путь. Повторите флаг для нескольких путей: `--plugin-dir A --plugin-dir B.zip`. Передача папки plugins требует Claude Code v2.1.265 или позже | `claude --plugin-dir ./my-plugin` |120| `--plugin-dir` | Загрузить plugin из каталога или архива `.zip`, или несколько из [папки plugins](/docs/ru/plugins/create#load-a-directory-or-archive-for-one-session), только для этого сеанса. Каждый флаг принимает один путь. Повторите флаг для нескольких путей: `--plugin-dir A --plugin-dir B.zip`. Передача папки plugins требует Claude Code v2.1.265 или позже | `claude --plugin-dir ./my-plugin` |

121| `--plugin-url` | Получить plugin архив `.zip` из URL только для этого сеанса. Повторите флаг для нескольких plugins, или передайте разделённые пробелом URL в одном значении в кавычках | `claude --plugin-url https://example.com/plugin.zip` |121| `--plugin-url` | Получить plugin архив `.zip` из URL только для этого сеанса. Повторите флаг для нескольких plugins, или передайте разделённые пробелом URL в одном значении в кавычках | `claude --plugin-url https://example.com/plugin.zip` |

Details

117 117 

118* **Репозиторий настроен на Manual**: как запросить ревью с помощью комментария118* **Репозиторий настроен на Manual**: как запросить ревью с помощью комментария

119* **Pull request создан из форка**: что ревью может запросить мейнтейнер119* **Pull request создан из форка**: что ревью может запросить мейнтейнер

120* **Бот или пользователь без доступа на запись оставляет комментарий `@claude review`**: что ревью не было запущено и кто может его запросить120* **Бот или пользователь без доступа на запись, не являющийся автором pull request, оставляет комментарий `@claude review`**: что ревью не было запущено и кто может его запросить

121* **Организация GitHub не привязана к вашей организации Claude**: что ревью приостановлены и как привязать организацию121* **Организация GitHub не привязана к вашей организации Claude**: что ревью приостановлены и как привязать организацию

122 122 

123Отключите эту настройку, чтобы прекратить публикацию таких комментариев.123Отключите эту настройку, чтобы прекратить публикацию таких комментариев.

Details

38 38 

39* **Code Review не включён для этого репозитория**: Claude не публикует ни комментария, ни check run в ответ на команду. Попросите Owner [добавить репозиторий](/docs/ru/code-review-setup#add-more-repositories).39* **Code Review не включён для этого репозитория**: Claude не публикует ни комментария, ни check run в ответ на команду. Попросите Owner [добавить репозиторий](/docs/ru/code-review-setup#add-more-repositories).

40* **Комментарий не соответствует условию**: это был встроенный комментарий или текст ревью, а не новый комментарий верхнего уровня, либо команда стояла не в начале комментария. Редактирование более раннего комментария вместо публикации нового также не учитывается, а pull request должен быть открыт. Ознакомьтесь с [условиями для команд в комментариях](/docs/ru/code-review-pull-requests#comment-commands) и опубликуйте новый комментарий, который им соответствует.40* **Комментарий не соответствует условию**: это был встроенный комментарий или текст ревью, а не новый комментарий верхнего уровня, либо команда стояла не в начале комментария. Редактирование более раннего комментария вместо публикации нового также не учитывается, а pull request должен быть открыт. Ознакомьтесь с [условиями для команд в комментариях](/docs/ru/code-review-pull-requests#comment-commands) и опубликуйте новый комментарий, который им соответствует.

41* **У вас нет прав на запись**: вам нужно разрешение write, maintain или admin в репозитории, а для pull request из форка учитывается разрешение в базовом репозитории. Если в вашей организации включены подсказки, Claude ответит: "No review was started: manual reviews can only be requested by someone with write access to this repository." Попросите оставить комментарий кого-то, у кого есть права на запись.41* **У вас нет прав на запись**: вам нужно разрешение write, maintain или admin в репозитории. Для pull request из форка учитывается разрешение в базовом репозитории. Если pull request не ваш, Claude может ответить [подсказкой](/docs/ru/code-review-setup#turn-tip-comments-on-or-off): "No review was started: manual reviews can only be requested by someone with write access to this repository." Попросите оставить комментарий кого-то, у кого есть права на запись.

42* **Бюджет исчерпан**: Claude публикует комментарий, начинающийся с "⚠️ Code review skipped". См. [Ревью не запустилось, и в PR отображается сообщение о бюджете](#review-didn’t-run-and-the-pr-shows-a-budget-message).42* **Бюджет исчерпан**: Claude публикует комментарий, начинающийся с "⚠️ Code review skipped". См. [Ревью не запустилось, и в PR отображается сообщение о бюджете](#review-didn’t-run-and-the-pr-shows-a-budget-message).

43 43 

44<h3 id="review-didn’t-run-and-the-pr-shows-a-budget-message">44<h3 id="review-didn’t-run-and-the-pr-shows-a-budget-message">

commands.md +5 −5

Details

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 выводит строку использования |

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

71| `/chrome` | Настроить параметры [Claude в Chrome](/docs/ru/chrome) |71| `/chrome` | Настроить параметры [Claude в Chrome](/docs/ru/chrome) |


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`. Когда [представление агента отключено](/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` | Просмотреть конфигурации [хуков](/docs/ru/hooks#the-%2Fhooks-menu) |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). Импорт из 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) |


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

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

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

156| `/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| `/subtask <task>` | Запустить [разветвлённый субагент](/docs/ru/sub-agents#fork-the-current-conversation): фоновый субагент, который наследует полный разговор и работает над задачей, пока вы продолжаете работать. Его результат возвращается в этот разговор, когда он завершается. Чтобы скопировать разговор в отдельную фоновую сессию вместо этого, используйте `/fork`. Когда [представление агента отключено](/docs/ru/agent-view#turn-off-agent-view), `/subtask` недоступен и `/fork` запускает разветвлённый субагент вместо этого |

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

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

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

160| `/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| `/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) |

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

Details

120Когда launcher не может работать, Claude Code отказывается запустить процесс вместо того, чтобы запустить его без обертки. На Windows [переменная игнорируется](#what-the-launcher-covers) и процессы запускаются без обертки. Claude Code придерживается скрипта этих правил:120Когда launcher не может работать, Claude Code отказывается запустить процесс вместо того, чтобы запустить его без обертки. На Windows [переменная игнорируется](#what-the-launcher-covers) и процессы запускаются без обертки. Claude Code придерживается скрипта этих правил:

121 121 

122* **Заканчивайте с `exec "$@"`.** Launcher, который разветвляет дочерний процесс и выходит, оставляет сиротский процесс Claude Code, который фоновый сервис не может отследить. Agent view отмечает такой сеанс как неудачный с сообщением, называющим launcher, и сервис собирает то, что launcher оставил позади.122* **Заканчивайте с `exec "$@"`.** Launcher, который разветвляет дочерний процесс и выходит, оставляет сиротский процесс Claude Code, который фоновый сервис не может отследить. Agent view отмечает такой сеанс как неудачный с сообщением, называющим launcher, и сервис собирает то, что launcher оставил позади.

123* **Не переупорядочивайте, не поглощайте и не добавляйте аргументы в начало.** Первый аргумент — это бинарный файл Claude Code, и все после него — это его argv.123* **Не переупорядочивайте, не поглощайте и не дополняйте аргументы Claude Code.** Удалите [собственные аргументы](#pass-arguments-to-the-launcher) launcher, которые идут первыми, и передайте остальные в `exec` в том виде, в каком они пришли.

124* **Передайте каждую унаследованную переменную окружения через `exec`.** Добавление переменных, таких как внедренные учетные данные, хорошо; отбрасывание унаследованных — нет.124* **Передайте каждую унаследованную переменную окружения через `exec`.** Добавление переменных, таких как внедренные учетные данные, хорошо; отбрасывание унаследованных — нет.

125 * Токены аутентификации для каждого сеанса, выбор модели и поставщика, и сам `CLAUDE_CODE_PROCESS_WRAPPER` все путешествуют в унаследованной среде, поэтому launcher, который перестраивает ее из списка разрешений, нарушает сеансы, которые он запускает, и `/status` сообщает о несоответствии launcher.125 * Токены аутентификации для каждого сеанса, выбор модели и поставщика, и сам `CLAUDE_CODE_PROCESS_WRAPPER` все путешествуют в унаследованной среде, поэтому launcher, который перестраивает ее из списка разрешений, нарушает сеансы, которые он запускает, и `/status` сообщает о несоответствии launcher.

126 * Если launcher должен войти в пространство имен или sandbox, который сбрасывает окружение, повторно экспортируйте унаследованное окружение внутри него дословно.126 * Если launcher должен войти в пространство имен или sandbox, который сбрасывает окружение, повторно экспортируйте унаследованное окружение внутри него дословно.

127* **Достигните `exec` примерно за три секунды каждый раз, когда запускается launcher.** Холодная фоновая отправка запускает launcher дважды подряд перед первым байтом вывода, поэтому выполняйте медленную работу, такую как обмен единственным входом, лениво или из кэша.127* **Доходите до `exec` примерно за три секунды при каждом запуске launcher.** Фоновая сессия может запустить launcher три раза подряд до появления первого вывода. Выполняйте медленную работу, такую как обмен для единого входа, лениво или из кэша, и задавайте каждому шагу, который ожидает сеть, собственное ограничение по времени.

128* **Допускайте вызов изнутри себя.** Claude Code применяет launcher к каждому вложенному self-spawn, поэтому launcher, который получает исключительный ресурс, должен обнаружить, что он его уже держит.128* **Допускайте вызов изнутри себя.** Claude Code применяет launcher к каждому вложенному self-spawn, поэтому launcher, который получает исключительный ресурс, должен обнаружить, что он его уже держит.

129* **Не пишите в терминал перед запуском Claude Code.** Все, что напечатано перед `exec`, сообщается как причина сбоя, если сеанс умирает перед инициализацией.129* **Не пишите в терминал или стандартный вывод перед запуском Claude Code.** Всё, что напечатано перед `exec`, сообщается как причина сбоя, если сессия завершается до инициализации. Текст в стандартном выводе также попадает в программу, которая читает вывод Claude Code, например в скрипт, анализирующий результаты `claude -p`.

130* **Не полагайтесь на то, как записаны аргументы.** Значение флага может прийти как отдельный аргумент, `--flag value`, или вместе с флагом, `--flag=value`. Форма, которую использует флаг, может меняться от версии к версии.130* **Не полагайтесь на то, как записаны аргументы.** Значение флага может прийти как отдельный аргумент, `--flag value`, или вместе с флагом, `--flag=value`. Форма, которую использует флаг, может меняться от версии к версии.

131* **Запускайте `exec` из каталога, в котором был запущен launcher.** Claude Code работает в каталоге, в котором запускается, поэтому launcher, меняющий каталог, может запустить сессию не в том проекте. Если launcher должен войти в пространство имён или песочницу, которая сбрасывает рабочий каталог, вернитесь в исходный каталог внутри неё перед `exec`.131* **Запускайте `exec` из каталога, в котором был запущен launcher.** Claude Code работает в каталоге, в котором запускается, поэтому launcher, меняющий каталог, может запустить сессию не в том проекте. Если launcher должен войти в пространство имён или песочницу, которая сбрасывает рабочий каталог, вернитесь в исходный каталог внутри неё перед `exec`.

132* **Не читайте стандартный ввод.** Команда, которая читает его перед `exec`, например запрашивающая пароль, может ждать ввода, который не поступит, и оставить сессию зависшей. Она также может забрать ввод, предназначенный для Claude Code, и тогда сессия может работать без этого ввода, не сообщая об ошибке. Перенаправляйте ввод такой команды из `/dev/null`.

133* **Вызывайте другие программы по абсолютному пути.** Launcher может запускаться с `PATH`, в котором нет каталогов, добавляемых профилем вашей оболочки.

132 134 

133<h3 id="format-of-the-launcher-value">135<h3 id="format-of-the-launcher-value">

134 Формат значения launcher136 Формат значения launcher


138 140 

139Чтобы передать вашему launcher его собственные аргументы, напишите их после пути. Claude Code анализирует значение как список аргументов, а не команду shell:141Чтобы передать вашему launcher его собственные аргументы, напишите их после пути. Claude Code анализирует значение как список аргументов, а не команду shell:

140 142 

141* Пробелы разделяют токены, а двойные кавычки группируют токен, содержащий пробелы.143* Пробелы разделяют токены, а двойные кавычки группируют токен, содержащий пробелы. Одинарная кавычка — обычный символ, поэтому `'a b'` — это два токена.

142* Значение, которое начинается с `[`, читается как массив строк JSON, например `["/opt/corp/launcher", "--profile", "cc"]`.144* Значение, которое начинается с `[`, читается как массив строк JSON, например `["/opt/corp/launcher", "--profile", "cc"]`.

143* Синтаксис shell не работает: нет расширения переменных или глобализации, и неквотированный оператор, такой как `;`, `|`, `&` или `$(`, отклоняется как ошибка конфигурации, а не переинтерпретируется.145* Синтаксис shell не работает: нет расширения переменных или глобализации, и неквотированный оператор, такой как `;`, `|`, `&` или `$(`, отклоняется как ошибка конфигурации, а не переинтерпретируется.

144 146 

145Когда значение не может быть использовано, Claude Code отказывается запустить затронутый процесс и [сообщает причину](/docs/ru/errors#claude_code_process_wrapper-launcher-errors).147Когда значение не может быть использовано, Claude Code отказывается запустить затронутый процесс и [сообщает причину](/docs/ru/errors#claude_code_process_wrapper-launcher-errors).

146 148 

149В файле настроек запишите форму массива внутри строки JSON и экранируйте её кавычки: `"[\"/opt/corp/launcher\", \"--profile\", \"cc\"]"`.

150 

151<h3 id="pass-arguments-to-the-launcher">

152 Передача аргументов в launcher

153</h3>

154 

155Запишите собственные аргументы launcher после его пути в [значении](#format-of-the-launcher-value) и удалите их в скрипте перед вызовом `exec`. Они поступают в скрипт первыми, перед командой Claude Code. Следующий скрипт, написанный для значения `/opt/corp/launcher --profile cc`, сохраняет имя профиля, а затем удаляет оба аргумента с помощью `shift`:

156 

157```bash theme={null}

158#!/bin/sh

159if [ "$1" = "--profile" ]; then

160 profile="$2"

161 shift 2

162fi

163# Your organization's setup for "$profile".

164exec "$@"

165```

166 

167Используйте [шаг проверки](#set-up-the-launcher), чтобы увидеть команду запуска, которую Claude Code получил из значения.

168 

147<h2 id="relationship-to-claude_code_shell_prefix">169<h2 id="relationship-to-claude_code_shell_prefix">

148 Отношение к `CLAUDE_CODE_SHELL_PREFIX`170 Отношение к `CLAUDE_CODE_SHELL_PREFIX`

149</h2>171</h2>

desktop.md +372 −110

Details

44 Начало сеанса44 Начало сеанса

45</h2>45</h2>

46 46 

47Перед отправкой первого сообщения настройте четыре параметра в области подсказки:47Перед отправкой первого сообщения выберите окружение, папку проекта, режим разрешений и модель в строке под полем промпта:

48 48 

49* **Environment**: выберите, где запускается Claude. Выберите **Local** для вашей машины, **Cloud** для [облачной сессии](#cloud-sessions), которая продолжается после закрытия приложения, [**SSH-соединение**](#ssh-sessions) для удалённой машины, которой вы управляете, или на Windows [**WSL-дистрибутив**](/docs/ru/desktop-wsl). Задача в SSH-сессии может [продолжать выполняться, пока Desktop отключён](#keep-a-task-running-while-desktop-is-disconnected), но при использовании учётной записи Claude она может остановиться, когда истечёт срок её входа. См. [конфигурация окружения](#environment-configuration).49* **Environment**: с помощью селектора окружения, первого элемента управления в строке, выберите, где запускается Claude. См. [конфигурация окружения](#environment-configuration).

50* **Project folder**: выберите папку или репозиторий, с которым работает Claude. Для облачных сеансов вы можете добавить [несколько репозиториев](#run-long-running-tasks-in-the-cloud).50 * Если в новой сессии под полем промпта нет селектора окружения, следуйте [шагам для прежнего макета](#check-which-layout-you-have).

51* **Model**: выберите [модель](/docs/ru/model-config#available-models) из раскрывающегося списка рядом с кнопкой отправки. Вы можете изменить это во время сеанса.51* **Project folder**: нажмите элемент управления папкой проекта рядом с селектором окружения, чтобы выбрать папку, в которой работает Claude.

52* **Permission mode**: выберите, сколько автономности имеет Claude, из [селектора режима](#choose-a-permission-mode). Вы можете изменить это во время сеанса.52 * **Облачная сессия**: выберите [репозитории](#run-long-running-tasks-in-the-cloud) вместо папки

53 * **[Сохранённое локальное или SSH-окружение](#create-a-saved-environment)**: окружение уже содержит свои папки, поэтому в строке нет элемента управления папкой проекта. Чтобы изменить папки, [отредактируйте окружение](#use-edit-or-remove-a-saved-environment).

54* **Permission mode**: с помощью [селектора режима](#choose-a-permission-mode) выберите, сколько автономности имеет Claude. Вы можете изменить режим разрешений во время сессии.

55* **Model**: выберите [модель](/docs/ru/model-config#available-models) в средстве выбора модели ближе к правому краю строки. Вы можете изменить модель во время сессии.

53 56 

54Введите вашу задачу и нажмите **Enter** для начала. Каждый сеанс отслеживает свой собственный контекст и изменения независимо.57Введите вашу задачу и нажмите **Enter** для начала. Каждый сеанс отслеживает свой собственный контекст и изменения независимо.

55 58 


82 Добавляйте файлы и контекст в промпты85 Добавляйте файлы и контекст в промпты

83</h3>86</h3>

84 87 

85Поле промпта поддерживает два способа добавления внешнего контекста:88Чтобы передать Claude файл, упомяните его через @ или вложите его в поле промпта:

86 89 

87* **@mention файлов**: введите `@` и имя файла, чтобы добавить файл в контекст диалога. Claude сможет затем читать и ссылаться на этот файл. @mention недоступен в облачных сессиях и сессиях WSL.90* **@mention файлов**: введите `@` и имя файла, чтобы добавить файл в контекст диалога.

88* **Вложение файлов**: вложите изображения, PDF-файлы и другие файлы в ваш промпт, используя кнопку вложения, или перетащите файлы прямо в поле промпта. Это полезно для обмена скриншотами ошибок, макетами дизайна или справочными документами.91 * **В облачной сессии**: `@` может показывать список файлов только после того, как вы отправите первое сообщение. Если `@` не показывает ни одного файла, отправьте первое сообщение без файла, а затем упомяните файл через @ в следующем сообщении.

92* **Вложение файлов**: вложите изображения, PDF-файлы и другие файлы в ваш промпт с помощью кнопки **+** рядом с полем промпта или перетащите файлы прямо в промпт. Это полезно для обмена скриншотами ошибок, макетами дизайна или справочными документами.

93 * **В [сессии WSL](/docs/ru/desktop-wsl)**: если в меню **+** отображается **Add image** вместо **Add files or photos**, вы можете вкладывать только изображения. Чтобы передать Claude любой другой файл из папки сессии, упомяните его через @.

89 94 

90<h3 id="choose-a-permission-mode">95<h3 id="choose-a-permission-mode">

91 Выберите режим разрешений96 Выберите режим разрешений

92</h3>97</h3>

93 98 

94Режимы разрешений контролируют, насколько автономно Claude действует во время сессии: спрашивает ли он перед редактированием файлов, выполнением команд или обоим. Вы можете переключать режимы разрешений в любой момент, используя селектор режима рядом с кнопкой отправки. Чтобы подтверждать каждое изменение самостоятельно, переключитесь на Manual.99Режимы разрешений контролируют, насколько автономно Claude действует во время сессии: спрашивает ли он перед редактированием файлов, выполнением команд или обоим. Вы можете переключать режимы разрешений в любой момент, используя селектор режима в строке под полем промпта. Чтобы подтверждать каждое изменение самостоятельно, переключитесь на Manual.

95 100 

96Чтобы установить режим по умолчанию для новых локальных сессий, добавьте `permissions.defaultMode` в ваш [файл настроек](/docs/ru/settings#where-settings-live). Приложение для рабочего стола читает те же файлы настроек, что и CLI. Режим, который вы выбираете в селекторе, запоминается для каждой папки и имеет приоритет над `defaultMode` для этой папки, за исключением Plan, который применяется только к текущей сессии.101Чтобы установить режим по умолчанию для новых локальных сессий, добавьте `permissions.defaultMode` в ваш [файл настроек](/docs/ru/settings#where-settings-live). Приложение для рабочего стола читает те же файлы настроек, что и CLI. Режим, который вы выбираете в селекторе, запоминается для каждой папки и имеет приоритет над `defaultMode` для этой папки, за исключением Plan, который применяется только к текущей сессии.

97 102 


129 134 

130Claude может запустить dev сервер и открыть его в панели Browser для проверки своих изменений. Это работает как для фронтенд веб-приложений, так и для бэкенд серверов: Claude может тестировать API-эндпоинты, просматривать логи сервера и итерировать по найденным проблемам. В большинстве случаев Claude автоматически запускает сервер после редактирования файлов проекта. Вы также можете попросить Claude выполнить предпросмотр в любой момент. По умолчанию Claude [автоматически проверяет](#auto-verify-changes) изменения после каждого редактирования.135Claude может запустить dev сервер и открыть его в панели Browser для проверки своих изменений. Это работает как для фронтенд веб-приложений, так и для бэкенд серверов: Claude может тестировать API-эндпоинты, просматривать логи сервера и итерировать по найденным проблемам. В большинстве случаев Claude автоматически запускает сервер после редактирования файлов проекта. Вы также можете попросить Claude выполнить предпросмотр в любой момент. По умолчанию Claude [автоматически проверяет](#auto-verify-changes) изменения после каждого редактирования.

131 136 

132Панель Browser также может открывать статические HTML файлы, PDF-файлы, изображения и видео из вашего проекта. Нажмите на путь HTML, PDF, изображения или видео в чате, чтобы открыть его там.137В локальной сессии нажмите на путь HTML, PDF или видео в чате, чтобы открыть его в панели Browser.

133 138 

134<Note>139<Note>

135 В [сессии SSH](#ssh-sessions) Claude не может открыть ваше приложение в панели Browser, потому что там у него нет инструментов этой панели. Чтобы посмотреть на приложение самостоятельно, [перенаправьте его порт на ваш компьютер](#reach-a-port-on-the-remote-machine).140 В [сессии SSH](#ssh-sessions) Claude не может открыть ваше приложение в панели Browser, потому что там у него нет инструментов этой панели. Чтобы посмотреть на приложение самостоятельно, [перенаправьте его порт на ваш компьютер](#reach-a-port-on-the-remote-machine).

136</Note>141</Note>

137 142 

143Если панель Browser не открылась после того, как Claude запустил сервер в локальной сессии, нажмите **Open** на карточке сервера в чате.

144 

138Из панели Browser вы можете:145Из панели Browser вы можете:

139 146 

140* Взаимодействовать с вашим запущенным приложением прямо в панели Browser147* Взаимодействовать с вашим запущенным приложением прямо в панели Browser


185 Проверьте изменения с помощью представления diff192 Проверьте изменения с помощью представления diff

186</h3>193</h3>

187 194 

188После того как Claude вносит изменения в ваш код, представление diff позволяет вам проверить изменения файл за файлом перед созданием pull request.195После того как Claude вносит изменения в ваш код, представление diff позволяет вам проверить изменения файл за файлом перед созданием pull request. Чтобы открыть представление diff, нажмите на счётчики строк, например `+12 -1`, в карточке **Changes** [панели сведений о сессии](#see-session-details). Вы также можете нажать **Changes** в строке заголовка сессии.

189 

190Когда Claude изменяет файлы, появляется индикатор статистики diff, показывающий количество добавленных и удалённых строк, например `+12 -1`. Нажмите на этот индикатор, чтобы открыть средство просмотра diff, которое отображает список файлов слева и изменения для каждого файла справа.

191 196 

192Чтобы прокомментировать определённые строки, нажмите на любую строку в diff, чтобы открыть поле комментария. Введите ваш отзыв и нажмите **Enter** для добавления комментария. После добавления комментариев к нескольким строкам отправьте все комментарии сразу:197Чтобы прокомментировать определённые строки, нажмите на любую строку в diff, чтобы открыть поле комментария. Введите ваш отзыв и нажмите **Enter** для добавления комментария. После добавления комментариев к нескольким строкам отправьте все комментарии сразу:

193 198 


213 Мониторьте статус pull request218 Мониторьте статус pull request

214</h3>219</h3>

215 220 

216После того как вы откроете pull request, в сессии появляется строка статуса CI. Claude Code использует GitHub CLI для опроса результатов проверок и выявления сбоев.221Чтобы Claude исправлял неудачные проверки или чтобы GitHub выполнил слияние pull request, включите **Auto-fix** или **Merge when ready**. После того как вы откроете pull request, он появится в карточке **Changes** [панели сведений о сессии](#see-session-details) со статусом его проверок CI. Откройте меню **⋮** рядом с его заголовком:

217 222 

218* **Auto-fix CI & address comments**: когда включено, Claude автоматически пытается исправить неудачные проверки CI, читая вывод ошибки и итерируя. В локальной сессии Claude также обрабатывает новые комментарии ревью, оставленные кем-то кроме вас, если автор является владельцем репозитория, членом организации, соавтором (collaborator) или GitHub App.223* **Auto-fix**: в локальной сессии Claude также обрабатывает новые комментарии ревью, оставленные кем-то кроме вас. Автор комментария должен быть владельцем репозитория, членом организации, соавтором (collaborator) или GitHub App.

219* **Auto-merge when ready**: когда включено, Claude выполняет слияние PR после того, как все проверки пройдены. Метод слияния — squash. Сначала включите auto-merge в [настройках вашего репозитория GitHub](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository); без этого Claude не может выполнить слияние PR.224* **Merge when ready**: включает auto-merge GitHub для PR. В локальной сессии Desktop запрашивает squash-слияние, если только базовая ветка не использует очередь слияния (merge queue).

225 * **В сессиях SSH и WSL**: **Merge when ready** отключён, поэтому включите auto-merge для pull request на GitHub

226 * **Если репозиторий не разрешает auto-merge**: **Merge when ready** не включается, поэтому сначала включите auto-merge в [настройках вашего репозитория GitHub](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository)

227* **[Предыдущий макет](#check-which-layout-you-have)**: когда у сессии появится pull request, нажмите **CI** в её строке статуса.

220 228 

221Чтобы включить эти функции, нажмите **CI** в строке статуса. Чтобы автоматически архивировать сессию после слияния или закрытия PR, включите [auto-archive](#work-in-parallel-with-sessions) в **Settings > Claude Code**.229Чтобы автоматически архивировать сессию после слияния или закрытия PR, включите [auto-archive](#archive-a-session) в **Settings > Claude Code**.

222 230 

223<Note>231<Note>

224 Мониторинг PR требует, чтобы [GitHub CLI (`gh`)](https://cli.github.com/) был установлен и аутентифицирован на вашей машине. Если `gh` не установлен, Desktop предложит вам установить его в первый раз, когда вы попытаетесь создать PR.232 Мониторинг PR требует, чтобы [GitHub CLI (`gh`)](https://cli.github.com/) был установлен и аутентифицирован на вашей машине. Если `gh` не установлен, Desktop предложит вам установить его в первый раз, когда вы попытаетесь создать PR.


235Чтобы работать на нескольких экранах, выведите панель, такую как diff или терминал, в отдельное окно и закрепите её обратно, когда закончите. Claude продолжает работать в главном окне.243Чтобы работать на нескольких экранах, выведите панель, такую как diff или терминал, в отдельное окно и закрепите её обратно, когда закончите. Claude продолжает работать в главном окне.

236 244 

237<Note>245<Note>

238 Макет панели, терминал, редактор файлов и режимы просмотра в этом разделе требуют Claude Desktop v1.2581.0 или более поздней версии. Откройте **Claude → Check for Updates** на macOS или **Help → Check for Updates** на Windows для обновления.246 Макет панелей, терминал, редактор файлов и режимы просмотра в этом разделе требуют Claude Desktop v1.2581.0 или более поздней версии. Откройте **Claude > Check for Updates…** на macOS или **Help > Check for Updates…** на Windows для обновления.

239</Note>247</Note>

240 248 

249<h3 id="see-session-details">

250 Просмотр сведений о сессии

251</h3>

252 

253Панель сведений о сессии — это набор карточек рядом с чатом, которые показывают, где выполняется сессия, что она изменила и что она запускает. Панель появляется после запуска сессии, если чат достаточно широк для неё.

254 

255<h4 id="hide-or-show-the-session-details-panel">

256 Скрытие или отображение панели сведений о сессии

257</h4>

258 

259Чтобы скрыть или показать панель, нажмите **Hide session rail** или **Show session rail** в строке заголовка сессии или в меню **⋮** этой строки, когда окно узкое. Если вы по-прежнему не видите панель, [проверьте, какой макет вкладки Code у вас используется](#check-which-layout-you-have).

260 

241<h3 id="run-commands-in-the-terminal">261<h3 id="run-commands-in-the-terminal">

242 Запуск команд в терминале262 Запуск команд в терминале

243</h3>263</h3>

244 264 

245Интегрированный терминал позволяет вам запускать команды рядом с вашей сессией без переключения на другое приложение. Нажмите **Terminal** в строке заголовка сессии или нажмите **Ctrl+\`** на macOS или Windows. Терминал открывается в рабочем каталоге вашей сессии и делит то же окружение с Claude, поэтому команды, такие как `npm test` или `git status`, видят те же файлы, которые редактирует Claude. Чтобы открыть вторую вкладку терминала, нажмите **+** в заголовке панели терминала или щелкните правой кнопкой мыши на папке в чате, чтобы выбрать **Open in terminal**.265Интегрированный терминал позволяет вам запускать команды рядом с вашей сессией без переключения на другое приложение. Нажмите **Terminal** в строке заголовка сессии или нажмите **Ctrl+\`** на macOS или Windows. Терминал открывается в рабочем каталоге вашей сессии и делит то же окружение с Claude, поэтому команды, такие как `npm test` или `git status`, видят те же файлы, которые редактирует Claude. Чтобы открыть вторую вкладку терминала, нажмите **+** в заголовке панели терминала или щелкните правой кнопкой мыши на папке в чате, чтобы выбрать **Open in terminal**.

246 266 

247Терминал доступен в локальных и [SSH](#ssh-sessions)-сессиях, с ограничением на [удалённых машинах Windows](#windows-remote-machines).267Если в сессии WSL нет терминала, см. [Если терминал или коннекторы недоступны](/docs/ru/desktop-wsl#check-for-the-terminal-and-connectors). Терминал доступен в локальных и [SSH](#ssh-sessions)-сессиях, с ограничением на [удалённых машинах Windows](#windows-remote-machines).

248 268 

249<h3 id="open-and-edit-files">269<h3 id="open-and-edit-files">

250 Открытие и редактирование файлов270 Открытие и редактирование файлов

251</h3>271</h3>

252 272 

253Нажмите на путь файла в чате или средстве просмотра различий, чтобы открыть его в панели файлов. HTML, PDF, пути изображений и видео открываются в [панели браузера](#preview-your-app) вместо этого. Сделайте точечные правки и нажмите **Save**, чтобы записать их обратно. Если файл изменился на диске с момента его открытия, панель предупредит вас и позволит вам переопределить или отклонить. Нажмите **Discard**, чтобы отменить ваши правки, или нажмите на путь в заголовке панели, чтобы скопировать абсолютный путь.273Чтобы открыть файл, который упоминает Claude, нажмите на его путь в чате.

254 274 

255Панель файлов доступна в локальных и SSH-сессиях. Для облачных сессий попросите Claude сделать изменение.275Чтобы отредактировать файл самостоятельно, используйте [панель файлов](#arrange-your-workspace):

276 

277* **Локальные сессии**: вы можете редактировать файлы внутри рабочего каталога сессии, за исключением некоторых файлов, доступных только для просмотра, таких как `.mcp.json` и `.claude/settings.json`. Чтобы изменить такой файл, [откройте его в другом приложении](#open-files-in-other-apps).

278* **Облачные, SSH- и WSL-сессии**: панель файлов доступна только для просмотра, поэтому попросите Claude внести правки.

279 

280<h4 id="save-edits-in-the-file-pane">

281 Сохранение правок в панели файлов

282</h4>

283 

284По умолчанию ваши правки в панели файлов сохраняются автоматически, поэтому в панели нет кнопки **Save**. Чтобы сохранять правки самостоятельно, снимите флажок **Auto save** в меню **⋮** панели. Когда **Auto save** выключено, после изменения файла нажмите **Save**, чтобы записать правки, или **Cancel**, чтобы отменить их.

285 

286Если панель предупреждает, что файл изменился на диске, нажмите **Override**, чтобы записать ваши правки поверх версии на диске, или **Discard**, чтобы отбросить ваши правки.

256 287 

257<h3 id="open-files-in-other-apps">288<h3 id="open-files-in-other-apps">

258 Открытие файлов в других приложениях289 Открытие файлов в других приложениях


283 Сочетания клавиш314 Сочетания клавиш

284</h3>315</h3>

285 316 

286Нажмите **Cmd+/** на macOS или **Ctrl+/** на Windows, чтобы увидеть все доступные сочетания клавиш на вкладке Code. На Windows используйте **Ctrl** вместо **Cmd** для сочетаний клавиш ниже. Циклическое переключение сессий, переключение терминала и переключение режима просмотра используют **Ctrl** на каждой платформе.317Нажмите **Cmd+/** на macOS или **Ctrl+/** на Windows, чтобы увидеть все доступные сочетания клавиш на вкладке Code. В таблице этого раздела показаны клавиши macOS. На Windows и Linux замените эти клавиши:

318 

319* **Cmd+Option**: нажимайте **Alt**

320* **Cmd**: нажимайте **Ctrl**

321 

322Циклическое переключение сессий, переключение терминала и переключение режима просмотра используют **Ctrl** на каждой платформе.

287 323 

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

289| - | - |325| - | - |

290| `Cmd` `/` | Показать сочетания клавиш |326| `Cmd` `/` | Показать сочетания клавиш |

291| `Cmd` `N` | Новая сессия |327| `Cmd` `N` | Новая сессия |

328| `Cmd` `Option` `1`–`9` | На экране новой сессии в [текущем макете](#check-which-layout-you-have) выбрать окружение |

329| `Cmd` `Option` `0` | На экране новой сессии в текущем макете открыть [диалог **New environment**](#create-a-saved-environment) |

292| `Cmd` `W` | Закрыть сессию |330| `Cmd` `W` | Закрыть сессию |

293| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Следующая или предыдущая сессия |331| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Следующая или предыдущая сессия |

294| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | Следующая или предыдущая сессия |332| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | Следующая или предыдущая сессия |


404 Параллельная работа с сессиями442 Параллельная работа с сессиями

405</h3>443</h3>

406 444 

407Нажмите **+ New session** в боковой панели или нажмите **Cmd+N** на macOS или **Ctrl+N** на Windows, чтобы работать над несколькими задачами параллельно. Нажимайте **Ctrl+Tab** и **Ctrl+Shift+Tab**, чтобы циклически переключаться между сессиями в боковой панели. Для Git-репозиториев выберите опцию **worktree** рядом с названием ветки, чтобы дать сессии собственную изолированную копию вашего проекта с помощью [Git worktrees](/docs/ru/worktrees).445Нажмите **+ New** в боковой панели или нажмите **Cmd+N** на macOS или **Ctrl+N** на Windows, чтобы работать над несколькими задачами параллельно. Нажимайте **Ctrl+Tab** и **Ctrl+Shift+Tab**, чтобы циклически переключаться между сессиями в боковой панели.

408 446 

409Чтобы просматривать две сессии одновременно, удерживайте **Cmd** на macOS или **Ctrl** на Windows и нажмите на сессию в боковой панели. Сессия откроется во второй панели рядом с той, которая у вас уже открыта. Пока разделение активно, нажатие на другую сессию в боковой панели заменяет ту панель, которая находится в фокусе. Нажмите **Cmd+\\** на macOS или **Ctrl+\\** на Windows, чтобы закрыть панель в фокусе и вернуться к одной сессии.447Чтобы просматривать две сессии одновременно, удерживайте **Cmd** на macOS или **Ctrl** на Windows и нажмите на сессию в боковой панели. Сессия откроется во второй панели рядом с той, которая у вас уже открыта. Пока разделение активно, нажатие на другую сессию в боковой панели заменяет ту панель, которая находится в фокусе. Нажмите **Cmd+\\** на macOS или **Ctrl+\\** на Windows, чтобы закрыть панель в фокусе и вернуться к одной сессии.

410 448 

411Worktrees по умолчанию хранятся в `<project-root>/.claude/worktrees/`. Вы можете изменить это на пользовательский каталог:449<h4 id="run-a-session-in-its-own-worktree">

450 Запуск сессии в собственном worktree

451</h4>

452 

453В проекте, который является Git-репозиторием, включите **Worktree** перед запуском сессии, чтобы запустить её в собственном [Git worktree](/docs/ru/worktrees) — изолированной копии проекта. По умолчанию **Worktree** отключён, и Claude работает непосредственно в папке проекта. Нажмите на элемент управления папкой проекта в [строке под полем промпта](#start-a-session) и включите **Worktree**.

454 

455* **С [сохранённым окружением](#create-a-saved-environment)**: задайте **Worktree** при создании или редактировании окружения

456* **[Прежний макет](#check-which-layout-you-have)**: установите флажок **worktree** рядом с названием ветки над полем промпта

457 

458Worktrees по умолчанию хранятся в `<project-root>/.claude/worktrees/`. Чтобы вместо этого хранить их в пользовательском каталоге:

412 459 

413* **Локальные сессии**: задайте **Worktree location** в **Settings > Claude Code**460* **Локальные сессии**: задайте **Worktree location** в **Settings > Claude Code**

414* **Сессии SSH**: задайте **Worktree folder** в [SSH-подключении](#choose-where-ssh-session-worktrees-go)461* **Сессии SSH**: задайте **Worktree folder** в [SSH-подключении](#choose-where-ssh-session-worktrees-go)

415 462 

416Вы также можете задать **Branch prefix** в **Settings > Claude Code**. Desktop добавляет его в начало имени каждой ветки worktree, что полезно для упорядочивания веток, созданных Claude.463Вы также можете задать **Branch prefix** в **Settings > Claude Code**. Desktop добавляет его в начало имени каждой ветки worktree, что полезно для упорядочивания веток, созданных Claude.

417 464 

418Чтобы удалить worktree после завершения работы, наведите курсор на сессию в боковой панели и нажмите значок архива. Чтобы сессии автоматически архивировались при слиянии или закрытии их pull request, включите **Auto-archive after PR merge or close** в **Settings > Claude Code**. Автоархивирование применяется только к локальным сессиям, которые завершили работу.

419 

420Чтобы включить файлы из gitignore, такие как `.env`, в новые worktrees, создайте [файл `.worktreeinclude`](/docs/ru/worktrees#copy-gitignored-files-into-worktrees) в корне вашего проекта. Сведения о том, откуда сессия в worktree читает настройки проекта, хуки и скиллы, см. в разделе [Что worktrees разделяют с основной рабочей копией](/docs/ru/worktrees#what-worktrees-share-with-the-main-checkout).465Чтобы включить файлы из gitignore, такие как `.env`, в новые worktrees, создайте [файл `.worktreeinclude`](/docs/ru/worktrees#copy-gitignored-files-into-worktrees) в корне вашего проекта. Сведения о том, откуда сессия в worktree читает настройки проекта, хуки и скиллы, см. в разделе [Что worktrees разделяют с основной рабочей копией](/docs/ru/worktrees#what-worktrees-share-with-the-main-checkout).

421 466 

422<Note>467<Note>

423 Изоляция сессий требует [Git](https://git-scm.com/downloads). На большинстве Mac Git установлен по умолчанию. Выполните `git --version` в Terminal для проверки; если выводится номер версии, Git установлен. Если вы столкнулись с ошибками Git, попросите Claude на [вкладке Cowork](https://claude.com/product/cowork) помочь устранить неполадки вашей установки.468 Изоляция сессий требует [Git](https://git-scm.com/downloads). На большинстве Mac Git установлен по умолчанию. Выполните `git --version` в Terminal для проверки; если выводится номер версии, Git установлен. Если вы столкнулись с ошибками Git, попросите Claude на [вкладке Cowork](https://claude.com/product/cowork) помочь устранить неполадки вашей установки.

424</Note>469</Note>

425 470 

426Используйте элементы управления в верхней части боковой панели, чтобы фильтровать сессии по статусу, проекту или окружению и группировать сессии по проекту. Чтобы переименовать сессию, нажмите на название сессии в панели инструментов в верхней части активной сессии.471<h3 id="add-folders-to-a-session">

472 Добавление папок в сессию

473</h3>

474 

475Добавляйте папки до запуска сессии или во время её работы:

476 

477* **До запуска локальной сессии**: добавьте папки в разделе **Folders** при [создании сохранённого окружения](#create-a-saved-environment) или его редактировании, затем [запустите сессию из этого сохранённого окружения](#use-edit-or-remove-a-saved-environment).

478* **Во время работы локальной сессии или сессии [SSH](#ssh-sessions)**: нажмите **+** рядом с полем промпта и выберите **Add folder**. Claude работает непосредственно в этой папке, без [worktree](#run-a-session-in-its-own-worktree).

479 

480<h3 id="archive-a-session">

481 Архивирование сессии

482</h3>

483 

484Прежде чем архивировать сессию, в worktree которой есть незакоммиченные изменения, см. раздел [Сохранение незакоммиченных изменений при архивировании сессии](#keep-uncommitted-changes-when-a-session-is-archived). Чтобы архивировать сессию, наведите на неё курсор в боковой панели, откройте её меню и выберите **Archive**. Сессия перемещается в ваши [архивированные сессии](#organize-and-find-sessions).

485 

486Чтобы сессии автоматически архивировались при слиянии или закрытии их pull request, включите **Auto-archive after PR merge or close** в **Settings > Claude Code**. Облачные сессии и сессии, которые ещё выполняются, не архивируются автоматически.

487 

488<h4 id="keep-uncommitted-changes-when-a-session-is-archived">

489 Сохранение незакоммиченных изменений при архивировании сессии

490</h4>

491 

492При архивировании сессии вы можете потерять незакоммиченные изменения в её worktree, поэтому сначала сделайте коммит того, что хотите сохранить:

493 

494* **Если Desktop спрашивает об изменениях**: выберите **Archive anyway**, чтобы отбросить их, или отмените действие и сделайте коммит

495* **Если изменения состоят только из неотслеживаемых файлов**: сделайте коммит тех, которые хотите сохранить, до слияния pull request, открытого Claude в этой сессии, потому что после этого Desktop может удалить их без запроса

496* **В любом другом случае**: worktree остаётся на диске вместе с изменениями. Для локальной сессии Desktop удаляет и то и другое примерно через 30 дней после архивирования сессии или её последнего открытия — в зависимости от того, что наступит позже. Чтобы сохранить изменения, откройте сессию на [вкладке **Archived**](#organize-and-find-sessions) и выберите **Unarchive**

497 

498<h3 id="organize-and-find-sessions">

499 Упорядочивание и поиск сессий

500</h3>

501 

502Группировка, сортировка и поиск сессий выполняются с помощью значка в списке сессий боковой панели:

503 

504* **Текущий макет**: наведите курсор на заголовок в списке сессий, чтобы отобразить значок **Group and sort**, затем нажмите на него. Чтобы найти архивированные сессии, выберите **View all** — последнюю строку меню, затем откройте вкладку **Archived**.

505* **[Прежний макет](#check-which-layout-you-have)**: значок **Filter** отображается без наведения курсора. Нажмите на него, чтобы упорядочить список с помощью **Group by** или **Sort by**. Чтобы показать архивированные сессии, выберите **Status**, затем **Archived**.

506 

507Чтобы переименовать сессию, откройте её и нажмите на название сессии в строке заголовка.

508 

509<h3 id="check-and-free-up-context">

510 Проверка и освобождение контекста

511</h3>

427 512 

428Чтобы проверить использование контекста, см. [Проверка использования](#check-usage). Когда контекст заполняется, Claude автоматически суммирует диалог и продолжает работу. Вы также можете ввести `/compact`, чтобы запустить суммирование раньше и освободить место в контексте. Подробнее о том, как работает сжатие контекста, см. в разделе [контекстное окно](/docs/ru/how-claude-code-works#the-context-window).513Чтобы проверить использование контекста, см. [Проверка использования](#check-usage). Когда контекст заполняется, Claude автоматически суммирует диалог и продолжает работу. Вы также можете ввести `/compact`, чтобы запустить суммирование раньше и освободить место в контексте. Подробнее о том, как работает сжатие контекста, см. в разделе [контекстное окно](/docs/ru/how-claude-code-works#the-context-window).

429 514 

515<h3 id="get-notified-when-a-session-finishes">

516 Уведомления о завершении сессии

517</h3>

518 

430Приложение для рабочего стола отправляет уведомление ОС, когда сессия Code завершает задачу, а вы в данный момент не просматриваете эту сессию. Для сессий, которые принадлежат [проекту](/docs/ru/claude-projects#see-what-needs-you-in-overview), вместо этого вы получаете уведомления проекта.519Приложение для рабочего стола отправляет уведомление ОС, когда сессия Code завершает задачу, а вы в данный момент не просматриваете эту сессию. Для сессий, которые принадлежат [проекту](/docs/ru/claude-projects#see-what-needs-you-in-overview), вместо этого вы получаете уведомления проекта.

431 520 

432<h3 id="ask-a-side-question-without-derailing-the-session">521<h3 id="ask-a-side-question-without-derailing-the-session">


451 Работа между сессиями540 Работа между сессиями

452</h3>541</h3>

453 542 

454Claude может перечислить ваши другие сессии на вкладке Code, прочитать, чем занималась каждая из них, и отправлять сообщения между ними. Спрашивайте простым языком: "какая сессия затрагивала рефакторинг аутентификации?", "к какому выводу пришла сессия API?" или "сообщи сессии платежей, что схема изменилась". Вы также можете попросить Claude переименовать или архивировать сессию. Claude архивирует сессию так же, как значок архива в боковой панели, поэтому можно попросить его убрать сессии, чьи PR уже слиты.543Claude может перечислить ваши другие сессии на вкладке Code, прочитать, чем занималась каждая из них, и отправлять сообщения между ними. Спрашивайте простым языком: "какая сессия затрагивала рефакторинг аутентификации?", "к какому выводу пришла сессия API?" или "сообщи сессии платежей, что схема изменилась".

544 

545Вы также можете попросить Claude переименовать или архивировать сессию. Например, попросите его архивировать сессии, чьи PR уже слиты.

455 546 

456Через этот интерфейс Claude видит только сессии, которые запускает само приложение для рабочего стола: локальные сессии, а также сессии [SSH](#ssh-sessions) и [WSL](/docs/ru/desktop-wsl) на вкладке Code. Claude не видит облачные сессии или сессии, которые вы запустили из CLI в терминале или из расширения VS Code, даже в worktrees того же проекта, поэтому при девяти открытых worktrees в терминале и двух сессиях в приложении для рабочего стола Claude, отвечающий в одной из них, сообщит об одной другой сессии в приложении. Claude никогда не включает в список сессию, из которой вы спрашиваете. По умолчанию он видит 20 последних активных сессий и пропускает архивированные сессии, если вы их не запросите. [Обмен сообщениями между сессиями](/docs/ru/cross-session-messaging) отдельно позволяет Claude отправлять сообщения [вашим другим сессиям Claude Code](/docs/ru/cross-session-messaging#see-which-sessions-claude-can-reach), включая сессии в терминале.547Через этот интерфейс Claude видит только сессии, которые запускает само приложение для рабочего стола: локальные сессии, а также сессии [SSH](#ssh-sessions) и [WSL](/docs/ru/desktop-wsl) на вкладке Code. Claude не видит облачные сессии или сессии, которые вы запустили из CLI в терминале или из расширения VS Code, даже в worktrees того же проекта, поэтому при девяти открытых worktrees в терминале и двух сессиях в приложении для рабочего стола Claude, отвечающий в одной из них, сообщит об одной другой сессии в приложении. Claude никогда не включает в список сессию, из которой вы спрашиваете. По умолчанию он видит 20 последних активных сессий и пропускает архивированные сессии, если вы их не запросите. [Обмен сообщениями между сессиями](/docs/ru/cross-session-messaging) отдельно позволяет Claude отправлять сообщения [вашим другим сессиям Claude Code](/docs/ru/cross-session-messaging#see-which-sessions-claude-can-reach), включая сессии в терминале.

457 548 


470 Запуск долгих задач в облаке561 Запуск долгих задач в облаке

471</h3>562</h3>

472 563 

473Для крупных рефакторингов, наборов тестов, миграций или других долгих задач выберите **Cloud** вместо **Local** при запуске сессии. Облачные сессии по умолчанию работают на инфраструктуре, управляемой Anthropic, и продолжают работу, даже если вы закроете приложение или выключите компьютер. Возвращайтесь в любое время, чтобы проверить прогресс или направить Claude в другую сторону. Вы также можете отслеживать облачные сессии из [claude.ai/code](https://claude.ai/code) или [мобильного приложения Claude](/docs/ru/mobile).564Для крупных рефакторингов, наборов тестов, миграций или других долгих задач при запуске сессии выберите окружение в разделе **Cloud** в [селекторе окружения](#start-a-session). Облачные сессии по умолчанию работают на инфраструктуре, управляемой Anthropic, и продолжают работу, даже если вы закроете приложение или выключите компьютер. Возвращайтесь в любое время, чтобы проверить прогресс или направить Claude в другую сторону. Вы также можете отслеживать облачные сессии из [claude.ai/code](https://claude.ai/code) или [мобильного приложения Claude](/docs/ru/mobile).

565 

566Облачные сессии также поддерживают несколько репозиториев. Выберите репозитории:

474 567 

475Облачные сессии также поддерживают несколько репозиториев. После выбора облачного окружения нажмите кнопку **+** рядом с выбранным репозиторием, чтобы добавить в сессию дополнительные репозитории. Каждый репозиторий получает собственный селектор ветки. Это полезно для задач, охватывающих несколько кодовых баз, например при обновлении общей библиотеки и её потребителей.568* **Текущий макет**: в строке под полем промпта после выбора облачного окружения.

569* **[Прежний макет](#check-which-layout-you-have)**: над полем промпта. Чтобы добавить ещё один репозиторий, нажмите **+** рядом с выбранным.

476 570 

477Подробнее о том, как работают облачные сессии, см. [Использование Claude Code в облаке](/docs/ru/claude-code-on-the-web). Когда для одного объёма работы нужно много облачных сессий, выберите **Projects** в боковой панели, чтобы создать [проект](/docs/ru/claude-projects), в котором Claude запускает и отслеживает сессии за вас из одного диалога.571Подробнее о том, как работают облачные сессии, см. [Использование Claude Code в облаке](/docs/ru/claude-code-on-the-web). Когда для одного объёма работы нужно много облачных сессий, выберите **Projects** в боковой панели, чтобы создать [проект](/docs/ru/claude-projects), в котором Claude запускает и отслеживает сессии за вас из одного диалога.

478 572 


500* **Вы включаете его для этой сессии**: с помощью переключателя **Remote Control** сессии или введя `/remote-control` в её поле промпта.594* **Вы включаете его для этой сессии**: с помощью переключателя **Remote Control** сессии или введя `/remote-control` в её поле промпта.

501* **Она подключается при запуске**: новые сессии подключаются автоматически, пока включён параметр **Connect new sessions to Remote Control** в **Settings > Claude Code**. Если вы никогда не меняли эту настройку, Desktop следует [`remoteControlAtStartup`](/docs/ru/settings-reference#remotecontrolatstartup) в ваших пользовательских или управляемых настройках, а затем значению по умолчанию вашей организации.595* **Она подключается при запуске**: новые сессии подключаются автоматически, пока включён параметр **Connect new sessions to Remote Control** в **Settings > Claude Code**. Если вы никогда не меняли эту настройку, Desktop следует [`remoteControlAtStartup`](/docs/ru/settings-reference#remotecontrolatstartup) в ваших пользовательских или управляемых настройках, а затем значению по умолчанию вашей организации.

502 596 

503Чтобы узнать, подключена ли сессия, посмотрите на значок ноутбука перед названием сессии в панели инструментов. Значок подсвечивается, пока сессия подключена или подключается. Нажмите на него, чтобы открыть переключатель **Remote Control** сессии.597Чтобы узнать, подключена ли сессия, посмотрите на переключатель **Remote Control** в карточке **Environment** её [панели сведений о сессии](#see-session-details).

504 598 

505Чтобы сессии не появлялись на других ваших устройствах, отключите Remote Control на нужном уровне:599Чтобы сессии не появлялись на других ваших устройствах, отключите Remote Control на нужном уровне:

506 600 


538 Подключение внешних инструментов632 Подключение внешних инструментов

539</h3>633</h3>

540 634 

541Для локальных и [SSH](#ssh-sessions) сеансов нажмите кнопку **+** рядом с полем подсказки и выберите **Connectors**, чтобы добавить интеграции, такие как Google Calendar, Slack, GitHub, Linear, Notion и другие. Вы можете добавлять коннекторы до или во время сеанса. Кнопка **+** недоступна в облачных или WSL сеансах, но [routines](/docs/ru/routines) конфигурируют коннекторы во время создания routine.635Коннекторы — это [MCP-серверы](/docs/ru/mcp) с графическим процессом настройки.

636 

637Нажмите **+** рядом с полем промпта до или во время сессии, чтобы добавить коннекторы в локальной или [SSH](#ssh-sessions)-сессии с учётной записью Claude. Выберите **Add connectors**, чтобы открыть каталог коннекторов. Если вместо этого в меню отображается **Connectors**, выберите его, а затем **Browse connectors**.

638 

639<Note>

640 Эти случаи описаны на других страницах:

542 641 

543Чтобы управлять или отключать коннекторы, перейдите в Settings → Connectors в приложении desktop, или выберите **Manage connectors** из меню Connectors в поле подсказки.642 * **Пункт Connectors неактивен (выделен серым) в WSL-сессии**: см. [Если терминал или коннекторы недоступны](/docs/ru/desktop-wsl#check-for-the-terminal-and-connectors)

643 * **Облачные сессии**: см. [Как коннекторы попадают в Claude Code](/docs/ru/mcp#how-connectors-reach-claude-code)

644</Note>

544 645 

545После подключения Claude может читать ваш календарь, отправлять сообщения, создавать проблемы и взаимодействовать с вашими инструментами напрямую. Вы можете спросить Claude, какие коннекторы настроены в вашем сеансе.646После подключения Claude может читать ваш календарь, отправлять сообщения, создавать задачи и взаимодействовать с вашими инструментами напрямую. Вы можете спросить Claude, какие коннекторы настроены в вашей сессии. Чтобы управлять коннекторами или отключить их, перейдите в **Settings > Connectors** в приложении desktop.

546 647 

547Коннекторы — это [MCP servers](/docs/ru/mcp) с графическим потоком установки. Используйте их для быстрой интеграции с поддерживаемыми сервисами. Для интеграций, не указанных в Connectors, добавьте MCP servers вручную через [файлы параметров](/docs/ru/mcp#installing-mcp-servers). Вы также можете [создать пользовательские коннекторы](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).648Для интеграций, не указанных в Connectors, добавьте MCP-серверы вручную через [файлы настроек](/docs/ru/mcp#installing-mcp-servers). Вы также можете [создать пользовательские коннекторы](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).

548 649 

549<h3 id="use-skills">650<h3 id="use-skills">

550 Использование skills651 Использование skills


564 665 

565[Plugins](/docs/ru/plugins/overview) — это повторно используемые пакеты, которые добавляют skills, agents, hooks, MCP servers и конфигурации LSP в Claude Code. Вы можете устанавливать плагины из приложения desktop без использования терминала.666[Plugins](/docs/ru/plugins/overview) — это повторно используемые пакеты, которые добавляют skills, agents, hooks, MCP servers и конфигурации LSP в Claude Code. Вы можете устанавливать плагины из приложения desktop без использования терминала.

566 667 

567Для локальных и [SSH](#ssh-sessions) сеансов нажмите кнопку **+** рядом с полем подсказки и выберите **Plugins**, чтобы увидеть ваши установленные плагины и их skills. Чтобы добавить плагин, выберите **Add plugin** из подменю, чтобы открыть браузер плагинов, который показывает доступные плагины из ваших настроенных [marketplaces](/docs/ru/plugins/overview), включая официальный marketplace Anthropic. Выберите **Manage plugins**, чтобы включить, отключить или удалить плагины.668В локальной сессии или [SSH-сессии](#ssh-sessions) нажмите **+** рядом с полем промпта и выберите **Add plugins**, чтобы открыть браузер плагинов. Если вместо этого в меню отображается **Plugins**, выберите его, а затем **Browse plugins** или **Manage plugins**, чтобы включить, отключить или удалить плагины.

568 669 

569Вы можете ограничить плагины вашей учётной записью пользователя, конкретным проектом или только локально. Если ваша организация управляет плагинами централизованно, эти плагины доступны в сеансах desktop так же, как они есть в CLI, за исключением тех, которые приложение desktop [скрывает под `disableSideloadFlags`](/docs/ru/settings-reference#disablesideloadflags).670Вы можете ограничить плагины вашей учётной записью пользователя, конкретным проектом или только локально. Если ваша организация управляет плагинами централизованно, эти плагины доступны в сеансах desktop так же, как они есть в CLI, за исключением тех, которые приложение desktop [скрывает под `disableSideloadFlags`](/docs/ru/settings-reference#disablesideloadflags).

570 671 


632| `runtimeArgs` | string\[] | Аргументы, передаваемые `runtimeExecutable`, такие как `["run", "dev"]` |733| `runtimeArgs` | string\[] | Аргументы, передаваемые `runtimeExecutable`, такие как `["run", "dev"]` |

633| `port` | number | Порт, на котором слушает ваш сервер. По умолчанию 3000 |734| `port` | number | Порт, на котором слушает ваш сервер. По умолчанию 3000 |

634| `cwd` | string | Рабочий каталог относительно корня вашего проекта. По умолчанию корень проекта. Используйте `${workspaceFolder}` для явной ссылки на корень проекта |735| `cwd` | string | Рабочий каталог относительно корня вашего проекта. По умолчанию корень проекта. Используйте `${workspaceFolder}` для явной ссылки на корень проекта |

635| `env` | object | Дополнительные переменные окружения как пары ключ-значение, такие как `{ "NODE_ENV": "development" }`. Не помещайте сюда секреты, так как этот файл фиксируется в вашем репо. Чтобы передать секреты вашему dev-серверу, установите их в [локальном редакторе окружения](#local-sessions) вместо этого. |736| `env` | object | Дополнительные переменные окружения как пары ключ-значение, такие как `{ "NODE_ENV": "development" }`. Не помещайте сюда секреты, так как этот файл фиксируется в вашем репозитории. О секретах см. [Задание переменных окружения для dev-серверов](#set-environment-variables-for-dev-servers). |

636| `autoPort` | boolean | Как обрабатывать конфликты портов. См. [Конфликты портов](#port-conflicts) |737| `autoPort` | boolean | Как обрабатывать конфликты портов. См. [Конфликты портов](#port-conflicts) |

637| `program` | string | Скрипт для запуска с `node`. См. [когда использовать `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |738| `program` | string | Скрипт для запуска с `node`. См. [когда использовать `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |

638| `args` | string\[] | Аргументы, передаваемые `program`. Используется только когда установлен `program` |739| `args` | string\[] | Аргументы, передаваемые `program`. Используется только когда установлен `program` |


795* **SSH**: работает на удалённой машине, к которой вы подключаетесь через SSH, такой как ваши собственные серверы, облачные виртуальные машины или dev-контейнеры. Запущенная задача может [продолжать выполняться, пока Desktop отключён](#keep-a-task-running-while-desktop-is-disconnected), но при использовании учётной записи Claude она может остановиться, когда истечёт срок действия её входа.896* **SSH**: работает на удалённой машине, к которой вы подключаетесь через SSH, такой как ваши собственные серверы, облачные виртуальные машины или dev-контейнеры. Запущенная задача может [продолжать выполняться, пока Desktop отключён](#keep-a-task-running-while-desktop-is-disconnected), но при использовании учётной записи Claude она может остановиться, когда истечёт срок действия её входа.

796* **WSL** (Windows): работает внутри [WSL 2 дистрибутива](/docs/ru/desktop-wsl) на вашей машине, используя его Linux toolchain и собственные пути897* **WSL** (Windows): работает внутри [WSL 2 дистрибутива](/docs/ru/desktop-wsl) на вашей машине, используя его Linux toolchain и собственные пути

797 898 

899<h3 id="create-a-saved-environment">

900 Создание сохранённого окружения

901</h3>

902 

903Сохранённое окружение — это запись в [селекторе окружений](#start-a-session), которая фиксирует, где работает Claude, чтобы вы могли запускать там последующие сессии. Локальное или SSH-окружение также хранит папки, в которых работает Claude. Сохранённые локальные и SSH-окружения [требуют Claude Desktop v2.37337.0 или новее](#check-which-layout-you-have).

904 

905<Steps>

906 <Step title="Откройте диалоговое окно New environment">

907 Откройте селектор окружений под полем ввода промпта и выберите **New environment** внизу его меню.

908 </Step>

909 

910 <Step title="Выберите, где будет работать Claude">

911 Выберите вкладку **Local**, **SSH** или [**Cloud**](#cloud-sessions) и заполните форму на этой вкладке. На вкладке **SSH** выберите [подключение](#ssh-sessions) и папку на удалённой машине.

912 </Step>

913 

914 <Step title="Сохраните окружение">

915 Выберите **Create environment** или **Add environment** на вкладке **Cloud**.

916 </Step>

917</Steps>

918 

919<h4 id="environments-that-desktop-creates-for-you">

920 Окружения, которые Desktop создаёт за вас

921</h4>

922 

923Если в селекторе окружений есть локальные или SSH-окружения, которые вы не создавали, их создал Desktop. При первом открытии вкладки Code в [текущем макете](#check-which-layout-you-have) Desktop создаёт до восьми окружений. Эти окружения формируются из локальных и SSH-папок, которые вы чаще всего использовали за последний месяц. Вы можете [изменить или удалить их](#use-edit-or-remove-a-saved-environment).

924 

925<h4 id="use-edit-or-remove-a-saved-environment">

926 Использование, изменение или удаление сохранённого окружения

927</h4>

928 

929Найдите запись окружения в [селекторе окружений](#start-a-session):

930 

931* **Запуск сессии**: выберите запись.

932* **Изменение или удаление**: наведите указатель на запись и нажмите значок шестерёнки. Чтобы удалить локальное или SSH-окружение, нажмите **Delete environment** в **Edit environment**.

933* **Архивирование облачных окружений**: см. [Архивирование окружения](/docs/ru/cloud-environments#archive-an-environment).

934 

798<h3 id="local-sessions">935<h3 id="local-sessions">

799 Локальные сеансы936 Локальные сеансы

800</h3>937</h3>

801 938 

802Приложение desktop не всегда наследует полное окружение shell. На macOS, когда вы запускаете приложение из Dock или Finder, оно читает ваш профиль shell, такой как `~/.zshrc` или `~/.bashrc`, для извлечения `PATH` и фиксированного набора переменных Claude Code, но другие переменные, которые вы экспортируете там, не подхватываются. На Windows приложение наследует переменные окружения пользователя и системы, но не читает профили PowerShell.939Приложение desktop не всегда наследует полное окружение shell. На macOS, когда вы запускаете приложение из Dock или Finder, оно читает ваш профиль shell, такой как `~/.zshrc` или `~/.bashrc`, для извлечения `PATH` и фиксированного набора переменных Claude Code, но другие переменные, которые вы экспортируете там, не подхватываются. На Windows приложение наследует переменные окружения пользователя и системы, но не читает профили PowerShell.

803 940 

804Чтобы установить переменные окружения для локальных сеансов и dev-серверов на любой платформе, откройте раскрывающийся список окружения в поле подсказки, наведите курсор на **Local** и нажмите значок шестерёнки, чтобы открыть локальный редактор окружения. Переменные, которые вы сохраняете здесь, хранятся в зашифрованном виде на вашей машине и применяются к каждому локальному сеансу и серверу предпросмотра, который вы запускаете. Вы также можете добавить переменные к ключу `env` в вашем файле `~/.claude/settings.json`, хотя они достигают только сеансов Claude, а не dev-серверов. См. [переменные окружения](/docs/ru/env-vars) для полного списка поддерживаемых переменных.941<h4 id="set-environment-variables-for-local-sessions">

942 Установка переменных окружения для локальных сессий

943</h4>

944 

945Добавьте переменные в сохранённое локальное окружение и запускайте сессии из него. Desktop [сам устанавливает некоторые переменные](#environment-variables-desktop-sets-itself), например `API_TIMEOUT_MS`, и для них ваши сессии получают его значение вместо вашего.

946 

947<Note>

948 Если ваш селектор окружений находится над полем ввода промпта, у вас [более ранний макет](#check-which-layout-you-have), в котором нет сохранённых локальных окружений. Вместо этого используйте [редактор локального окружения](#use-the-local-environment-editor).

949</Note>

950 

951<Steps>

952 <Step title="Откройте форму окружения">

953 Откройте [**New environment**](#create-a-saved-environment) или [**Edit environment**](#use-edit-or-remove-a-saved-environment).

954 </Step>

955 

956 <Step title="Введите переменные">

957 Выберите **Environment variables**, введите по одной паре `KEY=value` на строку и выберите **Done**.

958 </Step>

959 

960 <Step title="Сохраните окружение">

961 Выберите **Create environment** или **Save**.

962 </Step>

963</Steps>

964 

965Переменные получают только сессии, которые вы запускаете из этого окружения.

966 

967Чтобы задать переменную для каждой локальной сессии, добавьте её в [ключ `env`](/docs/ru/env-vars#set-variables-in-settings-files) в файле `~/.claude/settings.json`. Claude Code [игнорирует значение](/docs/ru/settings-reference#how-env-values-interact-with-your-shell), если эта переменная уже есть в окружении, с которым Desktop запускает сессию. Полный список поддерживаемых переменных см. в разделе [переменные окружения](/docs/ru/env-vars).

968 

969<h4 id="set-environment-variables-for-dev-servers">

970 Установка переменных окружения для dev-серверов

971</h4>

972 

973Чтобы передать dev-серверу секрет, не коммитя его в [`launch.json`](#configure-preview-servers), задайте его в одном из этих мест, а затем перезапустите Desktop:

974 

975* **macOS и Linux**: экспортируйте его в профиле вашей оболочки

976* **Windows**: добавьте его в пользовательские или системные переменные окружения

977* **Любая платформа**: сохраните его в [редакторе локального окружения](#use-the-local-environment-editor), если можете его открыть

978 

979Dev-серверы не получают переменные, которые вы добавляете в [сохранённое окружение](#create-a-saved-environment) или в `~/.claude/settings.json`.

980 

981<h4 id="use-the-local-environment-editor">

982 Использование редактора локального окружения

983</h4>

984 

985Чтобы открыть редактор локального окружения, нажмите значок шестерёнки на записи вашего собственного компьютера, а не на записи сохранённого окружения:

986 

987* **Селектор под полем ввода промпта**: наведите указатель на запись вашего компьютера, первую под **Local**. Если появится значок шестерёнки, нажмите его. Если нет, редактор недоступен, поэтому задайте переменную для [локальных сессий](#set-environment-variables-for-local-sessions) или [dev-серверов](#set-environment-variables-for-dev-servers) другим способом.

988* **Селектор над полем ввода промпта**: наведите указатель на **Local** и нажмите значок шестерёнки

989 

990Введите по одной паре `KEY=value` на строку и выберите **Save changes**. Переменные, которые вы здесь сохраняете, хранятся в зашифрованном виде на вашем компьютере. Их получают локальные сессии, за исключением переменных, которые [Desktop устанавливает сам](#environment-variables-desktop-sets-itself), например `API_TIMEOUT_MS`. Перезапустите Desktop, чтобы передать ваши переменные dev-серверам.

991 

992<h4 id="environment-variables-desktop-sets-itself">

993 Переменные окружения, которые Desktop устанавливает сам

994</h4>

995 

996Если вы задали `API_TIMEOUT_MS` или `ANTHROPIC_BASE_URL`, а в ваших локальных сессиях ничего не изменилось, причина в том, что Desktop сам устанавливает эти [переменные](/docs/ru/env-vars#variables), наряду с другими. Локальная сессия получает значение Desktop независимо от того, задали ли вы своё в профиле оболочки, в пользовательских или системных переменных Windows, в редакторе локального окружения или в сохранённом окружении. Перенос вашего значения в файл настроек не помогает, потому что Claude Code [игнорирует это значение](/docs/ru/settings-reference#how-env-values-interact-with-your-shell) в локальной сессии.

997 

998* `API_TIMEOUT_MS`: локальная сессия получает `900000`, то есть 15 минут. Для более длительного таймаута [установите Claude Code CLI](/docs/ru/quickstart) и используйте его вместо Desktop. [Задайте переменную в своей оболочке](/docs/ru/env-vars#set-variables-in-your-shell) и запустите `claude` в терминале.

999* `ANTHROPIC_BASE_URL`: локальная сессия получает хост API Anthropic, когда вы вошли с аккаунтом Claude. Чтобы использовать шлюз, вместо этого настройте [конфигурацию стороннего инференса](/docs/ru/llm-gateway-connect#desktop-app) в Desktop.

1000 

1001<h4 id="turn-off-extended-thinking">

1002 Отключение расширенного мышления

1003</h4>

805 1004 

806[Расширенное мышление](/docs/ru/model-config#extended-thinking) включено по умолчанию, что улучшает производительность на сложных задачах рассуждения, но использует дополнительные токены. На API Anthropic установите `MAX_THINKING_TOKENS` на `0` в локальном редакторе окружения, чтобы отключить мышление; это не влияет на Opus 5.5, Sonnet 5.5, Haiku 5.5 или модели Fable, которые всегда используют расширенное мышление. С отключённым мышлением на API Anthropic Claude Code отправляет effort `high` вместо более высокого уровня моделям, которые, как известно, [не принимают эту комбинацию](/docs/ru/errors#effort-isnt-available-with-thinking-turned-off), таким как Opus 5.1005[Расширенное мышление](/docs/ru/model-config#extended-thinking) включено по умолчанию: оно улучшает производительность в сложных задачах на рассуждение, но расходует дополнительные токены. Чтобы отключить его, задайте `MAX_THINKING_TOKENS` равным `0` в [сохранённом локальном окружении](#set-environment-variables-for-local-sessions) или в [редакторе локального окружения](#use-the-local-environment-editor). После этого мышление отключается в Anthropic API, за исключением Opus 5.5, Sonnet 5.5, Haiku 5.5 и моделей Fable, которые всегда используют расширенное мышление.

1006 

1007Для Opus 5 также выберите уровень усилий `high` или ниже перед запуском сессии. В [текущем макете](#check-which-layout-you-have) откройте выбор модели и выберите уровень под **Effort**. Если вы запустили сессию на более высоком уровне, запустите новую на уровне `high` или ниже.

1008 

1009<h4 id="fixed-thinking-budgets">

1010 Фиксированные бюджеты мышления

1011</h4>

807 1012 

808На моделях с [адаптивным рассуждением](/docs/ru/model-config#adjust-effort-level) Claude Code игнорирует само число в положительном значении `MAX_THINKING_TOKENS`, потому что глубиной мышления вместо этого управляет адаптивное рассуждение. На Opus 4.6 и Sonnet 4.6 установите `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` на `1`, чтобы использовать фиксированный бюджет мышления; модели Fable, Sonnet 5 и более поздние версии, Haiku 5.5, а также Opus 4.7 и более поздние версии всегда используют адаптивное рассуждение и не имеют режима фиксированного бюджета.1013На моделях с [адаптивным рассуждением](/docs/ru/model-config#adjust-effort-level) Claude Code игнорирует само число в положительном значении `MAX_THINKING_TOKENS`, потому что глубиной мышления вместо этого управляет адаптивное рассуждение. На Opus 4.6 и Sonnet 4.6 установите `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` на `1`, чтобы использовать фиксированный бюджет мышления; модели Fable, Sonnet 5 и более поздние версии, Haiku 5.5, а также Opus 4.7 и более поздние версии всегда используют адаптивное рассуждение и не имеют режима фиксированного бюджета.

809 1014 


811 Локальные сеансы на управляемых устройствах1016 Локальные сеансы на управляемых устройствах

812</h4>1017</h4>

813 1018 

814Ваш администратор может отключить локальные сеансы с помощью [управляемого параметра](#managed-settings) `disableDesktopLocalSessions`. Когда это сделано, **Local** остаётся в раскрывающемся списке окружения, но становится серым и не может быть выбран, с подсказкой, говорящей, что ваша организация его отключила, и на Windows запись [WSL](/docs/ru/desktop-wsl), доступность которой на управляемых устройствах [регулируется отдельно](/docs/ru/admin-setup#wsl-sessions-in-claude-code-desktop), становится серой таким же образом. Новые сеансы по умолчанию используют первое SSH-соединение, если оно настроено, и Desktop показывает сообщение, что локальные сеансы недоступны на этом устройстве, если вы попытаетесь продолжить существующий. Выберите вместо этого окружение [SSH](#ssh-sessions) или [cloud](#cloud-sessions), или свяжитесь с вашей IT-командой.1019Если запись вашего компьютера в селекторе окружений неактивна и показывает подсказку **Disabled by your organization**, ваш администратор [отключил локальные сессии](#managed-settings). В Windows запись [WSL](/docs/ru/desktop-wsl), доступность которой на управляемых устройствах [регулируется отдельно](/docs/ru/admin-setup#wsl-sessions-in-claude-code-desktop), становится неактивной таким же образом.

1020 

1021Новые сессии по умолчанию используют первое SSH-подключение, если оно настроено. Если вы попытаетесь продолжить существующую локальную сессию, Desktop покажет сообщение о том, что локальные сессии на этом устройстве недоступны. [Сохранённые локальные окружения](#create-a-saved-environment) при выборе показывают эту ошибку: `Couldn’t switch environments: the Local environment isn’t available anymore.` Вместо этого выберите [SSH](#ssh-sessions) или [облачное](#cloud-sessions) окружение либо обратитесь в свой ИТ-отдел.

815 1022 

816<h3 id="cloud-sessions">1023<h3 id="cloud-sessions">

817 Облачные сеансы1024 Облачные сеансы


819 1026 

820Облачные сеансы продолжают работу в фоне даже если вы закроете приложение. Использование считается в пределах [лимитов вашего плана подписки](/docs/ru/costs) без отдельных расходов на вычисления.1027Облачные сеансы продолжают работу в фоне даже если вы закроете приложение. Использование считается в пределах [лимитов вашего плана подписки](/docs/ru/costs) без отдельных расходов на вычисления.

821 1028 

822Вы можете создавать пользовательские облачные окружения с разными уровнями доступа к сети и переменными окружения. Для управления ими откройте раскрывающийся список окружения в поле подсказки и выберите **Cloud**:1029Чтобы добавить, изменить или [архивировать](/docs/ru/cloud-environments#archive-an-environment) облачное окружение, откройте [селектор окружений](#start-a-session):

823 1030 

824* **Add an environment**: выберите **Add cloud environment**1031* **Добавление окружения**: выберите **New environment** внизу меню селектора, затем вкладку **Cloud** в [диалоговом окне **New environment**](#create-a-saved-environment)

825* **Edit or archive one of your own environments**: наведите курсор на него и нажмите значок шестерёнки1032* **Edit or archive one of your own environments**: наведите курсор на него и нажмите значок шестерёнки

826 1033 

827См. [Configure cloud environments](/docs/ru/cloud-environments) для получения подробной информации о конфигурации доступа к сети и переменных окружения.1034См. [Configure cloud environments](/docs/ru/cloud-environments) для получения подробной информации о конфигурации доступа к сети и переменных окружения.


836 Если вы используете Desktop со [сторонним провайдером](/docs/ru/third-party-integrations), SSH-сессии требуют отдельной настройки. См. [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).1043 Если вы используете Desktop со [сторонним провайдером](/docs/ru/third-party-integrations), SSH-сессии требуют отдельной настройки. См. [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

837</Note>1044</Note>

838 1045 

839Чтобы добавить SSH-соединение, перед запуском сессии откройте раскрывающийся список окружения в поле промпта, затем выберите **SSH > Add SSH connection…** и заполните параметры соединения:1046Добавьте SSH-подключение в [диалоговом окне **New environment**](#create-a-saved-environment), затем запустите сессию на этом подключении. Если у новой сессии нет селектора окружений под полем ввода промпта, у вас более ранний макет. См. [Проверка используемого макета](#check-which-layout-you-have).

1047 

1048<Steps>

1049 <Step title="Откройте диалоговое окно New environment">

1050 Перед запуском сессии откройте селектор окружений под полем ввода промпта и выберите **New environment** внизу его меню.

1051 </Step>

1052 

1053 <Step title="Добавьте подключение">

1054 На вкладке **SSH** диалогового окна **New environment** откройте список **Host**, выберите **Add SSH connection…** и заполните данные подключения:

840 1055 

841* **Name**: дружественный ярлык для этого соединения1056 * **Name**: понятное название для этого подключения.

842* **SSH host**: `user@hostname` или хост, определённый в `~/.ssh/config`1057 * **SSH host**: `user@hostname` или хост, определённый в `~/.ssh/config`.

843* **SSH port**: по умолчанию 22, если оставлено пустым, или используется порт из вашей конфигурации SSH1058 * **SSH port**: если оставить пустым, по умолчанию используется 22 или порт из вашей конфигурации SSH.

844* **SSH key (optional)**: путь к вашему приватному ключу, такой как `~/.ssh/id_ed25519`. Оставьте пустым, чтобы использовать вашу конфигурацию SSH или SSH-агент.1059 * **SSH key (optional)**: путь к вашему закрытому ключу, например `~/.ssh/id_ed25519`. Оставьте пустым, чтобы использовать вашу конфигурацию SSH или SSH-агент.

845* **Worktree folder**: папка на удалённой машине, такая как `~/worktrees`, в которой новые сессии создают свои worktree. Оставьте пустым, чтобы использовать [значение по умолчанию удалённой машины](#choose-where-ssh-session-worktrees-go).1060 * **Worktree folder**: папка на удалённой машине, например `~/worktrees`, в которой новые сессии создают свои worktree. Оставьте пустым, чтобы использовать [значение по умолчанию удалённой машины](#choose-where-ssh-session-worktrees-go).

846 1061 

847После добавления соединение появляется в разделе **SSH** раскрывающегося списка окружения. Выберите его для запуска сессии на этой машине. Claude работает на удалённой машине с доступом к её файлам и инструментам.1062 Затем выберите **Add SSH connection**.

1063 </Step>

1064 

1065 <Step title="Запустите сессию на подключении">

1066 Выберите папку на удалённой машине и нажмите **Create environment**. Машина и папка сохраняются вместе как [сохранённое окружение](#create-a-saved-environment) для последующих сессий. Desktop выбирает его для новой сессии, поэтому введите задачу и нажмите **Enter**.

1067 </Step>

1068</Steps>

848 1069 

849Удалённая машина может работать на Linux, macOS или [Windows](#windows-remote-machines). Desktop автоматически устанавливает Claude Code на удалённой машине при первом подключении. После подключения SSH-сессии поддерживают режимы разрешений, коннекторы, плагины и MCP-серверы.1070Удалённая машина может работать на Linux, macOS или [Windows](#windows-remote-machines). Desktop автоматически устанавливает Claude Code на удалённой машине при первом подключении. После подключения SSH-сессии поддерживают режимы разрешений, коннекторы, плагины и MCP-серверы.

850 1071 


1175 1396 

1176Редактирование файлов и некоторые инструменты могут не работать, пока Desktop отключён. Если они нужны задаче, держите Desktop подключённым:1397Редактирование файлов и некоторые инструменты могут не работать, пока Desktop отключён. Если они нужны задаче, держите Desktop подключённым:

1177 1398 

1178* **Worktree**: в сессии, использующей [worktree](#work-in-parallel-with-sessions), Desktop проверяет каждое изменение файла, прежде чем Claude его внесёт. Пока Desktop отключён, каждое изменение ожидает около 30 секунд, а затем завершается ошибкой. Shell-команды по-прежнему выполняются. На удалённой машине с Linux или macOS [изменения могут продолжать работать](#worktree-edits-while-disconnected). Если вы не уверены, запустите сессию без worktree.1399* **Worktree**: в сессии, использующей [worktree](#run-a-session-in-its-own-worktree), Desktop проверяет каждую правку файла перед тем, как Claude её вносит. Пока Desktop отключён, каждая правка ждёт около 30 секунд, а затем завершается ошибкой. Shell-команды по-прежнему выполняются. На удалённой машине под Linux или macOS [правки могут продолжать работать](#worktree-edits-while-disconnected). Если вы не уверены, запустите сессию без worktree.

1179* **Ограничения папок**: если ваша организация ограничивает папки, которые могут использовать сессии, Desktop проверяет каждое чтение файла, поиск и изменение, с worktree или без него. Пока Desktop отключён, каждая такая операция ожидает до 10 минут, а затем завершается ошибкой.1400* **Ограничения папок**: если ваша организация ограничивает папки, которые могут использовать сессии, Desktop проверяет каждое чтение файла, поиск и изменение, с worktree или без него. Пока Desktop отключён, каждая такая операция ожидает до 10 минут, а затем завершается ошибкой.

1180* **Коннекторы**: [коннекторы](#connect-external-tools) и другие инструменты, которые предоставляет Desktop, работают через Desktop, поэтому, пока он отключён, каждый вызов завершается ошибкой примерно через 30 секунд1401* **Коннекторы**: [коннекторы](#connect-external-tools) и другие инструменты, которые предоставляет Desktop, работают через Desktop, поэтому, пока он отключён, каждый вызов завершается ошибкой примерно через 30 секунд

1181* **Workflows**: Desktop проверяет каждый новый [workflow](/docs/ru/workflows) перед его запуском, поэтому, пока Desktop отключён, новый workflow ожидает до 10 минут, а затем завершается ошибкой1402* **Workflows**: Desktop проверяет каждый новый [workflow](/docs/ru/workflows) перед его запуском, поэтому, пока Desktop отключён, новый workflow ожидает до 10 минут, а затем завершается ошибкой


1264 Выбор расположения worktree для SSH-сессий1485 Выбор расположения worktree для SSH-сессий

1265</h4>1486</h4>

1266 1487 

1267Если ваша организация не ограничивает папки, которые могут использовать сессии, новые SSH-сессии создают свои [worktree](#work-in-parallel-with-sessions) в первом из следующих заданных расположений:1488Если ваша организация не ограничивает, какие папки могут использовать сессии, новые SSH-сессии создают свои [worktree](#run-a-session-in-its-own-worktree) в первом заданном из этих расположений:

1268 1489 

12691. **Worktree folder** в SSH-соединении14901. **Worktree folder** в SSH-соединении

12702. [`worktree.location`](/docs/ru/settings-reference#worktree-location) в `~/.claude/settings.json` на удалённой машине14912. [`worktree.location`](/docs/ru/settings-reference#worktree-location) в `~/.claude/settings.json` на удалённой машине


1272 1493 

1273Каждый проект получает собственную подпапку в заданной вами папке, поэтому при `~/worktrees` путь к worktree будет `~/worktrees/<project>-<id>/<worktree-name>`. Если заданная вами папка находится внутри проекта, Desktop игнорирует её для этого проекта и использует значение по умолчанию. На [удалённой машине с Windows](#windows-remote-machines) Desktop всегда использует значение по умолчанию.1494Каждый проект получает собственную подпапку в заданной вами папке, поэтому при `~/worktrees` путь к worktree будет `~/worktrees/<project>-<id>/<worktree-name>`. Если заданная вами папка находится внутри проекта, Desktop игнорирует её для этого проекта и использует значение по умолчанию. На [удалённой машине с Windows](#windows-remote-machines) Desktop всегда использует значение по умолчанию.

1274 1495 

1275Чтобы задать **Worktree folder** для соединения, добавленного вами ранее, или для соединения, управляемого вашей организацией, наведите на него курсор в раскрывающемся списке окружения и нажмите значок шестерёнки.1496<a id="set-the-worktree-folder-on-an-existing-connection" />

1276 1497 

1277Для этого поля требуется Claude Desktop v1.44121.0 или более поздней версии. Если ваша организация ограничивает папки, которые могут использовать сессии, Desktop скрывает это поле и хранит worktree внутри проекта.1498<h5 id="set-the-worktree-folder-on-an-existing-connection">

1499 Установка папки worktree для существующего подключения

1500</h5>

1501 

1502Задайте **Worktree folder** в настройках подключения, добавленного вами ранее или управляемого вашей организацией. Это поле требует Claude Desktop v1.44121.0 или новее. Если ваша организация ограничивает, какие папки могут использовать сессии, Desktop скрывает это поле и размещает worktree внутри проекта.

1503 

1504<Steps>

1505 <Step title="Найдите подключение">

1506 Откройте [селектор окружений](#start-a-session) и найдите подключение под **SSH**.

1507 </Step>

1508 

1509 <Step title="Откройте настройки подключения">

1510 Наведите указатель на подключение и нажмите значок шестерёнки. Если в открывшемся диалоговом окне рядом с **Host** отображается **Edit connection…**, выберите **Edit connection…**.

1511 </Step>

1512 

1513 <Step title="Задайте папку">

1514 В **Worktree folder** введите папку на удалённой машине, например `~/worktrees`, и выберите **Save changes**.

1515 </Step>

1516</Steps>

1278 1517 

1279<h4 id="files-and-processes-on-the-remote-machine">1518<h4 id="files-and-processes-on-the-remote-machine">

1280 Файлы и процессы на удалённой машине1519 Файлы и процессы на удалённой машине


1321 Завершение процесса одной сессии1560 Завершение процесса одной сессии

1322</h5>1561</h5>

1323 1562 

1324Чтобы завершить процесс Claude Code одной сессии, [архивируйте сессию](#work-in-parallel-with-sessions) в Desktop, пока Desktop подключён к удалённой машине. Процесс продолжает работать после того, как его задача выполнена, и после того, как вы закроете Desktop.1563Чтобы завершить процесс Claude Code одной сессии, [архивируйте сессию](#archive-a-session) в Desktop, пока Desktop подключён к удалённой машине. Процесс продолжает работать после завершения задачи и после закрытия Desktop.

1325 1564 

1326Прежде чем архивировать сессию, у которой есть worktree, см. [Параллельная работа с сессиями](#work-in-parallel-with-sessions).1565Прежде чем архивировать сессию, в worktree которой есть незакоммиченные изменения, см. [Сохранение незакоммиченных изменений при архивировании сессии](#keep-uncommitted-changes-when-a-session-is-archived).

1327 1566 

1328<h5 id="see-which-user-the-processes-run-as">1567<h5 id="see-which-user-the-processes-run-as">

1329 Как узнать, от имени какого пользователя работают процессы1568 Как узнать, от имени какого пользователя работают процессы


1474 Предварительная конфигурация SSH-соединений для вашей команды1713 Предварительная конфигурация SSH-соединений для вашей команды

1475</h4>1714</h4>

1476 1715 

1477Администраторы могут распространять SSH-соединения членам команды, задавая `sshConfigs` в [управляемых настройках](/docs/ru/managed-settings). Соединения, определённые таким образом, появляются в раскрывающемся списке окружения каждого пользователя автоматически и отображаются как управляемые. Пользователи могут выбирать их и [задавать для них собственную **Worktree folder**](#choose-where-ssh-session-worktrees-go), но не могут редактировать что-либо ещё или удалять их в приложении.1716Администраторы могут распространять SSH-подключения среди участников команды, задав `sshConfigs` в [управляемых настройках](/docs/ru/managed-settings).

1717 

1718* **Что видят пользователи**: подключения, определённые таким образом, автоматически появляются в селекторе окружения у каждого пользователя.

1719* **Что пользователи могут изменить**: пользователи могут выбрать управляемое подключение и [задать для него собственную **Worktree folder**](#set-the-worktree-folder-on-an-existing-connection). Они не могут редактировать другие его поля или удалить его в приложении.

1478 1720 

1479Следующий пример предварительно конфигурирует одно соединение:1721Следующий пример предварительно конфигурирует одно соединение:

1480 1722 


1563Чтобы убедиться, что настройки применяются, проверьте компьютер разработчика:1805Чтобы убедиться, что настройки применяются, проверьте компьютер разработчика:

1564 1806 

1565<Steps>1807<Steps>

1566 <Step title="Проверьте раскрывающийся список окружения">1808 <Step title="Проверьте селектор окружения">

1567 Закройте и снова откройте Desktop, затем откройте раскрывающийся список окружения в поле промпта. **Local** отображается серым, а **Shared Dev VM** появляется в разделе **SSH**. Если **Local** по-прежнему доступен, проверьте версию Desktop, то, что файл содержит валидный JSON, и то, какой управляемый источник читает компьютер.1809 Закройте и снова откройте Desktop, затем откройте [селектор окружения](#start-a-session). Настройки применились, если в нём отображается:

1810 

1811 * Запись для этого компьютера серым цветом

1812 * **Shared Dev VM** в разделе **SSH**. Если его там нет, нажмите на единственную строку **SSH** или на **More** в конце группы.

1813 

1814 Если запись для компьютера по-прежнему доступна, проверьте следующие причины:

1815 

1816 * **Версия Desktop**: обновите Desktop, если его версия старше v1.37937.0.

1817 * **Файл управляемых настроек**: убедитесь, что файл содержит корректный JSON.

1818 * **Управляемый источник**: убедитесь, что компьютер считывает [управляемый источник](/docs/ru/managed-settings#how-claude-code-combines-managed-sources), в котором находятся ключи.

1568 </Step>1819 </Step>

1569 1820 

1570 <Step title="Добавьте хост, которого нет в списке разрешённых">1821 <Step title="Добавьте хост, которого нет в списке разрешённых">

1571 [Добавьте SSH-соединение](#ssh-sessions) с именем хоста, которого нет в списке разрешённых хостов, например `other.example.com`. Desktop сохраняет соединение, но отказывается подключаться и сообщает, что настройки вашей организации не разрешают это соединение.1822 [Добавьте SSH-подключение](#ssh-sessions) с именем хоста, которого нет в списке разрешённых, например `other.example.com`. Desktop сохраняет подключение, но отказывается подключаться и сообщает, что настройки вашей организации не разрешают это подключение.

1572 </Step>1823 </Step>

1573</Steps>1824</Steps>

1574 1825 


1612| `browserExternalPageTools` | установите значение `"disabled"`, чтобы запретить Claude использовать инструменты для чтения внешних страниц и действий на них в [панели браузера](#browse-external-sites). Пользователи по-прежнему могут сами переходить на внешние сайты, а предпросмотр локального сервера разработки не затрагивается. |1863| `browserExternalPageTools` | установите значение `"disabled"`, чтобы запретить Claude использовать инструменты для чтения внешних страниц и действий на них в [панели браузера](#browse-external-sites). Пользователи по-прежнему могут сами переходить на внешние сайты, а предпросмотр локального сервера разработки не затрагивается. |

1613| `disableMobileSimulatorTools` | установите значение `true`, чтобы заблокировать инструменты Claude для управления устройствами и их захвата в [панели iOS Simulator](/docs/ru/desktop-ios-simulator#turn-off-simulator-access). Панель остаётся доступной для собственных касаний пользователя; убирается только доступ Claude. Значение должно быть логическим значением JSON `true`; строка `"true"` игнорируется. |1864| `disableMobileSimulatorTools` | установите значение `true`, чтобы заблокировать инструменты Claude для управления устройствами и их захвата в [панели iOS Simulator](/docs/ru/desktop-ios-simulator#turn-off-simulator-access). Панель остаётся доступной для собственных касаний пользователя; убирается только доступ Claude. Значение должно быть логическим значением JSON `true`; строка `"true"` игнорируется. |

1614| `disableBrowserExternalNavigation` | установите значение `true`, чтобы полностью отключить просмотр внешних сайтов в [панели браузера](#browse-external-sites). Ни пользователи, ни Claude не могут переходить на внешние сайты, а предпросмотр сервера разработки на localhost не затрагивается. Значение должно быть логическим значением JSON `true`; строка `"true"` игнорируется. |1865| `disableBrowserExternalNavigation` | установите значение `true`, чтобы полностью отключить просмотр внешних сайтов в [панели браузера](#browse-external-sites). Ни пользователи, ни Claude не могут переходить на внешние сайты, а предпросмотр сервера разработки на localhost не затрагивается. Значение должно быть логическим значением JSON `true`; строка `"true"` игнорируется. |

1615| `sshConfigs` | предварительно настройте [SSH-подключения](#pre-configure-ssh-connections-for-your-team), которые отображаются в раскрывающемся списке окружений. Пользователи не могут удалять управляемые подключения или изменять в них что-либо, кроме собственного поля **Worktree folder**. |1866| `sshConfigs` | предварительно настройте [SSH-подключения](#pre-configure-ssh-connections-for-your-team), которые отображаются в селекторе окружений. Пользователи не могут удалять управляемые подключения или изменять в них что-либо, кроме собственного поля **Worktree folder**. |

1616| `sshHostAllowlist` | ограничьте [SSH-сессии](#restrict-which-ssh-hosts-users-can-connect-to) хостами, разрешённое имя которых совпадает с одним из этих шаблонов. Читается только из управляемых настроек. |1867| `sshHostAllowlist` | ограничьте [SSH-сессии](#restrict-which-ssh-hosts-users-can-connect-to) хостами, разрешённое имя которых совпадает с одним из этих шаблонов. Читается только из управляемых настроек. |

1617| `disableDesktopLocalSessions` | установите значение `true`, чтобы отключить [сессии Code, работающие на устройстве](#local-sessions-on-managed-devices), оставив доступными SSH-сессии на других хостах и облачные сессии. Значение должно быть логическим значением JSON `true`. Читается только из управляемых настроек. Требуется Claude Desktop v1.37937.0 или новее. |1868| `disableDesktopLocalSessions` | установите значение `true`, чтобы отключить [сессии Code, работающие на устройстве](#local-sessions-on-managed-devices), оставив доступными SSH-сессии на других хостах и облачные сессии. Значение должно быть логическим значением JSON `true`. Читается только из управляемых настроек. Требуется Claude Desktop v1.37937.0 или новее. |

1618| `disableSshSavedPasswords` | установите значение `true`, чтобы Desktop перестал предлагать запоминать пароли SSH, а также использовать или показывать ранее сохранённые пароли. Включение этого параметра не удаляет их. Читается только из управляемых настроек. Требуется Claude Desktop v1.49585.0 или новее. |1869| `disableSshSavedPasswords` | установите значение `true`, чтобы Desktop перестал предлагать запоминать пароли SSH, а также использовать или показывать ранее сохранённые пароли. Включение этого параметра не удаляет их. Читается только из управляемых настроек. Требуется Claude Desktop v1.49585.0 или новее. |


1719Полный справочник по корпоративной конфигурации см. в [руководстве по корпоративной конфигурации](https://support.claude.com/en/articles/12622667-enterprise-configuration).1970Полный справочник по корпоративной конфигурации см. в [руководстве по корпоративной конфигурации](https://support.claude.com/en/articles/12622667-enterprise-configuration).

1720 1971 

1721<h2 id="coming-from-the-cli">1972<h2 id="coming-from-the-cli">

1722 Переход с CLI?1973 Переходите из CLI?

1723</h2>1974</h2>

1724 1975 

1725Если вы уже используете Claude Code CLI, Desktop запускает тот же базовый механизм с графическим интерфейсом. Вы можете запускать оба одновременно на одной машине, даже на одном проекте. Каждый поддерживает отдельный список сессий, и вы можете перенести сессию CLI в Desktop. Они делят конфигурацию и память проекта через файлы CLAUDE.md.1976Если вы уже используете Claude Code CLI, Desktop работает на том же движке, но с графическим интерфейсом. Вы можете запускать оба одновременно на одном компьютере, даже в одном проекте. Каждый из них ведёт собственный список сессий, и вы можете перенести сессию CLI в Desktop. Они используют общую конфигурацию и память проекта через файлы CLAUDE.md.

1726 1977 

1727Чтобы переместить сессию CLI в Desktop, запустите `/desktop` в терминале. Claude сохраняет вашу сессию и открывает её в приложении desktop, затем выходит из CLI. Эта команда доступна на macOS и x64 Windows, когда вы вошли с подпиской Claude. Она недоступна при аутентификации по API-ключу или на Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry.1978Чтобы перенести сессию CLI в Desktop, выполните `/desktop` в терминале. Claude сохраняет вашу сессию, открывает её в настольном приложении, а затем завершает работу CLI. Эта команда доступна на macOS и Windows x64, если вы вошли с подпиской Claude. Она недоступна при аутентификации с помощью API-ключа, а также в Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry.

1728 1979 

1729Из вашей оболочки [`claude --desktop`](/docs/ru/cli-reference#cli-flags) открывает Desktop напрямую без запуска сессии терминала. Это требует Claude Code v2.1.285 или позже и имеет те же требования к платформе и входу, что и `/desktop`. Без других аргументов он открывает Desktop в текущем каталоге. Чтобы открыть существующую сессию CLI в Desktop, добавьте `--continue` для самого последнего диалога в этом каталоге или `--resume` с ID сессии, который показывает `/status`:1980Из оболочки команда [`claude --desktop`](/docs/ru/cli-reference#cli-flags) открывает Desktop напрямую, не запуская сессию в терминале. Для неё требуется Claude Code v2.1.285 или новее, и к ней применяются те же требования к платформе и входу, что и к `/desktop`. Без других аргументов она открывает Desktop в текущем каталоге. Чтобы открыть существующую сессию CLI в Desktop, добавьте `--continue` для самого последнего диалога в этом каталоге или `--resume` с идентификатором сессии, который показывает `/status`:

1730 1981 

1731```bash theme={null}1982```bash theme={null}

1732claude --desktop --resume <session-id>1983claude --desktop --resume <session-id>

1733```1984```

1734 1985 

1735Claude Code выводит `Opening session <session-id> in Claude Desktop`, сессия открывается в приложении и команда завершается. Имя сессии не работает вместо ID. Claude Code не перемещает сессию, которая открыта в другом терминале или всё ещё работает в фоне. Если Claude Desktop не установлен, команда выводит ссылку для загрузки и завершается.1986Claude Code выводит `Opening session <session-id> in Claude Desktop`, сессия открывается в приложении, и команда завершается. Имя сессии вместо идентификатора не подходит. Claude Code не переносит сессию, которая открыта в другом терминале или всё ещё выполняется в фоне. Если Claude Desktop не установлен, команда выводит ссылку для загрузки и завершается.

1736 1987 

1737Вы также можете продолжить сессию CLI из Desktop с помощью `/resume`. Команда доступна в локальных сессиях, но не в SSH, WSL или облачных сессиях.1988Вы также можете продолжить сессию CLI изнутри Desktop с помощью `/resume`. Команда доступна в локальных сессиях, но не в сессиях SSH, WSL или облачных сессиях.

1738 1989 

1739Чтобы продолжить сессию терминала в Desktop:1990Чтобы продолжить сессию терминала в Desktop:

1740 1991 

17411. Закройте сессию в терминале.19921. Закройте сессию в терминале.

17422. В поле промпта Desktop введите `/resume`. Desktop выводит список сессий, которые вы запустили из CLI на этом компьютере. Ищите по названию, папке или ветке и просмотрите, где каждая из них остановилась.19932. В поле промпта Desktop введите `/resume`. Desktop покажет список сессий, которые вы запускали из CLI на этом компьютере. Ищите по названию, папке или ветке и просматривайте, на чём остановилась каждая из них.

17433. Выберите сессию. Она продолжится в приложении с полной историей диалога и контекстом.19943. Выберите сессию. Она продолжится в приложении со всем диалогом и контекстом.

1744 1995 

1745Desktop продолжает ту же сессию, а не копию, поэтому `claude --resume` в терминале по-прежнему находит её впоследствии.1996Desktop продолжает ту же сессию, а не её копию, поэтому `claude --resume` в терминале по-прежнему находит её впоследствии.

1746 1997 

1747<Tip>1998<Tip>

1748 Когда использовать Desktop vs CLI: используйте Desktop, когда вы хотите управлять параллельными сессиями в одном окне, организовать панели рядом или просмотреть изменения визуально. Используйте CLI, когда вам нужны скрипты, автоматизация или вы предпочитаете рабочий процесс в терминале.1999 Когда использовать Desktop, а когда CLI: используйте Desktop, если хотите управлять параллельными сессиями в одном окне, располагать панели рядом или визуально просматривать изменения. Используйте CLI, если вам нужны скрипты, автоматизация или вы предпочитаете работать в терминале.

1749</Tip>2000</Tip>

1750 2001 

1751<h3 id="cli-flag-equivalents">2002<h3 id="cli-flag-equivalents">

1752 Эквиваленты флагов CLI2003 Эквиваленты флагов CLI

1753</h3>2004</h3>

1754 2005 

1755Эта таблица показывает эквивалент в приложении desktop для распространённых флагов CLI. Флаги, не указанные в таблице, не имеют эквивалента в desktop, потому что они предназначены для скриптов или автоматизации.2006В этой таблице показаны эквиваленты распространённых флагов CLI в настольном приложении. Флаги, которых нет в списке, не имеют эквивалента в Desktop, поскольку предназначены для скриптов или автоматизации.

1756 2007 

1757| CLI | Эквивалент Desktop |2008| CLI | Эквивалент в Desktop |

1758| - | - |2009| - | - |

1759| `--model sonnet` | Раскрывающийся список модели рядом с кнопкой отправки |2010| `--model sonnet` | Выбор модели в строке под полем промпта |

1760| `--resume`, `--continue` | Нажмите на сессию в боковой панели или введите `/resume` в поле промпта, чтобы продолжить сессию, которую вы запустили из CLI |2011| `--resume`, `--continue` | Нажмите на сессию в боковой панели или введите `/resume` в поле промпта, чтобы продолжить сессию, запущенную из CLI |

1761| `--permission-mode` | Селектор режима рядом с кнопкой отправки |2012| `--permission-mode` | Выбор режима в строке под полем промпта |

1762| `--dangerously-skip-permissions` | Режим Bypass permissions. На планах Pro и Max включите его в Settings → Claude Code → "Allow bypass permissions mode"; на планах Team и Enterprise это контролирует политика организации |2013| `--dangerously-skip-permissions` | Режим обхода разрешений. На тарифах Pro и Max включите его в Settings → Claude Code → "Allow bypass permissions mode"; на тарифах Team и Enterprise им управляет политика организации |

1763| `--add-dir` | Добавьте несколько репозиториев с помощью кнопки **+** в облачных сессиях |2014| `--add-dir` | [Добавьте папки в сессию](#add-folders-to-a-session) в локальных сессиях и сессиях SSH или выберите [несколько репозиториев](#run-long-running-tasks-in-the-cloud) в облачной сессии |

1764| `--allowedTools`, `--disallowedTools` | Нет эквивалента для отдельной сессии. Правила разрешений в [файлах настроек](/docs/ru/settings) по-прежнему применяются. |2015| `--allowedTools`, `--disallowedTools` | Эквивалента на уровне сессии нет. Правила разрешений в [файлах настроек](/docs/ru/settings) по-прежнему применяются. |

1765| `--verbose` | [Verbose view mode](#switch-view-modes) |2016| `--verbose` | [Подробный режим просмотра](#switch-view-modes) |

1766| `--print`, `--output-format` | Недоступно. Desktop только интерактивный. |2017| `--print`, `--output-format` | Недоступно. Desktop работает только в интерактивном режиме. |

1767| Переменная окружения `ANTHROPIC_MODEL` | Раскрывающийся список модели рядом с кнопкой отправки |2018| Переменная окружения `ANTHROPIC_MODEL` | Выбор модели в строке под полем промпта |

1768| Переменная окружения `MAX_THINKING_TOKENS` | Задайте в редакторе локального окружения. См. [конфигурация окружения](#environment-configuration). |2019| Переменная окружения `MAX_THINKING_TOKENS` | См. [Отключение расширенного мышления](#turn-off-extended-thinking) |

1769 2020 

1770<h3 id="shared-configuration">2021<h3 id="shared-configuration">

1771 Общая конфигурация2022 Общая конфигурация


1776* Файлы **[CLAUDE.md](/docs/ru/memory)** и `CLAUDE.local.md` в вашем проекте используются обоими2027* Файлы **[CLAUDE.md](/docs/ru/memory)** и `CLAUDE.local.md` в вашем проекте используются обоими

1777* **[MCP-серверы](/docs/ru/mcp)**, настроенные в `~/.claude.json` или `.mcp.json`, работают в обоих2028* **[MCP-серверы](/docs/ru/mcp)**, настроенные в `~/.claude.json` или `.mcp.json`, работают в обоих

1778* **[Хуки](/docs/ru/hooks)** и **[скиллы](/docs/ru/skills)**, определённые в настройках, применяются к обоим2029* **[Хуки](/docs/ru/hooks)** и **[скиллы](/docs/ru/skills)**, определённые в настройках, применяются к обоим

1779* **[Настройки](/docs/ru/settings)** в `~/.claude.json` и `~/.claude/settings.json` общие. Правила разрешений, разрешённые инструменты и другие настройки в `settings.json` применяются к сессиям Desktop.2030* **[Настройки](/docs/ru/settings)** в `~/.claude.json` и `~/.claude/settings.json` являются общими. Правила разрешений, разрешённые инструменты и другие настройки в `settings.json` применяются к сессиям Desktop.

1780* **Модели**: те же [модели](/docs/ru/model-config#available-models) доступны в обоих. В Desktop выберите модель из раскрывающегося списка рядом с кнопкой отправки. Вы можете изменить модель во время сессии из того же раскрывающегося списка.2031* **Модели**: в обоих доступны одни и те же [модели](/docs/ru/model-config#available-models). В Desktop выберите модель в списке выбора модели в строке под полем промпта. Вы можете сменить модель посреди сессии в том же списке.

1781 2032 

1782<h4 id="mcp-servers-from-the-claude-desktop-chat-app">2033<h4 id="mcp-servers-from-the-claude-desktop-chat-app">

1783 MCP-серверы из приложения Claude Desktop chat2034 MCP-серверы из чат-приложения Claude Desktop

1784</h4>2035</h4>

1785 2036 

1786Приложение Desktop загружает MCP-серверы из `claude_desktop_config.json` в локальные сессии вкладки Code, наряду с серверами из `~/.claude.json` и `.mcp.json`. Сервер, определённый в `claude_desktop_config.json`, доступен как в интерфейсе Desktop chat, так и в локальных сессиях вкладки Code.2037Приложение Desktop загружает MCP-серверы из `claude_desktop_config.json` в локальные сессии вкладки Code наряду с серверами из `~/.claude.json` и `.mcp.json`. Сервер, определённый в `claude_desktop_config.json`, доступен как в чат-интерфейсе Desktop, так и в локальных сессиях вкладки Code.

1787 2038 

1788Если вы определяете одно и то же имя сервера в `claude_desktop_config.json` и в `~/.claude.json` или `.mcp.json`, вкладка Code в локальных сессиях подключается один раз и использует определение из `claude_desktop_config.json`.2039Если вы определите одно и то же имя сервера в `claude_desktop_config.json` и в `~/.claude.json` или `.mcp.json`, вкладка Code в локальных сессиях подключится один раз и будет использовать определение из `claude_desktop_config.json`.

1789 2040 

1790Приложение также повторно передаёт stdio-серверы из `~/.claude.json` встроенному CLI в локальных сессиях. Когда верхний уровень `~/.claude.json` (область действия пользователя) и `.mcp.json` определяют одно и то же имя stdio-сервера, вкладка Code использует определение из `~/.claude.json`, отступая от [иерархии областей действия](/docs/ru/mcp#scope-hierarchy-and-precedence) CLI.2041Приложение также повторно передаёт stdio-серверы из `~/.claude.json` встроенному CLI в локальных сессиях. Если на верхнем уровне `~/.claude.json` (область действия пользователя) и в `.mcp.json` определено одно и то же имя stdio-сервера, вкладка Code использует определение из `~/.claude.json`, отступая от [иерархии областей действия](/docs/ru/mcp#scope-hierarchy-and-precedence) CLI.

1791 2042 

1792<Note>2043<Note>

1793 Автономный CLI не читает `claude_desktop_config.json`. На macOS и WSL запустите `claude mcp add-from-claude-desktop`, чтобы скопировать эти серверы в `~/.claude.json`. См. [Импорт MCP-серверов из Claude Desktop](/docs/ru/mcp#import-mcp-servers-from-claude-desktop) для процесса импорта и вариантов области действия.2044 Автономный CLI не читает `claude_desktop_config.json`. На macOS и в WSL выполните `claude mcp add-from-claude-desktop`, чтобы скопировать эти серверы в `~/.claude.json`. Описание процесса импорта и вариантов области действия см. в разделе [Импорт MCP-серверов из Claude Desktop](/docs/ru/mcp#import-mcp-servers-from-claude-desktop).

1794</Note>2045</Note>

1795 2046 

1796<h3 id="feature-comparison">2047<h3 id="feature-comparison">

1797 Сравнение функций2048 Сравнение возможностей

1798</h3>2049</h3>

1799 2050 

1800Эта таблица сравнивает основные возможности CLI и Desktop. Для полного списка флагов CLI см. [справочник CLI](/docs/ru/cli-reference).2051В этой таблице сравниваются основные возможности CLI и Desktop. Полный список флагов CLI см. в [справочнике по CLI](/docs/ru/cli-reference).

1801 2052 

1802| Функция | CLI | Desktop |2053| Возможность | CLI | Desktop |

1803| - | - | - |2054| - | - | - |

1804| Режимы разрешений | Все режимы, включая `dontAsk` | Manual, Accept edits, Plan и Auto. Bypass permissions появляется в селекторе режима после включения: через переключатель в Settings на планах Pro и Max или через политику организации на планах Team и Enterprise |2055| Режимы разрешений | Все режимы, включая `dontAsk` | Manual, Accept edits, Plan и Auto. Режим Bypass permissions появляется в выборе режима после включения: через переключатель в Settings на тарифах Pro и Max или через политику организации на тарифах Team и Enterprise |

1805| [Сторонние провайдеры](/docs/ru/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API Anthropic по умолчанию. Для маршрутизации через шлюз см. [подключение приложения desktop к шлюзу](/docs/ru/llm-gateway-connect#desktop-app). Чтобы запустить вкладку Code на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или самостоятельно размещённом LLM-шлюзе, см. [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |2056| [Сторонние провайдеры](/docs/ru/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | По умолчанию API Anthropic. О маршрутизации через шлюз см. [подключение настольного приложения к шлюзу](/docs/ru/llm-gateway-connect#desktop-app). Чтобы запускать вкладку Code на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или на самостоятельно размещённом LLM-шлюзе, см. [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |

1806| [MCP-серверы](/docs/ru/mcp) | Настройка в файлах настроек | UI Connectors для локальных и SSH-сессий или файлы настроек |2057| [MCP-серверы](/docs/ru/mcp) | Настройка в файлах настроек | Интерфейс коннекторов для локальных сессий и сессий SSH или файлы настроек |

1807| [Плагины](/docs/ru/plugins/overview) | Команда `/plugin` | UI менеджера плагинов |2058| [Плагины](/docs/ru/plugins/overview) | Команда `/plugin` | Интерфейс менеджера плагинов |

1808| @mention файлов | Текстовые | С автодополнением; только локальные и SSH-сессии |2059| Упоминание файлов через @ | Текстовое | С автодополнением, кроме первого сообщения облачной сессии |

1809| Вложения файлов | Недоступно | Изображения, PDF |2060| Вложения файлов | Недоступно | Изображения, PDF |

1810| Изоляция сессии | Флаг [`--worktree`](/docs/ru/cli-reference) | Опция **worktree** при запуске сессии |2061| Изоляция сессий | Флаг [`--worktree`](/docs/ru/cli-reference) | [Запуск сессии в собственном worktree](#run-a-session-in-its-own-worktree) |

1811| Несколько сессий | Отдельные терминалы | Вкладки боковой панели |2062| Несколько сессий | Отдельные терминалы | Вкладки боковой панели |

1812| Повторяющиеся задачи | Cron jobs, CI pipelines | [Запланированные задачи](/docs/ru/desktop-scheduled-tasks) |2063| Повторяющиеся задачи | Задания cron, CI-конвейеры | [Запланированные задачи](/docs/ru/desktop-scheduled-tasks) |

1813| Использование компьютера | [Включение через `/mcp`](/docs/ru/computer-use) на macOS | [Управление приложениями и экраном](#let-claude-use-your-computer) на macOS и Windows |2064| Управление компьютером | [Включение через `/mcp`](/docs/ru/computer-use) на macOS | [Управление приложениями и экраном](#let-claude-use-your-computer) на macOS и Windows |

1814| iOS simulator | Управление симулятором через [computer use](/docs/ru/computer-use#test-a-simulator-flow) | [Панель iOS Simulator](/docs/ru/desktop-ios-simulator) открывается автоматически |2065| Симулятор iOS | Управление симулятором через [управление компьютером](/docs/ru/computer-use#test-a-simulator-flow) | [Панель iOS Simulator](/docs/ru/desktop-ios-simulator) открывается автоматически |

1815| Интеграция с Dispatch | Недоступно | [Сессии Dispatch](#sessions-from-dispatch) в боковой панели |2066| Интеграция с Dispatch | Недоступно | [Сессии Dispatch](#sessions-from-dispatch) в боковой панели |

1816| Скрипты и автоматизация | [`--print`](/docs/ru/cli-reference), [Agent SDK](/docs/ru/headless) | Недоступно |2067| Скрипты и автоматизация | [`--print`](/docs/ru/cli-reference), [Agent SDK](/docs/ru/headless) | Недоступно |

1817 2068 


1819 Что недоступно в Desktop2070 Что недоступно в Desktop

1820</h3>2071</h3>

1821 2072 

1822Следующие функции недоступны в Desktop, кроме случаев, указанных ниже:2073Следующие возможности недоступны в Desktop, за исключением указанных случаев:

1823 2074 

1824* **Сторонние провайдеры**: Desktop по умолчанию подключается к API Anthropic. Для маршрутизации Desktop через шлюз или для запуска вкладки Code на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или самостоятельно размещённом LLM-шлюзе следуйте ссылкам в [строке Third-party providers](#feature-comparison).2075* **Сторонние провайдеры**: по умолчанию Desktop подключается к API Anthropic. Чтобы направить Desktop через шлюз или запускать вкладку Code на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или на самостоятельно размещённом LLM-шлюзе, перейдите по ссылкам в [строке «Сторонние провайдеры»](#feature-comparison).

1825* **Linux (бета)**: Computer Use пока недоступен в приложении desktop для Linux. См. [Claude Desktop на Linux](/docs/ru/desktop-linux).2076* **Linux (бета)**: Computer Use пока недоступен в настольном приложении для Linux. См. [Claude Desktop в Linux](/docs/ru/desktop-linux).

1826* **Встроенные предложения кода**: Desktop не предоставляет дополнения кода в стиле автодополнения. Он работает через промпты в диалоге и явные изменения кода и может [предложить ваш следующий промпт](#accept-a-suggested-prompt) после ответа Claude.2077* **Встроенные подсказки кода**: Desktop не предлагает автодополнение кода. Он работает через диалоговые промпты и явные изменения кода и может [предложить ваш следующий промпт](#accept-a-suggested-prompt) после ответа Claude.

1827* **Команды агентов**: координируемые команды, где Claude в роли лидера команды назначает задачи участникам команды из общего списка задач, доступны в [CLI](/docs/ru/agent-teams), а не в Desktop. Для многоагентной работы внутри одной сессии используйте [динамические рабочие процессы](/docs/ru/workflows), которые работают в Desktop; Claude также может [отправлять сообщения вашим другим сессиям и управлять ими](#work-across-sessions) напрямую.2078* **Команды агентов**: скоординированные команды агентов, в которых Claude в роли лидера команды назначает задачи участникам команды из общего списка задач, доступны в [CLI](/docs/ru/agent-teams), но не в Desktop. Для многоагентной работы внутри одной сессии используйте [динамические рабочие процессы](/docs/ru/workflows), которые работают в Desktop; Claude также может напрямую [отправлять сообщения вашим другим сессиям и управлять ими](#work-across-sessions).

1828* **Команды с диалоговыми окнами терминала**: встроенные команды, которые открывают интерактивную панель в терминале, ведут себя иначе на вкладке Code. Редактируйте [файлы настроек](/docs/ru/settings) напрямую, чтобы управлять правилами разрешений и конфигурацией, или запускайте команды из автономного CLI.2079* **Команды с диалоговыми окнами терминала**: встроенные команды, открывающие интерактивную панель в терминале, во вкладке Code ведут себя иначе. Редактируйте [файлы настроек](/docs/ru/settings) напрямую, чтобы управлять правилами разрешений и конфигурацией, или выполняйте эти команды в автономном CLI.

1829 * Команды без формы с аргументом, такие как `/permissions`, отвечают `isn't available in this environment`.2080 * Команды, которые не принимают аргументов, например `/permissions`, отвечают сообщением `isn't available in this environment`.

1830 * `/config` открывает Settings → Claude Code. Текст после команды игнорируется, поэтому `/config theme=dark` не устанавливает тему.2081 * `/config` открывает Settings → Claude Code. Текст после команды игнорируется, поэтому `/config theme=dark` не устанавливает тему.

1831 2082 

1832<h2 id="troubleshooting">2083<h2 id="troubleshooting">

1833 Устранение неполадок2084 Устранение неполадок

1834</h2>2085</h2>

1835 2086 

1836Разделы ниже охватывают проблемы, специфичные для приложения desktop. Для ошибок API времени выполнения, которые появляются в чате, такие как `API Error: 500`, `529 Overloaded`, `429` или `Prompt is too long`, см. [справочник ошибок](/docs/ru/errors). Эти ошибки и их исправления одинаковы для CLI, desktop и веб.2087Разделы ниже охватывают проблемы, специфичные для приложения desktop. Для ошибок API времени выполнения, которые появляются в чате, такие как `API Error: 500`, `529 Overloaded`, `429` или `Prompt is too long`, см. [справочник ошибок](/docs/ru/errors).

1837 2088 

1838<h3 id="check-your-version">2089<h3 id="check-your-version">

1839 Проверка вашей версии2090 Проверка вашей версии


1852 2103 

1853Чтобы узнать, какую версию Claude Code запускает сессия, введите `/status` в локальной сессии на вкладке **Code** и посмотрите строку **Claude Code**, в которой отображается версия, например `2.1.286`.2104Чтобы узнать, какую версию Claude Code запускает сессия, введите `/status` в локальной сессии на вкладке **Code** и посмотрите строку **Claude Code**, в которой отображается версия, например `2.1.286`.

1854 2105 

1855Чтобы получить более новую версию для локальных сессий, откройте **Claude → Check for Updates** на macOS или **Help → Check for Updates** на Windows, затем запустите новую сессию.2106Чтобы получить более новую версию для локальных сессий, откройте **Claude > Check for Updates…** на macOS или **Help > Check for Updates…** на Windows, затем запустите новую сессию.

1856 2107 

1857В локальной сессии вкладка **Code** запускает собственную копию Claude Code, у которой свой номер версии. Приложение desktop загружает и обновляет эту копию, поэтому её версия может отличаться от команды `claude` в вашем терминале, и обновление одной не обновляет другую.2108В локальной сессии вкладка **Code** запускает собственную копию Claude Code, у которой свой номер версии. Приложение desktop загружает и обновляет эту копию, поэтому её версия может отличаться от команды `claude` в вашем терминале, и обновление одной не обновляет другую.

1858 2109 

2110<h3 id="check-which-layout-you-have">

2111 Проверка используемого макета

2112</h3>

2113 

2114Если в новой сессии под полем ввода промпта нет [селектора окружения](#start-a-session), у вас более ранний макет:

2115 

2116* **[Desktop версии ниже v2.37337.0](#check-your-version)**: обновите приложение, чтобы получить текущий макет. Выберите **Claude > Check for Updates…** на macOS или **Help > Check for Updates…** на Windows.

2117* **[Сторонний провайдер](/docs/ru/third-party-integrations)**: у вас остаётся более ранний макет, поэтому ничего делать не нужно.

2118 

2119В более раннем макете окружение и папка проекта выбираются над полем ввода промпта, а режим разрешений и модель — в строке под ним. В более раннем макете нет [панели сведений о сессии](#see-session-details) и [сохранённых локальных и SSH-окружений](#create-a-saved-environment).

2120 

1859<h3 id="403-or-authentication-errors-in-the-code-tab">2121<h3 id="403-or-authentication-errors-in-the-code-tab">

1860 Ошибки 403 или аутентификации на вкладке Code2122 Ошибки 403 или аутентификации на вкладке Code

1861</h3>2123</h3>

Details

160* Подтвердите, что Xcode и iOS симуляторы установлены и что ваша версия Xcode соответствует [требованиям](#requirements).160* Подтвердите, что Xcode и iOS симуляторы установлены и что ваша версия Xcode соответствует [требованиям](#requirements).

161* Если ваша организация управляет Claude Code, [инструменты симулятора могут быть отключены политикой](#turn-off-simulator-access).161* Если ваша организация управляет Claude Code, [инструменты симулятора могут быть отключены политикой](#turn-off-simulator-access).

162* Если вы находитесь в организации Enterprise с включённой конфигурацией HIPAA, панель симулятора вам недоступна.162* Если вы находитесь в организации Enterprise с включённой конфигурацией HIPAA, панель симулятора вам недоступна.

163* Панель симулятора требует Claude Desktop v1.24012.0 или позже. Откройте **Claude → Check for Updates**, затем перезагрузите приложение.163* Панель симулятора требует Claude Desktop v1.24012.0 или позже. Откройте **Claude > Check for Updates…**, затем перезагрузите приложение.

164 164 

165<h3 id="the-simulator-pane-says-no-simulators-were-found">165<h3 id="the-simulator-pane-says-no-simulators-were-found">

166 Панель симулятора говорит, что симуляторы не найдены166 Панель симулятора говорит, что симуляторы не найдены


174 174 

175* [Computer use in Desktop](/docs/ru/desktop#let-claude-use-your-computer): управление экраном для приложений без выделенной панели175* [Computer use in Desktop](/docs/ru/desktop#let-claude-use-your-computer): управление экраном для приложений без выделенной панели

176* [Computer use from the CLI](/docs/ru/computer-use): как CLI получает доступ к iOS Simulator176* [Computer use from the CLI](/docs/ru/computer-use): как CLI получает доступ к iOS Simulator

177* [Work in parallel with sessions](/docs/ru/desktop#work-in-parallel-with-sessions): как сессии изолируют изменения177* [Запуск сессии в собственном worktree](/docs/ru/desktop#run-a-session-in-its-own-worktree): как сессии изолируют изменения

178* [Get started with Claude Code Desktop](/docs/ru/desktop-quickstart)178* [Get started with Claude Code Desktop](/docs/ru/desktop-quickstart)

Details

63 63 

64<Steps>64<Steps>

65 <Step title="Выберите окружение и папку">65 <Step title="Выберите окружение и папку">

66 Выберите **Local**, чтобы запустить Claude на вашем компьютере, используя ваши файлы напрямую. Нажмите **Select folder** и выберите директорию вашего проекта.66 В [строке под полем ввода промпта](/docs/ru/desktop#start-a-session) нажмите первый элемент управления — селектор окружения — и выберите верхний пункт в группе **Local**. Затем нажмите элемент управления папкой проекта рядом с селектором окружения, выберите **Open folder…** и укажите директорию вашего проекта.

67 

68 Если под полем ввода промпта нет селектора окружения, у вас более ранняя версия интерфейса. См. [Проверьте, какая у вас версия интерфейса](/docs/ru/desktop#check-which-layout-you-have).

67 69 

68 <Tip>70 <Tip>

69 Начните с небольшого проекта, который вы хорошо знаете. Это самый быстрый способ увидеть, что может делать Claude Code.71 Начните с небольшого проекта, который вы хорошо знаете. Это самый быстрый способ увидеть, что может делать Claude Code.


72 Вы также можете выбрать:74 Вы также можете выбрать:

73 75 

74 * **Cloud**: Запускайте сеансы в облаке, которые продолжают работу даже если вы закроете приложение. См. [Use Claude Code in the cloud](/docs/ru/claude-code-on-the-web) для информации о том, как работают облачные сеансы.76 * **Cloud**: Запускайте сеансы в облаке, которые продолжают работу даже если вы закроете приложение. См. [Use Claude Code in the cloud](/docs/ru/claude-code-on-the-web) для информации о том, как работают облачные сеансы.

75 * **SSH**: Подключитесь к удаленной машине через SSH, например к вашим собственным серверам, облачным виртуальным машинам или контейнерам разработки. Desktop автоматически устанавливает Claude Code на удаленную машину при первом подключении. Выполняющаяся задача может [продолжать работу, пока Desktop отключен](/docs/ru/desktop#keep-a-task-running-while-desktop-is-disconnected), но при использовании аккаунта Claude она может остановиться, когда истечет срок ее входа в систему.77 * **SSH**: Подключитесь к удаленной машине через SSH, например к вашим собственным серверам, облачным виртуальным машинам или контейнерам разработки. Сначала [добавьте подключение](/docs/ru/desktop#ssh-sessions). Desktop автоматически устанавливает Claude Code на удаленную машину при первом подключении. Выполняющаяся задача может [продолжать работу, пока Desktop отключен](/docs/ru/desktop#keep-a-task-running-while-desktop-is-disconnected), но при использовании аккаунта Claude она может остановиться, когда истечет срок ее входа в систему.

76 * **WSL** (Windows): Запустите сеанс внутри [WSL 2 дистрибутива](/docs/ru/desktop-wsl); Claude Code, инструменты и git выполняются на стороне Linux с собственными путями.78 * **WSL** (Windows): Запустите сессию внутри [WSL 2 дистрибутива](/docs/ru/desktop-wsl); Claude Code, инструменты и git выполняются на стороне Linux с собственными путями.

77 </Step>79 </Step>

78 80 

79 <Step title="Выберите модель">81 <Step title="Выберите модель">

80 Выберите модель из раскрывающегося списка рядом с кнопкой отправки. См. [models](/docs/ru/model-config#available-models) для сравнения доступных моделей. Вы можете изменить модель позже из того же раскрывающегося списка.82 Выберите модель в селекторе моделей ближе к правому краю строки под полем ввода промпта. См. [models](/docs/ru/model-config#available-models) для сравнения доступных моделей. Вы можете изменить модель позже в селекторе моделей.

81 </Step>83 </Step>

82 84 

83 <Step title="Скажите Claude, что делать">85 <Step title="Скажите Claude, что делать">


87 * `Add tests for the main function`89 * `Add tests for the main function`

88 * `Create a CLAUDE.md with instructions for this codebase`90 * `Create a CLAUDE.md with instructions for this codebase`

89 91 

90 [Сеанс](/docs/ru/desktop#work-in-parallel-with-sessions) — это беседа с Claude о вашем коде. Каждый сеанс отслеживает свой собственный контекст и изменения.92 [Сессия](/docs/ru/desktop#work-in-parallel-with-sessions) — это диалог с Claude о вашем коде. Каждая сессия отслеживает свой собственный контекст и изменения.

91 </Step>93 </Step>

92 94 

93 <Step title="Проверьте и примите изменения">95 <Step title="Проверьте и примите изменения">

94 То, что произойдет дальше, зависит от [режима разрешений](/docs/ru/desktop#choose-a-permission-mode), показанного в селекторе рядом с кнопкой отправки:96 Проверьте ваш [режим разрешений](/docs/ru/desktop#choose-a-permission-mode) в строке под полем ввода промпта, чтобы узнать, ждет ли Claude вашего подтверждения:

95 97 

96 * **Auto или Accept edits**: Claude применяет изменения файлов, и появляется индикатор, такой как `+12 -1`, чтобы вы могли просмотреть их в представлении diff98 * **Auto или Accept edits**: Claude применяет изменения файлов, и появляется индикатор, такой как `+12 -1`, чтобы вы могли просмотреть их в представлении diff

97 * **Manual**: Claude предлагает каждое изменение и ждет вашего одобрения перед его применением. Ваши файлы не изменяются, пока вы не примете изменение, и если вы отклоните изменение, Claude спросит, как вы хотели бы поступить вместо этого99 * **Manual**: Claude предлагает каждое изменение и ждет вашего подтверждения перед его применением

98 100 

99 В режиме Manual вы увидите:101 В режиме Manual вы увидите:

100 102 


112 114 

113**Прерывание и управление.** Вы можете перенаправить Claude в любой момент. Нажмите кнопку остановки, чтобы прервать немедленно, или введите исправление и нажмите **Enter**, чтобы отправить его без остановки выполняемого действия. В любом случае вам не нужно ждать завершения или начинать заново.115**Прерывание и управление.** Вы можете перенаправить Claude в любой момент. Нажмите кнопку остановки, чтобы прервать немедленно, или введите исправление и нажмите **Enter**, чтобы отправить его без остановки выполняемого действия. В любом случае вам не нужно ждать завершения или начинать заново.

114 116 

115**Предоставьте Claude больше контекста.** Введите `@filename` в поле подсказки, чтобы добавить конкретный файл в беседу, прикрепите изображения и PDF-файлы с помощью кнопки вложения или перетащите файлы прямо в подсказку. Чем больше контекста у Claude, тем лучше результаты. См. [Add files and context](/docs/ru/desktop#add-files-and-context-to-prompts).117**Предоставьте Claude больше контекста.** Введите `@filename` в поле промпта, чтобы добавить конкретный файл в диалог. Чем больше контекста у Claude, тем лучше результаты. См. [Add files and context](/docs/ru/desktop#add-files-and-context-to-prompts).

116 118 

117**Используйте skills для повторяющихся задач.** Введите `/` или нажмите **+** → **Slash commands**, чтобы просмотреть [built-in commands](/docs/ru/commands), [custom skills](/docs/ru/skills) и skills плагинов. Skills — это многократно используемые подсказки, которые вы можете вызывать всякий раз, когда они вам нужны, например контрольные списки проверки кода или этапы развертывания.119**Используйте skills для повторяющихся задач.** Введите `/` или нажмите **+** → **Slash commands**, чтобы просмотреть [built-in commands](/docs/ru/commands), [custom skills](/docs/ru/skills) и skills плагинов. Skills — это многократно используемые подсказки, которые вы можете вызывать всякий раз, когда они вам нужны, например контрольные списки проверки кода или этапы развертывания.

118 120 


125* **Accept edits**: Claude автоматически принимает редактирование файлов для более быстрой итерации.127* **Accept edits**: Claude автоматически принимает редактирование файлов для более быстрой итерации.

126* **Plan**: Claude предлагает подход без редактирования каких-либо файлов, что полезно перед крупным рефакторингом.128* **Plan**: Claude предлагает подход без редактирования каких-либо файлов, что полезно перед крупным рефакторингом.

127 129 

128**Добавьте плагины для дополнительных возможностей.** Нажмите кнопку **+** рядом с полем подсказки и выберите **Plugins**, чтобы просмотреть и установить [plugins](/docs/ru/desktop#install-plugins), которые добавляют skills, агентов, MCP серверы и многое другое.130**Добавьте плагины для дополнительных возможностей.** Установите [плагины](/docs/ru/desktop#install-plugins), которые добавляют скиллы, агентов, MCP-серверы и многое другое.

129 131 

130**Организуйте рабочее пространство.** Перетащите панели чата, diff, терминала, файла и браузера в любой нужный вам макет. Откройте терминал с помощью **Ctrl+\`**, чтобы запускать команды параллельно с вашей сессией, или нажмите на путь файла, чтобы открыть его в панели файлов. См. [Arrange your workspace](/docs/ru/desktop#arrange-your-workspace).132**Организуйте рабочее пространство.** Перетащите панели чата, diff, терминала, файла и браузера в любой нужный вам макет. Откройте терминал с помощью **Ctrl+\`**, чтобы запускать команды параллельно с вашей сессией, или нажмите на путь файла, чтобы открыть его. См. [Arrange your workspace](/docs/ru/desktop#arrange-your-workspace).

131 133 

132**Предпросмотр вашего приложения.** Когда вы запускаете сервер разработки на рабочем столе, ваше приложение открывается в панели Browser, которая также может [открывать внешние сайты](/docs/ru/desktop#browse-external-sites). Claude может просматривать работающее приложение, тестировать конечные точки, проверять журналы и повторять итерации на основе того, что он видит. См. [Preview your app](/docs/ru/desktop#preview-your-app).134**Предпросмотр вашего приложения.** Когда вы запускаете сервер разработки на рабочем столе, ваше приложение открывается в панели Browser, которая также может [открывать внешние сайты](/docs/ru/desktop#browse-external-sites). Claude может просматривать работающее приложение, тестировать конечные точки, проверять журналы и повторять итерации на основе того, что он видит. См. [Preview your app](/docs/ru/desktop#preview-your-app).

133 135 

134**Отслеживайте ваш pull request.** После открытия PR, Claude Code отслеживает результаты проверок CI и может автоматически исправлять сбои или объединять PR после прохождения всех проверок. См. [Monitor pull request status](/docs/ru/desktop#monitor-pull-request-status).136**Отслеживайте ваш pull request.** После открытия PR Claude Code отслеживает результаты проверок CI и может автоматически исправлять сбои. См. [Monitor pull request status](/docs/ru/desktop#monitor-pull-request-status).

135 137 

136**Поставьте Claude по расписанию.** Установите [scheduled tasks](/docs/ru/desktop-scheduled-tasks) для автоматического запуска Claude на регулярной основе: ежедневная проверка кода каждое утро, еженедельный аудит зависимостей или брифинг, который извлекает данные из ваших подключенных инструментов.138**Поставьте Claude по расписанию.** Установите [scheduled tasks](/docs/ru/desktop-scheduled-tasks) для автоматического запуска Claude на регулярной основе: ежедневная проверка кода каждое утро, еженедельный аудит зависимостей или брифинг, который извлекает данные из ваших подключенных инструментов.

137 139 

Details

33</Tip>33</Tip>

34 34 

35<Note>35<Note>

36 По умолчанию запланированные задачи запускаются в том состоянии, в котором находится ваш рабочий каталог, включая незафиксированные изменения. Включите переключатель worktree при создании задачи, чтобы каждый запуск получил свой изолированный Git worktree, так же как работают [параллельные сеансы](/docs/ru/desktop#work-in-parallel-with-sessions).36 По умолчанию запланированные задачи запускаются в том состоянии, в котором находится ваш рабочий каталог, включая незафиксированные изменения. Включите переключатель worktree при создании задачи, чтобы каждый запуск получил свой [изолированный Git worktree](/docs/ru/desktop#run-a-session-in-its-own-worktree).

37</Note>37</Note>

38 38 

39<h2 id="create-a-scheduled-task">39<h2 id="create-a-scheduled-task">

desktop-wsl.md +20 −6

Details

24 24 

25<Steps>25<Steps>

26 <Step title="Выберите дистрибутив">26 <Step title="Выберите дистрибутив">

27 Запустите новый сеанс на вкладке Code и откройте средство выбора среды. Ваши установленные дистрибутивы WSL 2 появляются в разделе **WSL**. Выберите один.27 Запустите новую сессию на вкладке Code и откройте [средство выбора среды](/docs/ru/desktop#start-a-session) под полем ввода промпта или над ним в [более раннем макете](/docs/ru/desktop#check-which-layout-you-have). Ваши установленные дистрибутивы WSL 2 появляются в разделе **WSL**. Выберите один.

28 </Step>28 </Step>

29 29 

30 <Step title="Выберите папку">30 <Step title="Выберите папку">

31 Сеанс запускается в домашнем каталоге дистрибутива. Используйте средство выбора папок для выбора папки проекта. Просмотр происходит внутри дистрибутива с путями Linux, такими как `/home/you/project`.31 Сессия запускается в домашнем каталоге дистрибутива. Используйте средство выбора папок для выбора папки проекта. Просмотр происходит внутри дистрибутива с путями Linux, такими как `/home/you/project`.

32 </Step>32 </Step>

33 33 

34 <Step title="Доверьте папке">34 <Step title="Доверьте папке">

35 Первый сеанс в папке показывает диалог доверия рабочей области. Доверие предоставляется для каждого дистрибутива и папки. Папка, которой вы доверяете в одном дистрибутиве, не является доверенной в другом дистрибутиве или по тому же пути на Windows.35 Первая сессия в папке показывает диалог доверия рабочему пространству. Доверие предоставляется для каждого дистрибутива и папки. Папка, которой вы доверяете в одном дистрибутиве, не является доверенной в другом дистрибутиве или по тому же пути на Windows.

36 </Step>36 </Step>

37</Steps>37</Steps>

38 38 

39Первый сеанс в дистрибутиве занимает немного больше времени, пока Claude настраивается внутри него. Вы также можете открыть папку `\\wsl.localhost\...` из обычного средства выбора папок, и она снова откроется внутри этого дистрибутива.39Первый сеанс в дистрибутиве занимает немного больше времени, пока Claude настраивается внутри него. Вы также можете открыть папку `\\wsl.localhost\...` из обычного средства выбора папок, и она снова откроется внутри этого дистрибутива.

40 40 

41Папки, которые вы недавно использовали, появляются в средстве выбора для каждого дистрибутива, поэтому повторное подключение к проекту — это один клик.

42 

43<h2 id="what-works-in-a-wsl-session">41<h2 id="what-works-in-a-wsl-session">

44 Что работает в сеансе WSL42 Что работает в сеансе WSL

45</h2>43</h2>

46 44 

47Параллельные сеансы, боковые чаты, визуальный просмотр различий, статус ветви и запроса на слияние, а также worktrees работают, поддерживаемые git и цепочкой инструментов внутри дистрибутива. "Открыть в редакторе" открывает VS Code, подключенный к дистрибутиву через [Remote - WSL](https://code.visualstudio.com/docs/remote/wsl).45Параллельные сеансы, боковые чаты, визуальный просмотр различий, статус ветви и запроса на слияние, а также worktrees работают, поддерживаемые git и цепочкой инструментов внутри дистрибутива. "Открыть в редакторе" открывает VS Code, подключенный к дистрибутиву через [Remote - WSL](https://code.visualstudio.com/docs/remote/wsl).

48 46 

49Несколько функций еще недоступны в сеансах WSL: интегрированный терминал, соединители и плагины, разветвление сеанса, панель браузера файлов и предложения файлов при вводе `@` в компоновщик.47Если функция Desktop недоступна или ограничена в сессии WSL, проверьте, не относится ли она к следующим:

48 

49* **Терминал и коннекторы**: в вашей сессии может отсутствовать [встроенный терминал](/docs/ru/desktop#run-commands-in-the-terminal), [коннекторы](/docs/ru/desktop#connect-external-tools) или и то, и другое. См. раздел [Если терминал или коннекторы недоступны](#check-for-the-terminal-and-connectors).

50* **[Плагины](/docs/ru/desktop#install-plugins)**: недоступны в сессиях WSL

51* **Редактирование файлов**: вы можете просматривать файлы в [панели файлов](/docs/ru/desktop#open-and-edit-files), но не можете редактировать их там, поэтому попросите Claude внести изменения

52* **Вложения**: если в меню **+** вместо **Add files or photos** отображается **Add image**, вы можете прикреплять только изображения. См. раздел [Добавление файлов и контекста в промпты](/docs/ru/desktop#add-files-and-context-to-prompts).

53 

54<a id="check-for-the-terminal-and-connectors" />

55 

56<h3 id="if-the-terminal-or-connectors-are-unavailable">

57 Если терминал или коннекторы недоступны

58</h3>

59 

60Вы не можете самостоятельно включить встроенный терминал или коннекторы для сессии WSL:

61 

62* **Аккаунт Claude**: эти две функции развертываются по отдельности. Выберите **Help > Check for Updates…**, и если после обновления функция по-прежнему отсутствует, ничего делать не нужно.

63* **[Сторонний провайдер](/docs/ru/third-party-integrations)**: сессии WSL не получают терминал и коннекторы, и обновление Desktop этого не меняет

50 64 

51<h2 id="managed-devices">65<h2 id="managed-devices">

52 Управляемые устройства66 Управляемые устройства

env-vars.md +7 −11

Details

196| `ANTHROPIC_VERTEX_PROJECT_ID` | ID проекта GCP, которому адресуются запросы Google Cloud's Agent Platform. См. [Настройка учётных данных GCP](/docs/ru/google-vertex-ai#3-configure-gcp-credentials) |196| `ANTHROPIC_VERTEX_PROJECT_ID` | ID проекта GCP, которому адресуются запросы Google Cloud's Agent Platform. См. [Настройка учётных данных GCP](/docs/ru/google-vertex-ai#3-configure-gcp-credentials) |

197| `ANTHROPIC_WORKSPACE_ID` | ID рабочего пространства для [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Задайте её, если ваше правило федерации охватывает более одного рабочего пространства, чтобы при обмене токенов было известно, какое рабочее пространство использовать |197| `ANTHROPIC_WORKSPACE_ID` | ID рабочего пространства для [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Задайте её, если ваше правило федерации охватывает более одного рабочего пространства, чтобы при обмене токенов было известно, какое рабочее пространство использовать |

198| `API_FORCE_IDLE_TIMEOUT` | Переопределяет 5-минутный таймаут простоя тела ответа, который прерывает потоковый ответ модели, если байты не поступают. Установите `0`, чтобы отключить таймаут, например когда медленный [шлюз](/docs/ru/llm-gateway) или локальная модель делает паузы между фрагментами дольше 5 минут, или `1`, чтобы оставить его включённым для всех провайдеров. Если не задана, таймаут активен у провайдеров, кроме прямого Anthropic API, [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) и Amazon Bedrock с установленной `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`. [Сторожевые механизмы потока](/docs/ru/network-config#streaming-idle-watchdogs) работают независимо от него и прерывают длительную паузу без данных, даже если здесь установлено `0` |198| `API_FORCE_IDLE_TIMEOUT` | Переопределяет 5-минутный таймаут простоя тела ответа, который прерывает потоковый ответ модели, если байты не поступают. Установите `0`, чтобы отключить таймаут, например когда медленный [шлюз](/docs/ru/llm-gateway) или локальная модель делает паузы между фрагментами дольше 5 минут, или `1`, чтобы оставить его включённым для всех провайдеров. Если не задана, таймаут активен у провайдеров, кроме прямого Anthropic API, [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) и Amazon Bedrock с установленной `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`. [Сторожевые механизмы потока](/docs/ru/network-config#streaming-idle-watchdogs) работают независимо от него и прерывают длительную паузу без данных, даже если здесь установлено `0` |

199| `API_TIMEOUT_MS` | Таймаут для API-запросов в миллисекундах (по умолчанию: 600000, или 10 минут; максимум: 2147483647). Потоковый запрос должен получить заголовки ответа в пределах этого времени. Увеличьте значение, если запросы завершаются по таймауту в медленных сетях или при маршрутизации через прокси |199| `API_TIMEOUT_MS` | Время в миллисекундах, в течение которого каждая попытка запроса к API должна получить заголовки ответа (по умолчанию: 600000, или 10 минут; максимум: 2147483647). Не ограничивает продолжительность потокового ответа после этого. Если задано положительное значение, каждая попытка [непотокового запроса](/docs/ru/errors#streaming-response-ended-before-any-complete-data-was-received) должна завершиться в течение этого времени. Увеличьте значение, если запросы завершаются по таймауту в медленных сетях или при маршрутизации через прокси |

200| `AWS_BEARER_TOKEN_BEDROCK` | API-ключ Amazon Bedrock для аутентификации (см. [API-ключи Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |200| `AWS_BEARER_TOKEN_BEDROCK` | API-ключ Amazon Bedrock для аутентификации (см. [API-ключи Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/)) |

201| `BASH_DEFAULT_TIMEOUT_MS` | Таймаут по умолчанию для команды инструмента Bash или PowerShell на переднем плане, в миллисекундах (по умолчанию: 120000, или 2 минуты). Значение выше [ограничения времени по умолчанию для фоновых команд](/docs/ru/tools-reference#time-limit-for-background-commands) заменяет это значение по умолчанию в автономных сессиях. Ограничение времени для фоновых команд требует Claude Code v2.1.285 или новее |201| `BASH_DEFAULT_TIMEOUT_MS` | Таймаут по умолчанию для команды инструмента Bash или PowerShell на переднем плане, в миллисекундах (по умолчанию: 120000, или 2 минуты). Значение выше [ограничения времени по умолчанию для фоновых команд](/docs/ru/tools-reference#time-limit-for-background-commands) заменяет это значение по умолчанию в автономных сессиях. Ограничение времени для фоновых команд требует Claude Code v2.1.285 или новее |

202| `BASH_MAX_OUTPUT_LENGTH` | Максимальное количество символов вывода bash, которые Claude Code считывает в результат команды (по умолчанию: 30000; максимум: 150000). Если задана настройка [`bashOutputMaxChars`](/docs/ru/settings-reference#bashoutputmaxchars), Claude Code игнорирует эту переменную. См. [Ограничения вывода](/docs/ru/tools-reference#output-limits) |202| `BASH_MAX_OUTPUT_LENGTH` | Максимальное количество символов вывода bash, которые Claude Code считывает в результат команды (по умолчанию: 30000; максимум: 150000). Если задана настройка [`bashOutputMaxChars`](/docs/ru/settings-reference#bashoutputmaxchars), Claude Code игнорирует эту переменную. См. [Ограничения вывода](/docs/ru/tools-reference#output-limits) |


230| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Удалена в v2.1.283. Используйте вместо неё `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |230| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Удалена в v2.1.283. Используйте вместо неё `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` |

231| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Задаёт [окно автосжатия](/docs/ru/model-config#set-the-auto-compact-window) в токенах, от `100000` до `1000000`. Принимает только обычное целое число, например `500000`: значение вроде `500k` читается как `500` и ограничивается минимумом в 100K. Фактическое окно также ограничено контекстным окном модели. Имеет приоритет над командой `/autocompact`, флагом `--autocompact` и настройкой `autoCompactWindow`. Значение `used_percentage` в строке состояния всегда рассчитывается относительно полного контекстного окна модели, поэтому, когда эта переменная задана, этот процент больше не показывает, когда произойдёт сжатие контекста |231| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Задаёт [окно автосжатия](/docs/ru/model-config#set-the-auto-compact-window) в токенах, от `100000` до `1000000`. Принимает только обычное целое число, например `500000`: значение вроде `500k` читается как `500` и ограничивается минимумом в 100K. Фактическое окно также ограничено контекстным окном модели. Имеет приоритет над командой `/autocompact`, флагом `--autocompact` и настройкой `autoCompactWindow`. Значение `used_percentage` в строке состояния всегда рассчитывается относительно полного контекстного окна модели, поэтому, когда эта переменная задана, этот процент больше не показывает, когда произойдёт сжатие контекста |

232| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Переопределяет автоматическое [подключение к IDE](/docs/ru/vs-code). По умолчанию Claude Code подключается автоматически при запуске во встроенном терминале поддерживаемой IDE. Установите `false`, чтобы предотвратить это. Установите `true`, чтобы принудительно попытаться подключиться, когда автоопределение не срабатывает, например когда tmux скрывает родительский терминал. Имеет приоритет над глобальной настройкой конфигурации [`autoConnectIde`](/docs/ru/settings-reference#autoconnectide) |232| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Переопределяет автоматическое [подключение к IDE](/docs/ru/vs-code). По умолчанию Claude Code подключается автоматически при запуске во встроенном терминале поддерживаемой IDE. Установите `false`, чтобы предотвратить это. Установите `true`, чтобы принудительно попытаться подключиться, когда автоопределение не срабатывает, например когда tmux скрывает родительский терминал. Имеет приоритет над глобальной настройкой конфигурации [`autoConnectIde`](/docs/ru/settings-reference#autoconnectide) |

233| `CLAUDE_CODE_AUTO_MODE_MODEL` | Задаёт модель для запросов классификатора, которые Claude Code отправляет в [авторежиме](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode). Используйте полный ID модели, например `claude-sonnet-4-6`. О случаях, когда Claude Code игнорирует эту переменную, см. [Выбор модели классификатора](/docs/ru/permission-modes#choose-the-classifier-model). Требуется Claude Code v2.1.302 или новее |

233| `CLAUDE_CODE_AUTO_MODE_SERVER` | Определяет, просит ли Claude Code сервер [проверять действия авторежима](/docs/ru/permission-modes#server-side-classifier-review). Установите `0`, чтобы вместо этого использовать собственные запросы классификатора Claude Code. При прямом подключении к Anthropic API требуется v2.1.281 или новее. В связанном разделе перечислено, какие сессии обращаются к серверу, когда переменная не задана, и начиная с какой версии. Требуется Claude Code v2.1.271 или новее |234| `CLAUDE_CODE_AUTO_MODE_SERVER` | Определяет, просит ли Claude Code сервер [проверять действия авторежима](/docs/ru/permission-modes#server-side-classifier-review). Установите `0`, чтобы вместо этого использовать собственные запросы классификатора Claude Code. При прямом подключении к Anthropic API требуется v2.1.281 или новее. В связанном разделе перечислено, какие сессии обращаются к серверу, когда переменная не задана, и начиная с какой версии. Требуется Claude Code v2.1.271 или новее |

234| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Время в миллисекундах, в течение которого Claude Code ждёт, пока цепочка поставщиков учётных данных AWS по умолчанию предоставит учётные данные, прежде чем запрос завершится ошибкой [`AWS default-chain credential resolve timed out`](/docs/ru/errors#aws-default-chain-credential-resolve-timed-out) (по умолчанию: `60000`). Увеличьте его, если какому-либо шагу вашей цепочки действительно нужно больше времени, например при входе через SSO в браузере с MFA через обёртку вроде `aws-vault`. Применяется в Amazon Bedrock, [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) и [эндпоинте Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint). См. [кэширование учётных данных и таймаут их получения](/docs/ru/amazon-bedrock#credential-caching-and-resolution-timeout). Требуется Claude Code v2.1.207 или новее |235| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Время в миллисекундах, в течение которого Claude Code ждёт, пока цепочка поставщиков учётных данных AWS по умолчанию предоставит учётные данные, прежде чем запрос завершится ошибкой [`AWS default-chain credential resolve timed out`](/docs/ru/errors#aws-default-chain-credential-resolve-timed-out) (по умолчанию: `60000`). Увеличьте его, если какому-либо шагу вашей цепочки действительно нужно больше времени, например при входе через SSO в браузере с MFA через обёртку вроде `aws-vault`. Применяется в Amazon Bedrock, [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) и [эндпоинте Mantle](/docs/ru/amazon-bedrock#use-the-mantle-endpoint). См. [кэширование учётных данных и таймаут их получения](/docs/ru/amazon-bedrock#credential-caching-and-resolution-timeout). Требуется Claude Code v2.1.207 или новее |

235| `CLAUDE_CODE_BASH_EDIT_DIFF` | Установите `0`, чтобы отключить [diff файлов, изменившихся во время выполнения команды Bash](/docs/ru/hooks#bash), или `1`, чтобы записывать его в любом режиме разрешений. Имеет приоритет над настройкой [`bashEditDiffEnabled`](/docs/ru/settings-reference#basheditdiffenabled). Требуется Claude Code v2.1.269 или новее |236| `CLAUDE_CODE_BASH_EDIT_DIFF` | Установите `0`, чтобы отключить [diff файлов, изменившихся во время выполнения команды Bash](/docs/ru/hooks#bash), или `1`, чтобы записывать его в любом режиме разрешений. Имеет приоритет над настройкой [`bashEditDiffEnabled`](/docs/ru/settings-reference#basheditdiffenabled). Требуется Claude Code v2.1.269 или новее |


241| `CLAUDE_CODE_CLIENT_CERT` | Путь к файлу клиентского сертификата для аутентификации mTLS |242| `CLAUDE_CODE_CLIENT_CERT` | Путь к файлу клиентского сертификата для аутентификации mTLS |

242| `CLAUDE_CODE_CLIENT_KEY` | Путь к файлу закрытого ключа клиента для аутентификации mTLS |243| `CLAUDE_CODE_CLIENT_KEY` | Путь к файлу закрытого ключа клиента для аутентификации mTLS |

243| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Парольная фраза для зашифрованного CLAUDE\_CODE\_CLIENT\_KEY (необязательно) |244| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Парольная фраза для зашифрованного CLAUDE\_CODE\_CLIENT\_KEY (необязательно) |

244| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Удалена в v2.1.186 и теперь ни на что не влияет. Ранее задавала отдельный таймаут для фазы подключения, TLS и заголовков ответа потокового запроса API. Для таймаута отдельного запроса используйте `API_TIMEOUT_MS`. Для фазы заголовков ответа потокового запроса см. `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |245| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Удалена в v2.1.186 и теперь ни на что не влияет. Ранее задавала отдельный таймаут для фазы подключения, TLS и получения заголовков ответа потокового запроса API. Используйте вместо неё `API_TIMEOUT_MS`. Для фазы получения заголовков ответа потокового запроса см. `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

245| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Переопределяет путь к файлу отладочного лога. Несмотря на название, это путь к файлу, а не к каталогу. Требует отдельного включения режима отладки через `--debug`, `/debug` или переменную окружения `DEBUG`: сама по себе эта переменная логирование не включает. Флаг [`--debug-file`](/docs/ru/cli-reference#cli-flags) делает и то, и другое сразу. По умолчанию `~/.claude/debug/<session-id>.txt` |246| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Переопределяет путь к файлу отладочного лога. Несмотря на название, это путь к файлу, а не к каталогу. Требует отдельного включения режима отладки через `--debug`, `/debug` или переменную окружения `DEBUG`: сама по себе эта переменная логирование не включает. Флаг [`--debug-file`](/docs/ru/cli-reference#cli-flags) делает и то, и другое сразу. По умолчанию `~/.claude/debug/<session-id>.txt` |

246| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Минимальный уровень логирования, записываемый в файл отладочного лога. Значения: `verbose`, `debug` (по умолчанию), `info`, `warn`, `error`. Установите `verbose`, чтобы включить объёмную диагностику, например полный вывод команды строки состояния, или повысьте до `error`, чтобы уменьшить шум |247| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Минимальный уровень логирования, записываемый в файл отладочного лога. Значения: `verbose`, `debug` (по умолчанию), `info`, `warn`, `error`. Установите `verbose`, чтобы включить объёмную диагностику, например полный вывод команды строки состояния, или повысьте до `error`, чтобы уменьшить шум |

247| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Установите `1`, чтобы отключить поддержку [контекстного окна 1M](/docs/ru/model-config#extended-context). Claude Code удаляет варианты моделей `[1m]` из селектора моделей и ограничивает модели, которые по умолчанию работают с окном 1M, окном 200K. См. [Отключение контекста 1M](/docs/ru/model-config#turn-off-1m-context). Полезно в корпоративных средах с требованиями соответствия. О её роли в корректировке окна для нераспознанного ID модели `[1m]` см. [Корректировка окна для ID модели шлюза или пользовательской модели](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |248| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Установите `1`, чтобы отключить поддержку [контекстного окна 1M](/docs/ru/model-config#extended-context). Claude Code удаляет варианты моделей `[1m]` из селектора моделей и ограничивает модели, которые по умолчанию работают с окном 1M, окном 200K. См. [Отключение контекста 1M](/docs/ru/model-config#turn-off-1m-context). Полезно в корпоративных средах с требованиями соответствия. О её роли в корректировке окна для нераспознанного ID модели `[1m]` см. [Корректировка окна для ID модели шлюза или пользовательской модели](/docs/ru/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |


304| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Управляет тем, передаются ли входные данные вызовов инструментов потоком из API по мере их генерации Claude. Если это отключено, большие входные данные инструмента, например длинная запись в файл, поступают только после того, как Claude закончит их генерировать, из-за чего может казаться, что процесс завис. По умолчанию включено в Anthropic API. В Amazon Bedrock и Google Cloud's Agent Platform включается для каждой модели отдельно, если развёрнутый контейнер это поддерживает. Установите `0`, чтобы отказаться. Установите `1`, чтобы принудительно включить при маршрутизации через прокси с помощью `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` или `ANTHROPIC_BEDROCK_BASE_URL`. По умолчанию отключено в Microsoft Foundry и при подключениях через [шлюз](/docs/ru/llm-gateway) |305| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Управляет тем, передаются ли входные данные вызовов инструментов потоком из API по мере их генерации Claude. Если это отключено, большие входные данные инструмента, например длинная запись в файл, поступают только после того, как Claude закончит их генерировать, из-за чего может казаться, что процесс завис. По умолчанию включено в Anthropic API. В Amazon Bedrock и Google Cloud's Agent Platform включается для каждой модели отдельно, если развёрнутый контейнер это поддерживает. Установите `0`, чтобы отказаться. Установите `1`, чтобы принудительно включить при маршрутизации через прокси с помощью `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` или `ANTHROPIC_BEDROCK_BASE_URL`. По умолчанию отключено в Microsoft Foundry и при подключениях через [шлюз](/docs/ru/llm-gateway) |

305| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Установите `1`, чтобы заполнять список выбора `/model` из эндпоинта `/v1/models` вашего шлюза, когда `ANTHROPIC_BASE_URL` указывает на Anthropic-совместимый шлюз, такой как LiteLLM, Kong или внутренний прокси. По умолчанию отключено, поскольку иначе шлюзы, использующие общий API-ключ, показывали бы каждому пользователю все модели, к которым у ключа есть доступ. Обнаруженные модели по-прежнему фильтруются списком разрешённых моделей [`availableModels`](/docs/ru/settings-reference#availablemodels), который получает сессия; доставляйте этот список через [MDM или файл управляемых настроек](/docs/ru/managed-settings#delivery-mechanisms), поскольку [доставка с сервера недоступна в конфигурациях со шлюзом](/docs/ru/server-managed-settings#platform-availability) |306| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Установите `1`, чтобы заполнять список выбора `/model` из эндпоинта `/v1/models` вашего шлюза, когда `ANTHROPIC_BASE_URL` указывает на Anthropic-совместимый шлюз, такой как LiteLLM, Kong или внутренний прокси. По умолчанию отключено, поскольку иначе шлюзы, использующие общий API-ключ, показывали бы каждому пользователю все модели, к которым у ключа есть доступ. Обнаруженные модели по-прежнему фильтруются списком разрешённых моделей [`availableModels`](/docs/ru/settings-reference#availablemodels), который получает сессия; доставляйте этот список через [MDM или файл управляемых настроек](/docs/ru/managed-settings#delivery-mechanisms), поскольку [доставка с сервера недоступна в конфигурациях со шлюзом](/docs/ru/server-managed-settings#platform-availability) |

306| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Удалена в v2.1.142, когда [быстрый режим](/docs/ru/fast-mode) по умолчанию перешёл с Opus 4.6 на Opus 4.7 |307| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Удалена в v2.1.142, когда [быстрый режим](/docs/ru/fast-mode) по умолчанию перешёл с Opus 4.6 на Opus 4.7 |

307| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Установите `false`, чтобы отключить предложения промптов — серые прогнозы, которые появляются в поле ввода промпта. Имеет приоритет над настройкой [`promptSuggestionEnabled`](/docs/ru/settings-reference#promptsuggestionenabled), которую записывает переключатель **Prompt suggestions** в `/config`. Claude Code также [приостанавливает предложения, когда ваша учётная запись близка к лимиту использования или достигла его](/docs/ru/interactive-mode#when-claude-code-skips-suggestions). Установите `true`, чтобы они оставались включёнными до достижения лимита. Требуется Claude Code v2.1.238 или новее. См. [Предложения промптов](/docs/ru/interactive-mode#prompt-suggestions) |308| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Установите значение `false`, чтобы отключить подсказки промптов — серые предсказания, которые появляются в поле ввода промпта. Имеет приоритет над настройкой [`promptSuggestionEnabled`](/docs/ru/settings-reference#promptsuggestionenabled), которую записывает переключатель **Prompt suggestions** в `/config`. Claude Code также [приостанавливает подсказки, когда ваша учётная запись близка к лимиту использования или достигла его](/docs/ru/interactive-mode#when-claude-code-skips-suggestions). Установите значение `true`, чтобы эта приостановка не применялась до достижения лимита. Требуется Claude Code v2.1.238 или новее. См. [Подсказки промптов](/docs/ru/interactive-mode#prompt-suggestions) |

308| `CLAUDE_CODE_ENABLE_TASKS` | Определяет, какие инструменты отслеживания задач Claude Code предоставляет в [сессиях, где они доступны](/docs/ru/tools-reference#task-tool-availability). По умолчанию Claude Code предоставляет инструменты Task `TaskCreate`, `TaskUpdate`, `TaskGet` и `TaskList`. Установите `0`, чтобы вместо них получить устаревший инструмент `TodoWrite`. См. [Список задач](/docs/ru/interactive-mode#task-list) |309| `CLAUDE_CODE_ENABLE_TASKS` | Определяет, какие инструменты отслеживания задач Claude Code предоставляет в [сессиях, где они доступны](/docs/ru/tools-reference#task-tool-availability). По умолчанию Claude Code предоставляет инструменты Task `TaskCreate`, `TaskUpdate`, `TaskGet` и `TaskList`. Установите `0`, чтобы вместо них получить устаревший инструмент `TodoWrite`. См. [Список задач](/docs/ru/interactive-mode#task-list) |

309| `CLAUDE_CODE_ENABLE_TELEMETRY` | Установите `1`, чтобы включить сбор данных OpenTelemetry для метрик и логирования. Требуется перед настройкой экспортёров OTel. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). См. [Мониторинг](/docs/ru/monitoring-usage) |310| `CLAUDE_CODE_ENABLE_TELEMETRY` | Установите `1`, чтобы включить сбор данных OpenTelemetry для метрик и логирования. Требуется перед настройкой экспортёров OTel. Задайте её в оболочке, пользовательских настройках или управляемых настройках. Игнорируется в [настройках проекта и локальных настройках](/docs/ru/settings-reference#variables-claude-code-ignores-in-env). См. [Мониторинг](/docs/ru/monitoring-usage) |

310| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Установите `1`, чтобы получить инструменты отслеживания задач на любой модели. Без неё Claude Code по умолчанию предоставляет их только на моделях, перечисленных в разделе [Доступность инструмента Task](/docs/ru/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` по-прежнему выбирает между инструментами Task и `TodoWrite`. Требуется Claude Code v2.1.233 или новее |311| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Установите `1`, чтобы получить инструменты отслеживания задач на любой модели. Без неё Claude Code по умолчанию предоставляет их только на моделях, перечисленных в разделе [Доступность инструмента Task](/docs/ru/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` по-прежнему выбирает между инструментами Task и `TodoWrite`. Требуется Claude Code v2.1.233 или новее |


316| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Установите `1`, чтобы принудительно отображать `~~text~~` в ответах Claude зачёркнутым, когда ваш терминал это поддерживает, но не определяется автоматически, например при работе по SSH без пересылки `TERM_PROGRAM`. Без этого неопределённые терминалы показывают буквальные маркеры `~~` вместо зачёркнутого текста. Требуется Claude Code v2.1.186 или новее |317| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Установите `1`, чтобы принудительно отображать `~~text~~` в ответах Claude зачёркнутым, когда ваш терминал это поддерживает, но не определяется автоматически, например при работе по SSH без пересылки `TERM_PROGRAM`. Без этого неопределённые терминалы показывают буквальные маркеры `~~` вместо зачёркнутого текста. Требуется Claude Code v2.1.186 или новее |

317| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Установите `1`, чтобы принудительно включить [синхронизированный вывод](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) DEC private mode 2026, когда ваш терминал его поддерживает, но не определяется автоматически. Полезно для эмуляторов, таких как Emacs `eat`, которые реализуют BSU/ESU, но не отвечают на проверку возможностей. Не действует под tmux. В отличие от `CLAUDE_CODE_NO_FLICKER`, которая переключает на [полноэкранный рендеринг](/docs/ru/fullscreen), эта переменная не меняет рендерер |318| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Установите `1`, чтобы принудительно включить [синхронизированный вывод](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) DEC private mode 2026, когда ваш терминал его поддерживает, но не определяется автоматически. Полезно для эмуляторов, таких как Emacs `eat`, которые реализуют BSU/ESU, но не отвечают на проверку возможностей. Не действует под tmux. В отличие от `CLAUDE_CODE_NO_FLICKER`, которая переключает на [полноэкранный рендеринг](/docs/ru/fullscreen), эта переменная не меняет рендерер |

318| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Установите `1`, чтобы отображать [элементы `Image` модов](/docs/ru/plugins/mods/reference#elements) как изображения, когда ваш терминал отображает изображения протокола kitty graphics с заполнителями Unicode, но не определяется автоматически. См. [какие терминалы определяет Claude Code](/docs/ru/plugins/mods/gallery#image-and-client) и почему это не помогает внутри tmux или screen |319| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Установите `1`, чтобы отображать [элементы `Image` модов](/docs/ru/plugins/mods/reference#elements) как изображения, когда ваш терминал отображает изображения протокола kitty graphics с заполнителями Unicode, но не определяется автоматически. См. [какие терминалы определяет Claude Code](/docs/ru/plugins/mods/gallery#image-and-client) и почему это не помогает внутри tmux или screen |

319| `CLAUDE_CODE_FORK_SUBAGENT` | Управляет [режимом ответвления](/docs/ru/sub-agents#turn-fork-mode-on-or-off), который позволяет Claude самостоятельно запускать [ответвлённых субагентов](/docs/ru/sub-agents#fork-the-current-conversation) и по умолчанию включён только в интерактивных сессиях. Установите `1`, чтобы включить его также в `claude -p` и Agent SDK, или `0`, чтобы отключить во всех видах сессий. Вы можете запускать `/subtask` независимо от того, включён ли режим ответвления. Значение по умолчанию для интерактивных сессий требует Claude Code v2.1.232 или новее; в более ранних версиях установите переменную в `1`, чтобы включить режим ответвления |320| `CLAUDE_CODE_FORK_SUBAGENT` | Управляет режимом форков, который включён по умолчанию и позволяет Claude самостоятельно запускать [форки](/docs/ru/sub-agents#fork-the-current-conversation). Пока режим форков включён, Claude также не может [ожидать субагента](/docs/ru/sub-agents#run-subagents-in-foreground-or-background) в интерактивных сессиях терминала, VS Code или десктопного приложения на вашем компьютере. Установите значение `0`, чтобы отключить режим форков. О версиях см. [Отключение режима форков](/docs/ru/sub-agents#turn-fork-mode-on-or-off) |

320| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Установите `1`, чтобы выводить текст и блоки размышлений [субагентов](/docs/ru/sub-agents) в выводе `claude -p --output-format stream-json` — то же поведение, что и у флага [`--forward-subagent-text`](/docs/ru/cli-reference#cli-flags). Используйте переменную, когда `claude` вызывается обвязкой, которая не может сама передать флаг. В отличие от флага, который завершается с ошибкой вне неинтерактивного режима с выводом stream-json, переменная в таких случаях игнорируется, чтобы вложенные вызовы продолжали работать, когда она задана для всего процесса. Требуется Claude Code v2.1.211 или новее |321| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Установите `1`, чтобы выводить текст и блоки размышлений [субагентов](/docs/ru/sub-agents) в выводе `claude -p --output-format stream-json` — то же поведение, что и у флага [`--forward-subagent-text`](/docs/ru/cli-reference#cli-flags). Используйте переменную, когда `claude` вызывается обвязкой, которая не может сама передать флаг. В отличие от флага, который завершается с ошибкой вне неинтерактивного режима с выводом stream-json, переменная в таких случаях игнорируется, чтобы вложенные вызовы продолжали работать, когда она задана для всего процесса. Требуется Claude Code v2.1.211 или новее |

321| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Установите `1`, чтобы отправлять [заголовки-подсказки для шлюза](/docs/ru/llm-gateway-protocol#gateway-hint-headers), такие как `x-claude-code-request-class` и `x-claude-code-compaction`, через пользовательский прокси или стороннего провайдера, такого как Amazon Bedrock или Claude Platform on AWS. Установите `0`, чтобы прекратить их отправку при любом подключении, включая прямое подключение к Anthropic API, где Claude Code отправляет их по умолчанию. Требуется Claude Code v2.1.273 или новее |322| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Установите `1`, чтобы отправлять [заголовки-подсказки для шлюза](/docs/ru/llm-gateway-protocol#gateway-hint-headers), такие как `x-claude-code-request-class` и `x-claude-code-compaction`, через пользовательский прокси или стороннего провайдера, такого как Amazon Bedrock или Claude Platform on AWS. Установите `0`, чтобы прекратить их отправку при любом подключении, включая прямое подключение к Anthropic API, где Claude Code отправляет их по умолчанию. Требуется Claude Code v2.1.273 или новее |

322| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Таймаут в миллисекундах для запроса [обнаружения моделей шлюза](/docs/ru/llm-gateway-protocol#model-discovery), который включает `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` (по умолчанию: `3000`). Увеличьте его, если вашему шлюзу требуется больше трёх секунд, чтобы ответить на `/v1/models` при запуске. Принимаются только цифры; `0`, отрицательные значения и другие варианты записи оставляют значение по умолчанию. Требуется Claude Code v2.1.269 или новее |323| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | Таймаут в миллисекундах для запроса [обнаружения моделей шлюза](/docs/ru/llm-gateway-protocol#model-discovery), который включает `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` (по умолчанию: `3000`). Увеличьте его, если вашему шлюзу требуется больше трёх секунд, чтобы ответить на `/v1/models` при запуске. Принимаются только цифры; `0`, отрицательные значения и другие варианты записи оставляют значение по умолчанию. Требуется Claude Code v2.1.269 или новее |


340| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Количество [уровней субагентов](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents), разрешённых ниже основного диалога (по умолчанию: 3). При значении по умолчанию субагенты могут запускать собственных субагентов, а субагент на третьем уровне уже не может запускать дальше; установите `1`, чтобы отключить вложенность. В версиях с v2.1.217 по v2.1.218 значение по умолчанию было 1, поэтому субагент не мог запускать собственных, если вы не повышали ограничение; в v2.1.219 значение по умолчанию повышено до 3. Принимает положительное целое число, записанное цифрами; всё остальное игнорируется, поэтому ограничение можно изменить, но не снять. Требуется Claude Code v2.1.217 или новее |341| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Количество [уровней субагентов](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents), разрешённых ниже основного диалога (по умолчанию: 3). При значении по умолчанию субагенты могут запускать собственных субагентов, а субагент на третьем уровне уже не может запускать дальше; установите `1`, чтобы отключить вложенность. В версиях с v2.1.217 по v2.1.218 значение по умолчанию было 1, поэтому субагент не мог запускать собственных, если вы не повышали ограничение; в v2.1.219 значение по умолчанию повышено до 3. Принимает положительное целое число, записанное цифрами; всё остальное игнорируется, поэтому ограничение можно изменить, но не снять. Требуется Claude Code v2.1.217 или новее |

341| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Максимальное количество инструментов только для чтения и субагентов, которые могут выполняться параллельно (по умолчанию: 10). Более высокие значения увеличивают параллелизм, но потребляют больше ресурсов |342| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Максимальное количество инструментов только для чтения и субагентов, которые могут выполняться параллельно (по умолчанию: 10). Более высокие значения увеличивают параллелизм, но потребляют больше ресурсов |

342| `CLAUDE_CODE_MAX_TURNS` | Ограничивает количество агентных ходов, когда явное ограничение не передано. Эквивалентно передаче [`--max-turns`](/docs/ru/cli-reference#cli-flags), который имеет приоритет, если заданы оба. Значение, не являющееся положительным целым числом, отклоняется при запуске с ошибкой, а не трактуется как отсутствие ограничения |343| `CLAUDE_CODE_MAX_TURNS` | Ограничивает количество агентных ходов, когда явное ограничение не передано. Эквивалентно передаче [`--max-turns`](/docs/ru/cli-reference#cli-flags), который имеет приоритет, если заданы оба. Значение, не являющееся положительным целым числом, отклоняется при запуске с ошибкой, а не трактуется как отсутствие ограничения |

343| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Ограничение на количество вызовов [WebSearch](/docs/ru/tools-reference#session-search-limit) (по умолчанию: 200). Когда Claude достигает ограничения, последующие вызовы WebSearch возвращают уведомление, предлагающее продолжить с уже собранной информацией. Принимает положительное целое число без верхней границы. Всё остальное игнорируется, и применяется значение по умолчанию, поэтому ограничение можно повысить, но не отключить. Требуется Claude Code v2.1.212 или новее |344| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Ограничение на количество вызовов [WebSearch](/docs/ru/tools-reference#session-search-limit) (по умолчанию: 200). Когда Claude достигает ограничения, последующие вызовы WebSearch возвращают уведомление с указанием продолжить работу с уже собранной информацией и сообщить об этом в ответе. Принимает положительное целое число без верхней границы. Всё остальное игнорируется, и применяется значение по умолчанию, поэтому ограничение можно повысить, но не отключить. Требуется Claude Code v2.1.212 или новее |

344| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Установите `1`, чтобы запускать stdio MCP-серверы только с безопасным базовым окружением и настроенным для сервера `env`, вместо наследования окружения вашей оболочки |345| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Установите `1`, чтобы запускать stdio MCP-серверы только с безопасным базовым окружением и настроенным для сервера `env`, вместо наследования окружения вашей оболочки |

345| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Время в миллисекундах, по истечении которого всё ещё выполняющийся вызов инструмента MCP [переводится в фоновую задачу](/docs/ru/mcp#automatic-backgrounding-of-long-tool-calls) (по умолчанию: 120000, или 2 минуты). Установите `0`, чтобы отключить автоматический перевод в фон. Требуется Claude Code v2.1.212 или новее |346| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | Время в миллисекундах, по истечении которого всё ещё выполняющийся вызов инструмента MCP [переводится в фоновую задачу](/docs/ru/mcp#automatic-backgrounding-of-long-tool-calls) (по умолчанию: 120000, или 2 минуты). Установите `0`, чтобы отключить автоматический перевод в фон. Требуется Claude Code v2.1.212 или новее |

346| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Сколько миллисекунд первый ход [неинтерактивной](/docs/ru/headless) сессии ожидает MCP-серверы, которые ещё подключаются, вместо [ожидания на первом ходе](/docs/ru/agent-sdk/mcp#connection-timing) по умолчанию. Если переменная задана, ожидание охватывает все ожидающие серверы; в [самостоятельно размещённом окружении](/docs/ru/self-hosted-environments-configuration#connection-timing) она меняет только продолжительность ожидания. Установите `0`, чтобы пропустить ожидание. Сервер [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) сохраняет собственное ожидание `MCP_TIMEOUT` независимо от значения. Требуется Claude Code v2.1.274 или новее |347| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Сколько миллисекунд первый ход [неинтерактивной](/docs/ru/headless) сессии ожидает MCP-серверы, которые ещё подключаются, вместо [ожидания на первом ходе](/docs/ru/agent-sdk/mcp#connection-timing) по умолчанию. Если переменная задана, ожидание охватывает все ожидающие серверы; в [самостоятельно размещённом окружении](/docs/ru/self-hosted-environments-configuration#connection-timing) она меняет только продолжительность ожидания. Установите `0`, чтобы пропустить ожидание. Сервер [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) сохраняет собственное ожидание `MCP_TIMEOUT` независимо от значения. Требуется Claude Code v2.1.274 или новее |


599* Запустить [`/skill-doctor`](/docs/ru/skills#find-unused-skills) или открыть его отчёт на вкладке **Stats** в `/plugin`600* Запустить [`/skill-doctor`](/docs/ru/skills#find-unused-skills) или открыть его отчёт на вкладке **Stats** в `/plugin`

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

601* Включить [мод You should know](/docs/ru/interactive-mode#you-should-know-suggestions)602* Включить [мод You should know](/docs/ru/interactive-mode#you-should-know-suggestions)

602* Видеть, что [мод](/docs/ru/plugins/mods/overview#where-mods-run) отображает в панели чата расширения VS Code; хуки мода при этом по-прежнему выполняются

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

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

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


613 Первая сессия после установки или обновления613 Первая сессия после установки или обновления

614</h3>614</h3>

615 615 

616В вашей первой сессии после установки Claude Code или обновления до версии, в которой добавлена функция, [функция, зависящая от флага](#features-that-need-feature-flag-fetching), может отсутствовать. Эта сессия также может начаться в другом [режиме разрешений](/docs/ru/permission-modes#which-mode-a-session-starts-in), чем ваши последующие сессии. Когда Claude Code загружает флаги во время этой сессии, он сохраняет их на машине, поэтому в вашей следующей сессии на этой машине функция будет доступна, а сессия начнётся в обычном режиме разрешений.616В вашей первой сессии после установки Claude Code или обновления до версии, в которой добавлена функция, [функция, зависящая от флага](#features-that-need-feature-flag-fetching), может отсутствовать. Когда Claude Code загружает свои флаги функций во время этой сессии, он сохраняет их на машине, поэтому в вашей следующей сессии на этой машине функция будет доступна.

617 

618После новой установки в неинтерактивной сессии, например `claude -p`, Agent SDK или расширении VS Code, Claude Code может получить флаги до того, как [выберет начальный режим разрешений](/docs/ru/permission-modes#which-mode-a-session-starts-in), но он не всегда их дожидается.

619 617 

620В таких конфигурациях, как описанные ниже, сессии после первой тоже начинаются без только что загруженных флагов:618В таких конфигурациях, как описанные ниже, сессии после первой тоже начинаются без только что загруженных флагов:

621 619 

622* **Чистое окружение при каждом запуске**: если каждый запуск начинается в CI-контейнере или любом другом окружении без флагов, сохранённых предыдущей сессией, каждый запуск является первой сессией620* **Чистое окружение при каждом запуске**: если каждый запуск начинается в CI-контейнере или любом другом окружении без флагов, сохранённых предыдущей сессией, каждый запуск является первой сессией

623* **Токен шлюза без API-ключа**: если вы аутентифицируетесь с помощью `ANTHROPIC_AUTH_TOKEN` без API-ключа, а `ANTHROPIC_BASE_URL` указывает на хост, отличный от хоста Anthropic, например на [LLM-шлюз](/docs/ru/llm-gateway), у Claude Code нет учётных данных для загрузки флагов621* **Токен шлюза без API-ключа**: если вы аутентифицируетесь с помощью `ANTHROPIC_AUTH_TOKEN` без API-ключа, а `ANTHROPIC_BASE_URL` указывает на хост, отличный от хоста Anthropic, например на [LLM-шлюз](/docs/ru/llm-gateway), у Claude Code нет учётных данных для загрузки флагов

624 622 

625Чтобы выбрать режим разрешений, в котором начинаются сессии в таких конфигурациях, см. [Запуск в другом режиме разрешений](/docs/ru/permission-modes#start-in-a-different-mode).

626 

627<h2 id="see-also">623<h2 id="see-also">

628 См. также624 См. также

629</h2>625</h2>

errors.md +33 −6

Details

41| `Auto mode classifier transcript exceeded context window` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |41| `Auto mode classifier transcript exceeded context window` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |

42| `Agent aborted: auto mode classifier request refused by the safety safeguard` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |42| `Agent aborted: auto mode classifier request refused by the safety safeguard` | [Server errors](#auto-mode-cannot-determine-the-safety-of-an-action) |

43| `The server-side auto mode classifier gave no verdict` | [Server errors](#the-server-returned-no-safety-verdict) |43| `The server-side auto mode classifier gave no verdict` | [Server errors](#the-server-returned-no-safety-verdict) |

44| `<tool> was not reviewed and did not run: the conversation is too long for auto mode's classifier` | [Server errors](#was-not-reviewed-and-did-not-run) |

44| `Auto mode is unavailable — the server returned no safety verdict for the last 10 responses` | [Server errors](#the-server-returned-no-safety-verdict) |45| `Auto mode is unavailable — the server returned no safety verdict for the last 10 responses` | [Server errors](#the-server-returned-no-safety-verdict) |

45| `Agent terminated early due to an API error` | [Server errors](#agent-terminated-early-due-to-an-api-error) |46| `Agent terminated early due to an API error` | [Server errors](#agent-terminated-early-due-to-an-api-error) |

46| `You've hit your session limit` / `You've hit your weekly limit` / `You've hit your Opus limit` / `You've hit your Sonnet limit` | [Usage limits](#youve-hit-your-session-limit) |47| `You've hit your session limit` / `You've hit your weekly limit` / `You've hit your Opus limit` / `You've hit your Sonnet limit` | [Usage limits](#youve-hit-your-session-limit) |


471| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/ru/env-vars) | не установлено | Максимальное время в миллисекундах, которое каждый запрос к API тратит на ожидание при ошибках `429` и `529`, когда установлена `CLAUDE_CODE_RETRY_WATCHDOG`. Если переменная не установлена, время ожидания не ограничено. Требуется Claude Code v2.1.295 или позже. |472| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/ru/env-vars) | не установлено | Максимальное время в миллисекундах, которое каждый запрос к API тратит на ожидание при ошибках `429` и `529`, когда установлена `CLAUDE_CODE_RETRY_WATCHDOG`. Если переменная не установлена, время ожидания не ограничено. Требуется Claude Code v2.1.295 или позже. |

472| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/ru/env-vars) | 500 | Начальная задержка в миллисекундах для экспоненциальной задержки между повторными попытками запроса, который API отклоняет с ошибкой перегрузки `529`. Увеличьте её, вплоть до 32000, чтобы распределить повторные попытки на более длительный период, когда API работает на пределе пропускной способности. Не действует, если `CLAUDE_CODE_RETRY_WATCHDOG` установлена в `1` или если отклонённый запрос был отправлен в [быстром режиме](/docs/ru/fast-mode#handle-rate-limits). Требуется Claude Code v2.1.292 или позже. |473| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/ru/env-vars) | 500 | Начальная задержка в миллисекундах для экспоненциальной задержки между повторными попытками запроса, который API отклоняет с ошибкой перегрузки `529`. Увеличьте её, вплоть до 32000, чтобы распределить повторные попытки на более длительный период, когда API работает на пределе пропускной способности. Не действует, если `CLAUDE_CODE_RETRY_WATCHDOG` установлена в `1` или если отклонённый запрос был отправлен в [быстром режиме](/docs/ru/fast-mode#handle-rate-limits). Требуется Claude Code v2.1.292 или позже. |

473| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/ru/env-vars) | 32000 | Верхний предел в миллисекундах для экспоненциальной задержки между повторными попытками запроса, который API отклоняет с ошибкой перегрузки `529`. Увеличьте его, вплоть до 64000, чтобы последующие повторные попытки продолжали всё сильнее разноситься во времени, когда API работает на пределе пропускной способности. Не действует, если `CLAUDE_CODE_RETRY_WATCHDOG` установлена в `1` или если отклонённый запрос был отправлен в [быстром режиме](/docs/ru/fast-mode#handle-rate-limits). Требуется Claude Code v2.1.296 или позже. |474| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/ru/env-vars) | 32000 | Верхний предел в миллисекундах для экспоненциальной задержки между повторными попытками запроса, который API отклоняет с ошибкой перегрузки `529`. Увеличьте его, вплоть до 64000, чтобы последующие повторные попытки продолжали всё сильнее разноситься во времени, когда API работает на пределе пропускной способности. Не действует, если `CLAUDE_CODE_RETRY_WATCHDOG` установлена в `1` или если отклонённый запрос был отправлен в [быстром режиме](/docs/ru/fast-mode#handle-rate-limits). Требуется Claude Code v2.1.296 или позже. |

474| [`API_TIMEOUT_MS`](/docs/ru/env-vars) | 600000 | Таймаут для каждого запроса в миллисекундах. Повысьте его для медленных сетей или прокси. Он также ограничивает, как долго Claude Code ждёт заголовков ответа, как описано в [No response from API](#no-response-from-api). |475| [`API_TIMEOUT_MS`](/docs/ru/env-vars) | 600000 | Время в миллисекундах, за которое каждая попытка запроса должна получить заголовки ответа. Оно не ограничивает, как долго после этого длится потоковый ответ. Повысьте его для медленных сетей или прокси. О том, как оно ограничивает дедлайн первого байта, см. [No response from API](#no-response-from-api). |

475| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/ru/env-vars) | не установлено | Лимит повторных отправок [непотокового запроса](#streaming-response-ended-before-any-complete-data-was-received), который завершается по таймауту. При достижении лимита запрос завершается с ошибкой. Ответ Claude, генерация которого занимает больше времени, чем таймаут, снова завершается по таймауту при каждой повторной отправке, поэтому установите небольшое число, например `0`, чтобы получить ошибку быстрее. Каждая непотоковая попытка завершается по таймауту через 300 секунд в локальной сессии или через `API_TIMEOUT_MS`, если вы задали положительное значение. Требуется Claude Code v2.1.285 или позже. |476| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/ru/env-vars) | не установлено | Лимит повторных отправок [непотокового запроса](#streaming-response-ended-before-any-complete-data-was-received), который завершается по таймауту. При достижении лимита запрос завершается с ошибкой. Ответ Claude, генерация которого занимает больше времени, чем таймаут, снова завершается по таймауту при каждой повторной отправке, поэтому установите небольшое число, например `0`, чтобы получить ошибку быстрее. Каждая непотоковая попытка завершается по таймауту через 300 секунд в локальной сессии или через `API_TIMEOUT_MS`, если вы задали положительное значение. Требуется Claude Code v2.1.285 или позже. |

476| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/ru/env-vars) | не установлено | Дедлайн в миллисекундах для первого байта ответа потокового запроса. Требуется Claude Code v2.1.242 или позже. О том, как Claude Code выбирает дедлайн, когда эта переменная не установлена, см. [No response from API](#no-response-from-api). |477| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/ru/env-vars) | не установлено | Дедлайн в миллисекундах для первого байта ответа потокового запроса. Требуется Claude Code v2.1.242 или позже. О том, как Claude Code выбирает дедлайн, когда эта переменная не установлена, см. [No response from API](#no-response-from-api). |

477 478 


535Request timed out536Request timed out

536```537```

537 538 

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

539 540 

540**Что делать:**541**Что делать:**

541 542 


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

628```629```

629 630 

630В интерактивной сессии вместо этого сообщения под вызовом инструмента появляется приглушенная строка `Not run · auto mode's check had no usable answer`. Нажмите `Ctrl+O`, чтобы прочитать сообщение в [средстве просмотра транскрипта](/docs/ru/interactive-mode#transcript-viewer). Отказы, описанные в разделе [The server returned no safety verdict](#the-server-returned-no-safety-verdict), показывают ту же строку. До v2.1.296 сообщение появлялось под вызовом как красная ошибка.631В интерактивной сессии вместо этого сообщения под вызовом инструмента появляется приглушенная строка `Not run · auto mode's check had no usable answer`. Нажмите `Ctrl+O`, чтобы прочитать сообщение в [средстве просмотра транскрипта](/docs/ru/interactive-mode#transcript-viewer). Отказы `gave no verdict`, описанные в разделе [The server returned no safety verdict](#the-server-returned-no-safety-verdict), показывают ту же строку. До v2.1.296 сообщение появлялось под вызовом как красная ошибка.

631 632 

632Когда 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`.633Когда 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`.

633 634 


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

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

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

642* Если сообщение появляется при каждой повторной попытке и указывает модель, которую вы задали в [`CLAUDE_CODE_AUTO_MODE_MODEL`](/docs/ru/permission-modes#choose-the-classifier-model), проверьте, обслуживает ли API или облачный поставщик, на котором работает ваша сессия, этот ID модели. Если нет, задайте в переменной ID модели, которую он обслуживает, или удалите переменную, чтобы использовать [модель классификатора по умолчанию](/docs/ru/permission-modes#default-classifier-model).

641 643 

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

643 645 


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

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

674 676 

675Когда диалог превысил размер контекстного окна классификатора:677Когда диалог слишком длинный для запроса Claude Code к классификатору и Claude Code не может [сжать его самостоятельно](#was-not-reviewed-and-did-not-run):

676 678 

677```text theme={null}679```text theme={null}

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


715 717 

716**Что делать:**718**Что делать:**

717 719 

720* В интерактивной сессии нажмите `Ctrl+O`, чтобы прочитать текст отказа в [средстве просмотра транскрипта](/docs/ru/interactive-mode#transcript-viewer).

721* Если отказ указывает `(the conversation is too long for the check)`, запустите `/compact` в промпте Claude Code, чтобы сократить диалог. Пока диалог не станет короче, отправка нового сообщения будет приводить к тому же отказу. Если вы отключили [автосжатие](/docs/ru/settings-reference#autocompactenabled), включите его снова, чтобы в следующий раз Claude Code выполнял сжатие самостоятельно.

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

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

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


722 726 

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

724 728 

729До v2.1.302 при прямом подключении к Anthropic API Claude Code не сжимал диалог, который стал слишком длинным для проверки на стороне сервера.

730 

731<h3 id="was-not-reviewed-and-did-not-run">

732 Was not reviewed and did not run

733</h3>

734 

735Отказ `was not reviewed and did not run` означает, что диалог слишком длинный, чтобы классификатор [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) мог проверить действие, поэтому действие не было выполнено. Claude Code возвращает Claude это сообщение:

736 

737```text theme={null}

738<tool> was not reviewed and did not run: the conversation is too long for auto mode's classifier. Claude Code will try to compact the conversation before the next request; if this action is still needed after that, issue it again and it will be reviewed normally.

739```

740 

741Если сжатие контекста не удается, последующие действия, которые классификатор не может проверить, получают одно из двух других сообщений:

742 

743* Отказ [`gave no verdict (the conversation is too long for the check)`](#the-server-returned-no-safety-verdict)

744* Сообщение [`Auto mode classifier transcript exceeded context window`](#auto-mode-cannot-determine-the-safety-of-an-action)

745 

746**Что делать:**

747 

748* Если сжатие контекста, о котором говорится в сообщении, проходит успешно, ничего делать не нужно.

749* Если вы видите одно из этих двух сообщений, запустите `/compact` в промпте Claude Code, чтобы сократить диалог самостоятельно. Если вы отключили [автосжатие](/docs/ru/settings-reference#autocompactenabled), включите его снова, чтобы в следующий раз Claude Code выполнял сжатие самостоятельно.

750 

725<h3 id="agent-terminated-early-due-to-an-api-error">751<h3 id="agent-terminated-early-due-to-an-api-error">

726 Agent terminated early due to an API error752 Agent terminated early due to an API error

727</h3>753</h3>


4554* Исправьте каждую запись, которую называет ошибка, в соответствии с [инструментами, доступными субагентам](/docs/ru/sub-agents#available-tools)4580* Исправьте каждую запись, которую называет ошибка, в соответствии с [инструментами, доступными субагентам](/docs/ru/sub-agents#available-tools)

4555* Удалите записи для инструментов, которых нет в сессии, например инструменты MCP с MCP-сервера, который не подключён4581* Удалите записи для инструментов, которых нет в сессии, например инструменты MCP с MCP-сервера, который не подключён

4556* Если запись называет подключённый MCP-сервер, сравните запись с именем этого сервера в том виде, в каком оно записано в [именах инструментов](/docs/ru/permissions#mcp) сервера, например `reports__v2` в `mcp__reports__v2__get_totals`. Для этого сервера укажите `mcp__reports__v2__*`, то есть `mcp__`, за которым следуют полное имя и `__*`. С более коротким `mcp__reports`, которое называет сервер с именем `reports`, субагент не получит ни одного из инструментов `reports__v2`4582* Если запись называет подключённый MCP-сервер, сравните запись с именем этого сервера в том виде, в каком оно записано в [именах инструментов](/docs/ru/permissions#mcp) сервера, например `reports__v2` в `mcp__reports__v2__get_totals`. Для этого сервера укажите `mcp__reports__v2__*`, то есть `mcp__`, за которым следуют полное имя и `__*`. С более коротким `mcp__reports`, которое называет сервер с именем `reports`, субагент не получит ни одного из инструментов `reports__v2`

4557* Для инструмента, который [фоновые субагенты отбрасывают](/docs/ru/sub-agents#available-tools), например `CronCreate`, удалите запись. Чтобы сохранить инструмент, [отключите режим fork](/docs/ru/sub-agents#turn-fork-mode-on-or-off) и попросите Claude запустить субагента на переднем плане4583* Для инструмента, который [фоновые субагенты отбрасывают](/docs/ru/sub-agents#available-tools), например `CronCreate`, удалите запись

4584* Чтобы вместо этого сохранить такой инструмент, как `CronCreate`, [позвольте Claude дождаться субагента](/docs/ru/sub-agents#let-claude-wait-for-a-subagent): субагент, которого ждёт Claude, работает на переднем плане и сохраняет инструмент. Если в определении задано `background: true`, сначала удалите это поле, потому что оно оставляет субагента в фоне

4558* Удалите поле `tools` вместо перечисления инструментов, чтобы дать субагенту каждый [инструмент, доступный субагентам](/docs/ru/sub-agents#available-tools)4585* Удалите поле `tools` вместо перечисления инструментов, чтобы дать субагенту каждый [инструмент, доступный субагентам](/docs/ru/sub-agents#available-tools)

4559* Для списка `tools`, содержащего только `Agent`, повысьте [предел глубины](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents) или дайте агенту хотя бы один другой инструмент: Claude Code скрывает `Agent` на этом пределе, поэтому список, в котором больше ничего нет, разрешается в отсутствие инструментов4586* Для списка `tools`, содержащего только `Agent`, повысьте [предел глубины](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents) или дайте агенту хотя бы один другой инструмент: Claude Code скрывает `Agent` на этом пределе, поэтому список, в котором больше ничего нет, разрешается в отсутствие инструментов

4560 4587 


5405**Что делать:**5432**Что делать:**

5406 5433 

5407* В VS Code перейдите по ссылке **View output logs**, показанной с ошибкой, чтобы увидеть основную ошибку5434* В VS Code перейдите по ссылке **View output logs**, показанной с ошибкой, чтобы увидеть основную ошибку

5408* В приложении Agent SDK перехватите ошибку вокруг вашего цикла сообщений. Записи в разделе [CLI process exit](/docs/ru/agent-sdk/troubleshooting#cli-process-exit) охватывают то, что ваш код получает в каждом языке SDK.5435* В приложении Agent SDK перехватите ошибку вокруг вашего цикла сообщений. Записи в разделе [Выход процесса CLI](/docs/ru/agent-sdk/troubleshooting#cli-process-exit) охватывают то, что ваш код получает в каждом языке SDK.

5409* Запустите `claude` в терминале в том же проекте. Ошибка обычно воспроизводится там с её реальным сообщением об ошибке, которое вы затем можете найти на этой странице.5436* Запустите `claude` в терминале в том же проекте. Ошибка обычно воспроизводится там с её реальным сообщением об ошибке, которое вы затем можете найти на этой странице.

5410* Запустите `claude doctor` в терминале, чтобы проверить установку и конфигурацию5437* Запустите `claude doctor` в терминале, чтобы проверить установку и конфигурацию

5411 5438 

fast-mode.md +1 −1

Details

47* Рядом с приглашением появляется небольшой значок `↯` во время активного быстрого режима47* Рядом с приглашением появляется небольшой значок `↯` во время активного быстрого режима

48* Запустите `/fast` снова в любое время, чтобы проверить, включен или отключен быстрый режим48* Запустите `/fast` снова в любое время, чтобы проверить, включен или отключен быстрый режим

49 49 

50Opus 5.5 является стандартным режимом быстрого режима в Claude Code v2.1.280 и позже. До версии v2.1.280 быстрый режим по умолчанию использовал Opus 5 с версии v2.1.219, Opus 4.8 на версиях v2.1.154 по v2.1.218 и Opus 4.7 на версиях v2.1.142 по v2.1.153.50Opus 5.5 является моделью по умолчанию для быстрого режима в Claude Code v2.1.280 и позже. До версии v2.1.280 быстрый режим по умолчанию использовал Opus 5 с версии v2.1.219 и Opus 4.8 на версиях v2.1.154 по v2.1.218.

51 51 

52Когда вы отключаете быстрый режим с помощью `/fast` снова, вы остаетесь на Opus. Чтобы переключиться на другую модель, используйте `/model`.52Когда вы отключаете быстрый режим с помощью `/fast` снова, вы остаетесь на Opus. Чтобы переключиться на другую модель, используйте `/model`.

53 53 

fullscreen.md +3 −3

Details

101* **Щелкните в поле ввода подсказки**, чтобы расположить курсор в любом месте вводимого текста.101* **Щелкните в поле ввода подсказки**, чтобы расположить курсор в любом месте вводимого текста.

102* **Щелкните предложение в списке команд `/` или файлов `@`**, чтобы принять его. При наведении курсора строка под ним выделяется.102* **Щелкните предложение в списке команд `/` или файлов `@`**, чтобы принять его. При наведении курсора строка под ним выделяется.

103* **Щелкните опцию в меню выбора**, чтобы выбрать её. Это касается запросов разрешений, `/model`, `/config` и других диалоговых окон, которые показывают список опций.103* **Щелкните опцию в меню выбора**, чтобы выбрать её. Это касается запросов разрешений, `/model`, `/config` и других диалоговых окон, которые показывают список опций.

104* **Щелкните опцию в меню множественного выбора**, чтобы переключить её, и нажмите кнопку отправки, чтобы подтвердить ваш выбор. Щелчок по строке свободного текста, например по строке `Other` в вопросе с несколькими вариантами ответов, фокусирует её поле ввода, чтобы вы могли ввести ответ. Требуется Claude Code v2.1.208 или более поздняя версия.104* **Щелкните опцию в меню множественного выбора**, чтобы переключить её, и нажмите кнопку отправки, чтобы подтвердить ваш выбор. Щелчок по строке свободного текста, например по строке `Other` в вопросе с несколькими вариантами ответов, фокусирует её поле ввода, чтобы вы могли ввести ответ.

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 или более поздняя версия.


146| `Ctrl+End` | Переход к последнему сообщению и повторное включение автоследования |146| `Ctrl+End` | Переход к последнему сообщению и повторное включение автоследования |

147| Колесо мыши | Прокрутка на несколько строк за раз |147| Колесо мыши | Прокрутка на несколько строк за раз |

148 148 

149Вы можете прокрутить назад к началу сеанса даже после [сжатия](/docs/ru/context-window#what-survives-compaction). Claude продолжает работать на основе сводки сжатия, но Claude Code сохраняет все предыдущие сообщения в полноэкранной прокрутке при повторных сжатиях.149Если вы закроете [сжатую](/docs/ru/context-window#what-survives-compaction) сессию и [возобновите](/docs/ru/sessions#what-a-resumed-session-restores) её, прокрутка вверх остановится на строке `Conversation compacted`, а ваши более ранние сообщения останутся на диске в [файле транскрипта](/docs/ru/sessions#where-transcripts-are-stored). Чтобы получить подробности из этих сообщений, попросите Claude найти их в этом файле.

150 150 

151На клавиатурах без выделенных клавиш `PgUp`, `PgDn`, `Home` или `End`, таких как клавиатуры MacBook, удерживайте `Fn` вместе со стрелками: `Fn+↑` отправляет `PgUp`, `Fn+↓` отправляет `PgDn`, `Fn+←` отправляет `Home`, и `Fn+→` отправляет `End`. `Ctrl+Fn+→` не достигает Claude Code на macOS, поэтому клавиатура MacBook по умолчанию не имеет рабочего сочетания для перехода в конец. Вместо этого используйте один из этих вариантов:151На клавиатурах без выделенных клавиш `PgUp`, `PgDn`, `Home` или `End`, таких как клавиатуры MacBook, удерживайте `Fn` вместе со стрелками: `Fn+↑` отправляет `PgUp`, `Fn+↓` отправляет `PgDn`, `Fn+←` отправляет `Home`, и `Fn+→` отправляет `End`. `Ctrl+Fn+→` не достигает Claude Code на macOS, поэтому клавиатура MacBook по умолчанию не имеет рабочего сочетания для перехода в конец. Вместо этого используйте один из этих вариантов:

152 152 


162 Автоследование162 Автоследование

163</h3>163</h3>

164 164 

165Прокрутка вверх приостанавливает автоследование, чтобы новый вывод не тянул вас обратно в конец. Кнопка `Перейти в конец` плывёт над нижним краем стенограммы, пока вы прокручиваете вверх, и показывает счётчик, например `3 новых сообщения`, когда поступает новый вывод. Нажмите её, нажмите `Ctrl+End` или прокрутите до конца, чтобы возобновить следование.165Прокрутка вверх приостанавливает автоследование, чтобы новый вывод не тянул вас обратно в конец. Кнопка `Jump to bottom` плывёт над нижним краем транскрипта, пока вы прокручиваете вверх, и показывает счётчик, например `3 new messages`, когда поступает новый вывод. Нажмите её, нажмите `Ctrl+End` или прокрутите до конца, чтобы возобновить следование.

166 166 

167Пока автоследование приостановлено, представление также остаётся там, где вы его прокрутили, когда ответ заканчивает потоковую передачу.167Пока автоследование приостановлено, представление также остаётся там, где вы его прокрутили, когда ответ заканчивает потоковую передачу.

168 168 

headless.md +5 −4

Details

138 Данные, передаваемые через stdin, ограничены 10 МБ. Если вы превысите лимит, Claude Code завершится с понятной ошибкой и ненулевым статусом. Для работы с большими входными данными запишите содержимое в файл и укажите путь к файлу в вашем промпте вместо передачи данных через pipe.138 Данные, передаваемые через stdin, ограничены 10 МБ. Если вы превысите лимит, Claude Code завершится с понятной ошибкой и ненулевым статусом. Для работы с большими входными данными запишите содержимое в файл и укажите путь к файлу в вашем промпте вместо передачи данных через pipe.

139</Note>139</Note>

140 140 

141Если Claude Code не может прочитать stdin, например потому что процесс, который его запустил, отключил свой конец, Claude Code выводит предупреждение в stderr и продолжает работу с промптом из командной строки. До версии 2.1.211 нечитаемый stdin на Windows приводил к сбою сессии или к молчаливому завершению без вывода.141Если Claude Code не может прочитать stdin, например потому что процесс, который его запустил, отключил свой конец, Claude Code выводит предупреждение в stderr и продолжает работу с промптом из командной строки.

142 142 

143<h3 id="add-claude-to-a-build-script">143<h3 id="add-claude-to-a-build-script">

144 Добавление Claude в скрипт сборки144 Добавление Claude в скрипт сборки


213 213 

214Последняя строка потока — это сообщение `result` с итоговым текстом ответа, стоимостью и метаданными сессии.214Последняя строка потока — это сообщение `result` с итоговым текстом ответа, стоимостью и метаданными сессии.

215 215 

216Если ваш потребитель читает поток медленно, Claude Code перед завершением ждёт, пока очередь вывода опустеет, масштабируя ожидание в зависимости от того, сколько ещё осталось в очереди, максимум 30 секунд. До версии 2.1.214 ожидание при завершении было ограничено примерно двумя секундами, что могло обрезать конец большого ответа.216Если ваш потребитель читает поток медленно, Claude Code перед завершением ждёт, пока очередь вывода опустеет, масштабируя ожидание в зависимости от того, сколько ещё осталось в очереди, максимум 30 секунд.

217 217 

218Следующий пример использует [jq](https://jqlang.org/) для фильтрации текстовых дельт и отображения только потокового текста. Флаг `-r` выводит необработанные строки (без кавычек), а `-j` объединяет их без переводов строк, поэтому токены выводятся непрерывно:218Следующий пример использует [jq](https://jqlang.org/) для фильтрации текстовых дельт и отображения только потокового текста. Флаг `-r` выводит необработанные строки (без кавычек), а `-j` объединяет их без переводов строк, поэтому токены выводятся непрерывно:

219 219 


249 249 

250Если каких-то из этих сообщений нет в вашем потоке, сверьте версию Claude Code с этими минимальными требованиями:250Если каких-то из этих сообщений нет в вашем потоке, сверьте версию Claude Code с этими минимальными требованиями:

251 251 

252* **`--forward-subagent-text` и `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`**: версия 2.1.211 или новее

253* **Пересылка на каждом уровне вложенности**: версия 2.1.219 или новее252* **Пересылка на каждом уровне вложенности**: версия 2.1.219 или новее

254* **Разветвлённый скилл, который Claude запускает инструментом Skill из основного диалога**: версия 2.1.86 или новее для его блоков `tool_use` и `tool_result` и версия 2.1.265 или новее для его первого сообщения `user`, а также текстовых блоков и блоков размышлений253* **Разветвлённый скилл, который Claude запускает инструментом Skill из основного диалога**: версия 2.1.86 или новее для его блоков `tool_use` и `tool_result` и версия 2.1.265 или новее для его первого сообщения `user`, а также текстовых блоков и блоков размышлений

255* **Сообщения субагентов, которых порождает разветвлённый скилл, и разветвлённых скиллов, запущенных внутри субагента или другого разветвлённого скилла**: версия 2.1.275 или новее254* **Сообщения субагентов, которых порождает разветвлённый скилл, и разветвлённых скиллов, запущенных внутри субагента или другого разветвлённого скилла**: версия 2.1.275 или новее


336 --allowedTools "Bash,Read,Edit"335 --allowedTools "Bash,Read,Edit"

337```336```

338 337 

339Чтобы задать базовый уровень для всей сессии вместо перечисления отдельных инструментов, передайте [режим разрешений](/docs/ru/permission-modes). Запуск, в котором режим разрешений ничем не задан, использует [встроенный начальный режим разрешений](/docs/ru/permission-modes#which-mode-a-session-starts-in), которым может быть `auto`, поэтому передайте нужный вам режим:338Вызовы инструментов, которые вы не перечислили, выполняются, если они не требуют подтверждения. В запуске `claude -p` в [режиме Manual](/docs/ru/permission-modes#available-modes) вызов, требующий подтверждения, отклоняется, если его ничто не подтверждает, например [хук `PermissionRequest`](/docs/ru/hooks#permissionrequest) или [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags). В Claude Code версии 2.1.302 или новее запуски `claude -p` начинаются в режиме Manual, когда [режим разрешений ничем не задан](/docs/ru/permission-modes#which-mode-a-non-interactive-run-starts-in).

339 

340Чтобы задать базовый уровень для всей сессии вместо перечисления отдельных инструментов, передайте [режим разрешений](/docs/ru/permission-modes) с помощью `--permission-mode`, например `auto`, `dontAsk` или `acceptEdits`:

340 341 

341* **`auto`**: передайте `--permission-mode auto`, чтобы большинство действий проверял классификатор вместо вас342* **`auto`**: передайте `--permission-mode auto`, чтобы большинство действий проверял классификатор вместо вас

342* **`dontAsk`**: Claude Code отклоняет каждый вызов, который иначе вызвал бы запрос, что полезно для строго ограниченных запусков в CI. Действия, не требующие подтверждения в режиме Manual, по-прежнему выполняются, например чтение файлов в ваших рабочих каталогах и [набор команд только для чтения](/docs/ru/permissions#read-only-commands), как и действия, охваченные вашими записями `--allowedTools` или правилами `permissions.allow`. `AskUserQuestion`, инструменты коннекторов, [для которых ваша организация установила `ask`](/docs/ru/mcp#organization-controls-on-connector-tools), MCP-инструменты, помеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool), и [чтение по сетевым путям](/docs/ru/permissions#network-paths) отклоняются, даже когда совпадает разрешающее правило343* **`dontAsk`**: Claude Code отклоняет каждый вызов, который иначе вызвал бы запрос, что полезно для строго ограниченных запусков в CI. Действия, не требующие подтверждения в режиме Manual, по-прежнему выполняются, например чтение файлов в ваших рабочих каталогах и [набор команд только для чтения](/docs/ru/permissions#read-only-commands), как и действия, охваченные вашими записями `--allowedTools` или правилами `permissions.allow`. `AskUserQuestion`, инструменты коннекторов, [для которых ваша организация установила `ask`](/docs/ru/mcp#organization-controls-on-connector-tools), MCP-инструменты, помеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool), и [чтение по сетевым путям](/docs/ru/permissions#network-paths) отклоняются, даже когда совпадает разрешающее правило

hooks.md +26 −32

Details

423* **[Prompt hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): отправляют подсказку модели Claude для однооборотной оценки. Модель возвращает решение как JSON. См. [Prompt-based hooks](#prompt-based-hooks).423* **[Prompt hooks](#prompt-and-agent-hook-fields)** (`type: "prompt"`): отправляют подсказку модели Claude для однооборотной оценки. Модель возвращает решение как JSON. См. [Prompt-based hooks](#prompt-based-hooks).

424* **[Agent hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): порождают subagent, который может использовать инструменты, такие как Read, Grep и Glob, для проверки условий перед возвратом решения. Agent hooks являются экспериментальными и могут измениться. См. [Agent-based hooks](#agent-based-hooks).424* **[Agent hooks](#prompt-and-agent-hook-fields)** (`type: "agent"`): порождают subagent, который может использовать инструменты, такие как Read, Grep и Glob, для проверки условий перед возвратом решения. Agent hooks являются экспериментальными и могут измениться. См. [Agent-based hooks](#agent-based-hooks).

425 425 

426Все совпадающие hooks запускаются параллельно. Если вы определите один и тот же обработчик в более чем одном файле настроек, он запускается один раз. Копия плагина или skill одного и того же обработчика остаётся отдельной.426Когда срабатывает событие, его совпадающие хуки запускаются параллельно. Если более 12 из них — хуки-промпты или хуки-агенты, одновременно запускаются 12 из них, а остальные стартуют по мере завершения выполняющихся. [`timeout`](#common-fields) каждого ожидающего хука начинает отсчитываться, когда этот хук запускается.

427 

428Если вы определите один и тот же обработчик в нескольких файлах настроек, он запустится один раз. Копия того же обработчика в плагине или скилле остаётся отдельной.

427 429 

428Обработчики запускаются в текущем каталоге с окружением Claude Code. Если текущий каталог больше не существует, например это worktree или временный каталог, который другая оболочка удалила посреди сессии, Claude Code запускает командные хуки из первого существующего из следующих каталогов: каталог, в котором началась сессия, корень проекта, ваш домашний каталог или системный временный каталог. Claude Code записывает в [отладочный лог](#debug-hooks) предупреждение с именем резервного каталога. О сессии в worktree, запущенной из десктопного приложения, см. [Что worktree разделяют с основным checkout](/docs/ru/worktrees#what-worktrees-share-with-the-main-checkout).430Обработчики запускаются в текущем каталоге с окружением Claude Code. Если текущий каталог больше не существует, например это worktree или временный каталог, который другая оболочка удалила посреди сессии, Claude Code запускает командные хуки из первого существующего из следующих каталогов: каталог, в котором началась сессия, корень проекта, ваш домашний каталог или системный временный каталог. Claude Code записывает в [отладочный лог](#debug-hooks) предупреждение с именем резервного каталога. О сессии в worktree, запущенной из десктопного приложения, см. [Что worktree разделяют с основным checkout](/docs/ru/worktrees#what-worktrees-share-with-the-main-checkout).

429 431 


445 447 

446Поле `if` содержит ровно одно правило разрешения. Нет синтаксиса `&&`, `||` или списка для объединения правил; чтобы применить несколько условий, определите отдельный обработчик hook для каждого.448Поле `if` содержит ровно одно правило разрешения. Нет синтаксиса `&&`, `||` или списка для объединения правил; чтобы применить несколько условий, определите отдельный обработчик hook для каждого.

447 449 

448В условии `if` для инструмента файла, шаблон каталога с одним сегментом, такой как `"Edit(src/**)"`, совпадает только с каталогом `src` в рабочем каталоге и файлами под ним. Чтобы совпадать с каталогом с именем `src` на любой глубине, напишите `"Edit(**/src/**)"`. До v2.1.214, `"Edit(src/**)"` совпадал с каталогом с именем `src` на любой глубине под рабочим каталогом.450В условии `if` для файлового инструмента шаблон каталога из одного сегмента, например `"Edit(src/**)"`, совпадает только с каталогом `src` в рабочем каталоге и файлами в нём. Чтобы сопоставить каталог с именем `src` на любой глубине, напишите `"Edit(**/src/**)"`.

449 451 

450<h4 id="bash-if-matching">452<h4 id="bash-if-matching">

451 Как шаблоны `if` сопоставляются с командами Bash453 Как шаблоны `if` сопоставляются с командами Bash


825 Вывод через код выхода827 Вывод через код выхода

826</h3>828</h3>

827 829 

828Код выхода вашего хука сообщает Claude Code, следует ли продолжить действие, вызвавшее хук, например вызов инструмента или промпт. Завершившийся запуск имеет один из трёх результатов:830Когда выполнение вашего хука завершается, Claude Code по его коду выхода решает, продолжать ли действие, которое вызвало хук, например вызов инструмента или промпт:

829 831 

830* **Успех**: ваш хук завершается с кодом 0. Claude Code применяет все поля [вывода JSON](#json-output), которые вывел ваш хук, и действие выполняется, если эти поля не блокируют и не отклоняют его. Исключение описано в разделе [Хуки, запускающие фоновый процесс](#hooks-that-start-a-background-process).832* **Успех**: ваш хук завершается с кодом 0. Claude Code применяет все поля [вывода JSON](#json-output), которые вывел ваш хук, и действие выполняется, если эти поля не блокируют и не отклоняют его. Исключение описано в разделе [Хуки, запускающие фоновый процесс](#hooks-that-start-a-background-process).

831* **Блокирующая ошибка**: ваш хук завершается с кодом 2. Для [событий, которые могут блокировать](#exit-code-2-behavior-per-event), Claude Code останавливает действие.833* **Блокирующая ошибка**: ваш хук завершается с кодом 2. Для [событий, которые могут блокировать](#exit-code-2-behavior-per-event), Claude Code останавливает действие.


853 Код выхода 0855 Код выхода 0

854</h4>856</h4>

855 857 

856Выход с кодом 0 означает успех и является предполагаемым кодом выхода, когда вы выводите JSON для структурированного управления.858Выход с кодом 0 означает успех и является предполагаемым кодом выхода, когда вы выводите JSON для структурированного управления. Если ваш хук завершается с кодом 0, но выводит JSON, который не удаётся разобрать или который не проходит [проверку схемы](#json-output), действие выполняется, если хук не относится к тем, [сбой которых блокирует действие](#block-the-action-when-a-hook-fails). Вместо успеха с применёнными полями запуск считается [неблокирующей ошибкой](#exit-code-output).

857 

858Для большинства событий Claude Code записывает stdout в отладочный лог и не показывает его в транскрипте. Исключения — `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` и `PostModelSwitch`, для которых Claude Code добавляет обычный текст из stdout как контекст, который Claude может видеть и учитывать.

859 859 

860Для хука, который не является [асинхронным](#how-async-hooks-execute), Claude Code разбирает ваш stdout как [вывод JSON](#json-output), если весь вывод представляет собой один объект JSON, вокруг которого нет ничего, кроме пробельных символов, а в остальных случаях обрабатывает его как обычный текст или как ошибку разбора:860Чтобы исправить вывод, воспользуйтесь сообщением о разборе или проверке, которое содержит уведомление `<hook name> hook error`. Для хука, который не является [асинхронным](#how-async-hooks-execute), ваш stdout считается [выводом JSON](#json-output), только если вы выводите один объект JSON на одной или нескольких строках, вокруг которого нет ничего, кроме пробельных символов. Любой другой stdout Claude Code воспринимает как обычный текст или как ошибку разбора:

861 861 

862* **Один объект JSON на одной или нескольких строках**: разбирается как вывод JSON.

863* **Вывод, который не начинается с `{` или начинается с `{`, но не заканчивается `}`**: обычный текст. По этому правилу массив JSON и строка JSON в кавычках считаются обычным текстом.862* **Вывод, который не начинается с `{` или начинается с `{`, но не заканчивается `}`**: обычный текст. По этому правилу массив JSON и строка JSON в кавычках считаются обычным текстом.

864* **Две или более строк, каждая из которых по отдельности разбирается как JSON, причём первая начинается с `{`, а последняя заканчивается `}`**: обычный текст, если ни одна строка не является объектом вывода JSON, задающим какое-либо поле, и ошибка разбора, если такая строка есть.863* **Две или более строк, каждая из которых по отдельности разбирается как JSON, причём первая начинается с `{`, а последняя заканчивается `}`**: обычный текст, если ни одна строка не является объектом вывода JSON, задающим какое-либо поле. Если такая строка есть, вывод считается ошибкой разбора, поэтому выводите этот объект, не добавляя в stdout ничего другого.

865* **Всё остальное, что начинается с `{` и заканчивается `}`, но не является корректным JSON**: ошибка разбора.864* **Всё остальное, что начинается с `{` и заканчивается `}`, но не является корректным JSON**: ошибка разбора.

866 865 

867Если хук не относится к тем, [сбой которых блокирует действие](#block-the-action-when-a-hook-fails), ошибка разбора или разобранный объект, не прошедший [проверку схемы](#json-output), считается [неблокирующей ошибкой](#exit-code-output). Уведомление `<hook name> hook error` содержит сообщение о разборе или проверке. Для событий, которые добавляют обычный текст из stdout как контекст, Claude Code не добавляет stdout, который ему не удалось разобрать.866Для большинства событий Claude Code записывает stdout в отладочный лог и не показывает его в транскрипте. Исключения — `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` и `PostModelSwitch`, для которых Claude Code добавляет обычный текст из stdout как контекст, который Claude может видеть и учитывать. Для этих событий Claude Code не добавляет stdout, который ему не удалось разобрать.

868 867 

869Claude никогда не видит stderr хука, завершившегося с кодом 0. Чтобы прочитать его самостоятельно для таких событий, как `PreToolUse`, включите [отладочное логирование](#debug-hooks). Чтобы передать предупреждение Claude из хука `PostToolUse` или `PostToolUseFailure`, вместо этого выйдите с кодом 2, чтобы [Claude увидел stderr](#exit-code-2-behavior-per-event), хотя инструмент уже выполнился.868Claude никогда не видит stderr хука, завершившегося с кодом 0. Чтобы прочитать его самостоятельно для таких событий, как `PreToolUse`, включите [отладочное логирование](#debug-hooks). Чтобы передать предупреждение Claude из хука `PostToolUse` или `PostToolUseFailure`, вместо этого выйдите с кодом 2, чтобы [Claude увидел stderr](#exit-code-2-behavior-per-event), хотя инструмент уже выполнился.

870 869 


907 Другие коды выхода906 Другие коды выхода

908</h4>907</h4>

909 908 

910Если хук не относится к тем, [сбой которых блокирует действие](#block-the-action-when-a-hook-fails), код выхода, отличный от 0 или 2, при обычном тексте или пустом выводе в stdout считается [неблокирующей ошибкой](#exit-code-output). Если действие выполняется, в транскрипте отображается уведомление `<hook name> hook error` с `Failed with non-blocking status code:` и первой строкой stderr вашего хука.909Уведомление `<hook name> hook error` с `Failed with non-blocking status code:` означает, что код выхода вашего хука не был равен 0 или 2, а его stdout содержал обычный текст или был пустым. Если хук не относится к тем, [сбой которых блокирует действие](#block-the-action-when-a-hook-fails), это [неблокирующая ошибка](#exit-code-output), поэтому ваш хук не остановил действие. Чтобы получить полный stderr вашего хука, а не только первую строку, которую показывает уведомление, включите [отладочное логирование](#debug-hooks).

911 910 

912Например, если хук `PreToolUse` для `Bash` выводит `something broke` в stderr и завершается с кодом 1, уведомление `PreToolUse:Bash hook error` содержит такую строку:911Например, если хук `PreToolUse` для `Bash` выводит `something broke` в stderr и завершается с кодом 1, уведомление `PreToolUse:Bash hook error` содержит такую строку:

913 912 


915Failed with non-blocking status code: something broke914Failed with non-blocking status code: something broke

916```915```

917 916 

918Чтобы получить полный stderr, а не только его первую строку, включите [отладочное логирование](#debug-hooks).917Если уведомление содержит сообщение оболочки `No such file or directory`, как в следующей строке, хук так и не был запущен, например потому что путь к его скрипту не существует:

919 

920Если хук не относится к тем, [сбой которых блокирует действие](#block-the-action-when-a-hook-fails), хук, который не удаётся запустить, тоже считается неблокирующей ошибкой. В форме оболочки, если путь к скрипту не существует или файл не является исполняемым, оболочка завершается с кодом вроде 127, и уведомление содержит сообщение интерпретатора. Например, если путь к скрипту не существует, уведомление содержит строку вроде этой:

921 918 

922```text theme={null}919```text theme={null}

923Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory920Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory

924```921```

925 922 

923Если путь неверен, исправьте его там, где настроен хук. В форме оболочки, если путь к скрипту не существует или файл не является исполняемым, оболочка завершается с кодом вроде 127, и уведомление содержит сообщение интерпретатора. Если хук не относится к тем, [сбой которых блокирует действие](#block-the-action-when-a-hook-fails), хук, который не удаётся запустить, тоже считается неблокирующей ошибкой.

924 

926Настраивая хук для политики, следите за этим уведомлением при его первом запуске, потому что опечатка в пути в `settings.json` означает, что хук никогда не выполнится. Чтобы блокировать действие, когда хук не удаётся запустить, установите [`onFailure: "block"`](#block-the-action-when-a-hook-fails).925Настраивая хук для политики, следите за этим уведомлением при его первом запуске, потому что опечатка в пути в `settings.json` означает, что хук никогда не выполнится. Чтобы блокировать действие, когда хук не удаётся запустить, установите [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

927 926 

928<Warning>927<Warning>


933 Таймауты932 Таймауты

934</h4>933</h4>

935 934 

936За исключением командного хука, запущенного с [`async: true`](#run-hooks-in-the-background), Claude Code отменяет хук `command`, `http` или `mcp_tool`, достигший своего [`timeout`](#common-fields), и отбрасывает вывод хука, поэтому для большинства событий хук, превысивший таймаут, не выносит никакого решения.935За исключением командного хука, запущенного с [`async: true`](#run-hooks-in-the-background), Claude Code отменяет хук `command`, `http` или `mcp_tool`, достигший своего [`timeout`](#common-fields), и отбрасывает вывод хука, поэтому для большинства событий хук, превысивший таймаут, не выносит никакого решения. Для [`PreModelSwitch`](#premodelswitch) хук, отменённый по таймауту, блокирует переключение модели.

937 936 

938Для [`PreModelSwitch`](#premodelswitch) хук, отменённый по таймауту, блокирует переключение модели. Для `PreToolUse` два семейства хуков ведут себя по-разному:937Для `PreToolUse` хук `command`, `http` или `mcp_tool`, превысивший таймаут, не блокирует вызов инструмента, за исключением хуков, [сбой которых блокирует действие](#block-the-action-when-a-hook-fails). Вызов продолжается через обычный [процесс разрешений](/docs/ru/permissions), поэтому не рассчитывайте, что зависший хук сработает как защитный барьер. Чтобы блокировать вызов при превышении таймаута хуком `command` или `http`, установите [`onFailure: "block"`](#block-the-action-when-a-hook-fails). [Callback-хук Agent SDK](/docs/ru/agent-sdk/hooks), превысивший свой таймаут, [блокирует вызов инструмента](#pretooluse).

939 

940* Хук `command`, `http` или `mcp_tool`, превысивший таймаут, не блокирует вызов инструмента, за исключением хуков, [сбой которых блокирует действие](#block-the-action-when-a-hook-fails). Вызов продолжается через обычный [процесс разрешений](/docs/ru/permissions), поэтому не рассчитывайте, что зависший хук сработает как защитный барьер. Чтобы блокировать вызов при превышении таймаута хуком `command` или `http`, установите [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

941* [Callback-хук Agent SDK](/docs/ru/agent-sdk/hooks), превысивший свой таймаут, [блокирует вызов инструмента](#pretooluse).

942 938 

943<h4 id="hooks-that-start-a-background-process">939<h4 id="hooks-that-start-a-background-process">

944 Хуки, запускающие фоновый процесс940 Хуки, запускающие фоновый процесс


1086 Обработка HTTP-ответов1082 Обработка HTTP-ответов

1087</h3>1083</h3>

1088 1084 

1089HTTP-хуки используют коды состояния HTTP и тела ответов вместо кодов выхода и stdout. Приведённые ниже результаты применяются к большинству событий; событие с собственным контрактом обработки сбоев в [таблице по событиям](#exit-code-2-behavior-per-event), например `WorktreeCreate`, применяет этот контракт и к HTTP-хуку, завершившемуся сбоем:1085HTTP-хуки используют коды состояния HTTP и тела ответов вместо кодов выхода и stdout. Чтобы блокировать действие, когда запрос завершается сбоем или возвращает статус не 2xx, установите [`onFailure: "block"`](#block-the-action-when-a-hook-fails). Чтобы заблокировать вызов инструмента или отклонить разрешение, верните ответ 2xx с телом JSON, содержащим соответствующие [поля решения](#decision-control).

1086 

1087После [неблокирующей ошибки](#exit-code-output) действие выполняется, если хук не относится к тем, [сбой которых блокирует действие](#block-the-action-when-a-hook-fails). За исключением событий с собственным контрактом обработки сбоев в [таблице по событиям](#exit-code-2-behavior-per-event), таких как `WorktreeCreate`, для каждого ответа или сбоя вы получаете следующие результаты:

1090 1088 

1091* **2xx с пустым телом**: успех, эквивалентно коду выхода 0 без вывода1089* **2xx с пустым телом**: успех, эквивалентно коду выхода 0 без вывода

1092* **2xx с телом в виде объекта JSON**: разбирается по той же схеме [вывода JSON](#json-output), что и для командных хуков. Тело, не прошедшее проверку схемы, является неблокирующей ошибкой1090* **2xx с телом в виде объекта JSON**: разбирается по той же схеме [вывода JSON](#json-output), что и для командных хуков. Тело, не прошедшее проверку схемы, является неблокирующей ошибкой


1095* **Сбой соединения**: неблокирующая ошибка1093* **Сбой соединения**: неблокирующая ошибка

1096* **Таймаут**: хук отменяется, как описано в разделе [Таймауты](#timeouts)1094* **Таймаут**: хук отменяется, как описано в разделе [Таймауты](#timeouts)

1097 1095 

1098После [неблокирующей ошибки](#exit-code-output) действие выполняется, если хук не относится к тем, [сбой которых блокирует действие](#block-the-action-when-a-hook-fails). Чтобы заблокировать вызов инструмента или отклонить разрешение, верните ответ 2xx с телом JSON, содержащим соответствующие [поля решения](#decision-control). Чтобы блокировать действие, когда запрос завершается сбоем или возвращает статус не 2xx, установите [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

1099 

1100<h3 id="json-output">1096<h3 id="json-output">

1101 Вывод JSON1097 Вывод JSON

1102</h3>1098</h3>


1319| `compact` | Автоматическое или ручное сжатие контекста |1315| `compact` | Автоматическое или ручное сжатие контекста |

1320| `fork` | Новая сессия, ответвлённая от существующей: `--fork-session` вместе с `--resume` или `--continue`, фоновая копия `/fork`, `/branch` или диалог, который вы [переводите в фон](/docs/ru/agent-view#from-inside-a-session) |1316| `fork` | Новая сессия, ответвлённая от существующей: `--fork-session` вместе с `--resume` или `--continue`, фоновая копия `/fork`, `/branch` или диалог, который вы [переводите в фон](/docs/ru/agent-view#from-inside-a-session) |

1321 1317 

1322До v2.1.214 ответвлённые сессии сообщали источник `"resume"`.

1323 

1324Когда вы начинаете интерактивную сессию, возобновляете диалог при запуске с `--continue` или `--resume` или выполняете `/clear`, хуки SessionStart выполняются в фоне. Вы можете сразу начать вводить текст, а возобновлённый диалог появляется, не дожидаясь хуков. Первый ответ Claude всё равно ждёт завершения хуков, чтобы их контекст дошёл до Claude.1318Когда вы начинаете интерактивную сессию, возобновляете диалог при запуске с `--continue` или `--resume` или выполняете `/clear`, хуки SessionStart выполняются в фоне. Вы можете сразу начать вводить текст, а возобновлённый диалог появляется, не дожидаясь хуков. Первый ответ Claude всё равно ждёт завершения хуков, чтобы их контекст дошёл до Claude.

1325 1319 

1326Когда вы переключаете диалоги с помощью `/resume` внутри сессии, переключение, напротив, ждёт завершения хуков. Если вы выполните `/clear` или переключитесь на другой диалог, пока фоновые хуки ещё выполняются, ничто из того, что они вернут, не применится к сессии.1320Когда вы переключаете диалоги с помощью `/resume` внутри сессии, переключение, напротив, ждёт завершения хуков. Если вы выполните `/clear` или переключитесь на другой диалог, пока фоновые хуки ещё выполняются, ничто из того, что они вернут, не применится к сессии.


1583 1577 

1584За исключением командного хука, запускаемого с [`async: true`](#run-hooks-in-the-background), хук `UserPromptSubmit` типа command, HTTP или MCP-инструмент, достигший таймаута, отменяется, а его вывод, включая любой `additionalContext`, отбрасывается. Промпт всё равно доходит до Claude, но без этого контекста. Чтобы вместо этого заблокировать промпт, задайте [`onFailure: "block"`](#block-the-action-when-a-hook-fails) для командного или HTTP-хука. В транскрипте отображается уведомление с именем хука, сработавшим таймаутом и сообщением о том, что вывод был отброшен.1578За исключением командного хука, запускаемого с [`async: true`](#run-hooks-in-the-background), хук `UserPromptSubmit` типа command, HTTP или MCP-инструмент, достигший таймаута, отменяется, а его вывод, включая любой `additionalContext`, отбрасывается. Промпт всё равно доходит до Claude, но без этого контекста. Чтобы вместо этого заблокировать промпт, задайте [`onFailure: "block"`](#block-the-action-when-a-hook-fails) для командного или HTTP-хука. В транскрипте отображается уведомление с именем хука, сработавшим таймаутом и сообщением о том, что вывод был отброшен.

1585 1579 

1586[Callback-хук Agent SDK](/docs/ru/agent-sdk/hooks) на `UserPromptSubmit`, достигший таймаута, блокирует промпт с сообщением, в котором указаны хук и таймаут, поскольку callback в этом месте может выполнять роль контроля политики, который не должен при сбое пропускать всё. Сессия продолжается. До v2.1.208 таймаут callback на этом событии завершал ход с ошибкой выполнения.1580[Callback-хук Agent SDK](/docs/ru/agent-sdk/hooks) на `UserPromptSubmit`, достигший таймаута, блокирует промпт с сообщением, в котором указаны хук и таймаут, потому что callback в этом месте может выполнять роль политики, которая не должна пропускать промпт при сбое. Сессия продолжается.

1587 1581 

1588<h4 id="userpromptsubmit-input">1582<h4 id="userpromptsubmit-input">

1589 Входные данные UserPromptSubmit1583 Входные данные UserPromptSubmit


2058 2052 

2059| Поле | Тип | Пример | Описание |2053| Поле | Тип | Пример | Описание |

2060| :- | :- | :- | :- |2054| :- | :- | :- | :- |

2061| `status` | string | `"completed"` | `"completed"` для субагентов на переднем плане, `"async_launched"` для фоновых субагентов. Субагенты по умолчанию выполняются в фоне, поэтому вызов Agent без `run_in_background` также даёт `"async_launched"` |2055| `status` | string | `"completed"` | `"completed"` для субагентов на переднем плане, `"async_launched"` для фоновых субагентов. О том, какие субагенты как выполняются, см. [Запуск субагентов на переднем плане или в фоне](/docs/ru/sub-agents#run-subagents-in-foreground-or-background) |

2062| `agentId` | string | `"a4d2c8f1e0b3a297"` | Идентификатор запуска субагента |2056| `agentId` | string | `"a4d2c8f1e0b3a297"` | Идентификатор запуска субагента |

2063| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Финальные текстовые блоки субагента или, для субагента, чей отчёт передаётся через `SubagentHandback`, вместо них — краткая заметка об этой передаче |2057| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Финальные текстовые блоки субагента или, для субагента, чей отчёт передаётся через `SubagentHandback`, вместо них — краткая заметка об этой передаче |

2064| `resolvedModel` | string | `"claude-sonnet-4-5"` | Модель, на которой запустился субагент; может отличаться от запрошенной модели |2058| `resolvedModel` | string | `"claude-sonnet-4-5"` | Модель, на которой запустился субагент; может отличаться от запрошенной модели |

2065| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Использованные модели по порядку, с объединением последовательных повторов; задаётся только если модель менялась во время запуска. Требуется Claude Code v2.1.212 или новее |2059| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Использованные модели по порядку, последовательные повторы схлопнуты; задаётся, только если модель менялась во время запуска |

2066| `totalTokens` | number | `12450` | Количество токенов из последнего API-запроса субагента: входные, выходные и кэш-токены вместе. Это не итог за весь запуск |2060| `totalTokens` | number | `12450` | Количество токенов из последнего API-запроса субагента: входные, выходные и кэш-токены вместе. Это не итог за весь запуск |

2067| `totalDurationMs` | number | `48211` | Реальная длительность запуска субагента |2061| `totalDurationMs` | number | `48211` | Реальная длительность запуска субагента |

2068| `totalToolUseCount` | number | `7` | Количество вызовов инструментов, сделанных субагентом |2062| `totalToolUseCount` | number | `7` | Количество вызовов инструментов, сделанных субагентом |


2072 2066 

2073Для фоновых субагентов инструмент возвращает результат, когда задача переходит в фон, поэтому `tool_response` не содержит полей использования: фоновый запуск возвращается сразу, а задача на переднем плане, которую Claude Code переводит в фон во время выполнения, возвращается в момент этого перехода. Он содержит `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` и `resolvedModel`.2067Для фоновых субагентов инструмент возвращает результат, когда задача переходит в фон, поэтому `tool_response` не содержит полей использования: фоновый запуск возвращается сразу, а задача на переднем плане, которую Claude Code переводит в фон во время выполнения, возвращается в момент этого перехода. Он содержит `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` и `resolvedModel`.

2074 2068 

2075В ответе `completed` поле `resolvedModel` указывает модель, на которой запустился субагент; она может отличаться от значения `model` в `tool_input`, например когда применяется `availableModels` или другое переопределение. В ответе `async_launched` поле `resolvedModel` указывает модель, использовавшуюся в момент перехода агента в фон, поэтому смена модели, произошедшая до перехода в фон, отражается там. Для `modelsUsed` и поведения `resolvedModel` на момент перехода в фон требуется Claude Code v2.1.212 или новее.2069В ответе `completed` поле `resolvedModel` указывает модель, на которой запустился субагент; она может отличаться от значения `model` в `tool_input`, например когда применяется `availableModels` или другое переопределение. В ответе `async_launched` поле `resolvedModel` указывает модель, использовавшуюся в момент перехода агента в фон, поэтому смена модели, произошедшая до перехода в фон, отражается там.

2076 2070 

2077<a id="askuserquestion" />2071<a id="askuserquestion" />

2078 2072 


2120 2114 

2121Когда хук возвращает `"ask"`, запрос разрешения, показываемый пользователю, содержит метку, указывающую, откуда взят хук: `[settings]` для хука из любого файла настроек или из frontmatter агента, `[plugin:<name>]` для хука плагина или `[skill]` для хука из frontmatter скилла. Это помогает пользователям понять, какой источник конфигурации запрашивает подтверждение.2115Когда хук возвращает `"ask"`, запрос разрешения, показываемый пользователю, содержит метку, указывающую, откуда взят хук: `[settings]` для хука из любого файла настроек или из frontmatter агента, `[plugin:<name>]` для хука плагина или `[skill]` для хука из frontmatter скилла. Это помогает пользователям понять, какой источник конфигурации запрашивает подтверждение.

2122 2116 

2123`"ask"` хука также принудительно вызывает запрос разрешения в [авторежиме](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode): классификатор по-прежнему может запретить вызов инструмента, но не может молча его одобрить. До v2.1.211 классификатор мог одобрить команду Bash, выполняемую вне [песочницы](/docs/ru/sandboxing), не показывая запрос, которого требовал хук; классификатор всё равно применял к этой команде собственные правила безопасности, а `"deny"` хука всегда соблюдался.2117`"ask"` от хука также принудительно показывает запрос разрешения в [авторежиме](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode): классификатор по-прежнему может отклонить вызов инструмента, но не может молча его одобрить.

2124 2118 

2125```json theme={null}2119```json theme={null}

2126{2120{


3696| `source` | string | Откуда пришёл запрос: `"command"` для `/model <name>`, настройки Model в `/config` или включения быстрого режима; `"picker"` для окна выбора модели; `"sdk"` для запроса `set_model` или изменения модели в запросе `apply_flag_settings` от хоста Agent SDK или Remote Control |3690| `source` | string | Откуда пришёл запрос: `"command"` для `/model <name>`, настройки Model в `/config` или включения быстрого режима; `"picker"` для окна выбора модели; `"sdk"` для запроса `set_model` или изменения модели в запросе `apply_flag_settings` от хоста Agent SDK или Remote Control |

3697| `context_tokens` | number | Токены, которые следующий запрос отправит повторно в качестве промпта: сумма входных токенов, токенов чтения кэша, создания кэша и выходных токенов последнего ответа в основном диалоге. `0` до первого ответа |3691| `context_tokens` | number | Токены, которые следующий запрос отправит повторно в качестве промпта: сумма входных токенов, токенов чтения кэша, создания кэша и выходных токенов последнего ответа в основном диалоге. `0` до первого ответа |

3698| `prompt_cache_warm` | boolean | Вероятно ли, что кэш промптов текущей модели ещё «тёплый», то есть переключение приведёт к его потере |3692| `prompt_cache_warm` | boolean | Вероятно ли, что кэш промптов текущей модели ещё «тёплый», то есть переключение приведёт к его потере |

3699| `cache_ttl` | string | [Время жизни кэша промптов](/docs/ru/prompt-caching#cache-lifetime), которое Claude Code запрашивает для этой сессии: `"5m"` или `"1h"` |3693| `cache_ttl` | string | [Время жизни кэша промптов](/docs/ru/prompt-caching#cache-lifetime) основного диалога на момент этой смены: `"5m"` или `"1h"` |

3700| `estimated_cache_write_usd` | number | Оценочная стоимость в долларах США записи `context_tokens` в кэш промптов на `to_model` по тарифу `cache_ttl`, без учёта следующего ответа. Серверу может не потребоваться повторно кэшировать весь контекст, поэтому считайте это оценкой |3694| `estimated_cache_write_usd` | number | Оценочная стоимость в долларах США записи `context_tokens` в кэш промптов на `to_model` по тарифу `cache_ttl`, без учёта следующего ответа. Серверу может не потребоваться повторно кэшировать весь контекст, поэтому считайте это оценкой |

3701| `pricing` | string | Как Claude Code рассчитал `estimated_cache_write_usd`: `"configured"` — по собственным тарифам вашей организации, если она их настроила, `"catalog"` — по прейскурантной цене, или `"default"` — если цена `to_model` неизвестна и Claude Code использовал тариф по умолчанию |3695| `pricing` | string | Как Claude Code рассчитал `estimated_cache_write_usd`: `"configured"` — по собственным тарифам вашей организации, если она их настроила, `"catalog"` — по прейскурантной цене, или `"default"` — если цена `to_model` неизвестна и Claude Code использовал тариф по умолчанию |

3702 3696 


3757 3751 

3758Хук PreModelSwitch, не ответивший до истечения таймаута, блокирует переключение. Таймаут по умолчанию для этого события — 30 секунд.3752Хук PreModelSwitch, не ответивший до истечения таймаута, блокирует переключение. Таймаут по умолчанию для этого события — 30 секунд.

3759 3753 

3760О том, что происходит при коде выхода, отличном от 0 или 2, см. в разделе [Другие коды выхода](#other-exit-codes).3754Код выхода, отличный от 0 или 2, без корректного вывода JSON является [неблокирующей ошибкой](#other-exit-codes), поэтому переключение выполняется, за исключением хуков, [сбой которых его блокирует](#block-the-action-when-a-hook-fails).

3761 3755 

3762<h3 id="postmodelswitch">3756<h3 id="postmodelswitch">

3763 PostModelSwitch3757 PostModelSwitch


4275Что происходит при `ok: false`, зависит от события:4269Что происходит при `ok: false`, зависит от события:

4276 4270 

4277* `Stop` и `SubagentStop`: причина передаётся обратно Claude как его следующая инструкция и ход продолжается, если только ответ также не устанавливает `impossible: true`, в этом случае Claude Code позволяет остановке и ход заканчивается4271* `Stop` и `SubagentStop`: причина передаётся обратно Claude как его следующая инструкция и ход продолжается, если только ответ также не устанавливает `impossible: true`, в этом случае Claude Code позволяет остановке и ход заканчивается

4278* `PreToolUse`: вызов инструмента отклоняется; по умолчанию ход заканчивается и причина отказа появляется в чате как строка предупреждения. Установите `continueOnBlock: true` для возврата причины Claude как ошибки инструмента, чтобы он мог скорректировать и продолжить, эквивалентно `permissionDecision: "deny"` из command hook. До v2.1.210 причина отказа возвращалась Claude как ошибка инструмента и ход продолжался4272* `PreToolUse`: вызов инструмента отклоняется; по умолчанию ход заканчивается и причина отказа появляется в чате как строка предупреждения. Установите `continueOnBlock: true` для возврата причины Claude как ошибки инструмента, чтобы он мог скорректировать и продолжить, эквивалентно `permissionDecision: "deny"` из command hook

4279* `PostToolUse`: по умолчанию ход заканчивается и причина появляется в чате как строка предупреждения. Установите `continueOnBlock: true` для передачи причины обратно Claude и продолжения хода вместо этого4273* `PostToolUse`: по умолчанию ход заканчивается и причина появляется в чате как строка предупреждения. Установите `continueOnBlock: true` для передачи причины обратно Claude и продолжения хода вместо этого

4280* `PostToolBatch`, `UserPromptSubmit` и `UserPromptExpansion`: ход заканчивается и причина появляется как строка предупреждения. Эти события заканчивают ход на `decision: "block"` независимо от `continue`4274* `PostToolBatch`, `UserPromptSubmit` и `UserPromptExpansion`: ход заканчивается и причина появляется как строка предупреждения. Эти события заканчивают ход на `decision: "block"` независимо от `continue`

4281* `PostToolUseFailure` и `TaskCreated`: причина возвращается Claude как ошибка инструмента и ход продолжается, независимо от `continueOnBlock`4275* `PostToolUseFailure` и `TaskCreated`: причина возвращается Claude как ошибка инструмента и ход продолжается, независимо от `continueOnBlock`

hooks-guide.md +21 −26

Details

497 Как работают hooks497 Как работают hooks

498</h2>498</h2>

499 499 

500Claude Code срабатывает события hook в определённых точках жизненного цикла. Когда событие срабатывает, Claude Code запускает все соответствующие hooks параллельно; см. [Hook handler fields](/docs/ru/hooks#hook-handler-fields) для того, как обрабатываются дублирующиеся обработчики. Таблица ниже показывает каждое событие и когда оно срабатывает:500Claude Code запускает события хуков в определённых точках своего жизненного цикла. Когда событие срабатывает, Claude Code запускает соответствующие хуки параллельно; о том, как обрабатываются дублирующиеся обработчики, см. [Hook handler fields](/docs/ru/hooks#hook-handler-fields). В таблице ниже показано каждое событие и момент его срабатывания:

501 501 

502| Событие | Когда оно срабатывает |502| Событие | Когда оно срабатывает |

503| :- | :- |503| :- | :- |


627exit 0 # exit 0 = решения нет; применяется обычный поток разрешений627exit 0 # exit 0 = решения нет; применяется обычный поток разрешений

628```628```

629 629 

630Код выхода определяет, что происходит дальше:630При коде выхода, отличном от 0 и 2, и отсутствии корректного вывода JSON действие для большинства событий продолжается, если только хук не относится к тем, [чей сбой блокирует действие](/docs/ru/hooks#block-the-action-when-a-hook-fails). Один из примеров — хук с `onFailure`, установленным в `"block"`. Завершитесь с кодом 0, чтобы сообщить об отсутствии возражений, или с кодом 2, чтобы заблокировать действие:

631 631 

632* **Exit 0**: ваш hook не возражает через код выхода.632* **Exit 0**: если хук `PreToolUse` завершается с кодом 0, вызов инструмента всё равно проходит обычный [поток разрешений](/docs/ru/permissions), потому что код 0 его не одобряет. Для хуков `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` и `PostModelSwitch` Claude Code добавляет в контекст Claude stdout, который он [обрабатывает как простой текст](/docs/ru/hooks#exit-code-0).

633 * Для hook `PreToolUse` это не одобряет вызов инструмента: нормальный [permission flow](/docs/ru/permissions) по-прежнему применяется.633* **Exit 2**: запишите причину в stderr. В зависимости от события Claude получает её как обратную связь, чтобы скорректировать действия, её видит пользователь или никакое сообщение не выводится, как в случае с `ConfigChange` и `Elicitation`. Некоторые события нельзя заблокировать: для `SessionStart` и других код 2 показывает stderr пользователю, и выполнение продолжается. Полный список см. в [exit code 2 behavior per event](/docs/ru/hooks#exit-code-2-behavior-per-event).

634 * Для hooks `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` и `PostModelSwitch`, Claude Code добавляет stdout, который он [обрабатывает как простой текст](/docs/ru/hooks#exit-code-0), в контекст Claude.634* **Любой другой код выхода**: исключения для отдельных событий, например `WorktreeCreate`, который завершается неудачей при любом ненулевом коде выхода, см. в [Exit code output](/docs/ru/hooks#exit-code-output). Для остальных событий, если хук не относится к тем, чей сбой блокирует действие, найдите свой случай по тому, что хук вывел в stdout:

635* **Exit 2**: Claude Code блокирует действие. Напишите причину в stderr. Где она попадает, зависит от события: некоторые события передают её Claude как обратную связь, чтобы он мог скорректировать, другие показывают её пользователю, а несколько, таких как `ConfigChange` и `Elicitation`, не выводят никакого сообщения. Некоторые события не могут быть заблокированы: для `SessionStart` и других, exit 2 показывает stderr пользователю и выполнение продолжается. См. [exit code 2 behavior per event](/docs/ru/hooks#exit-code-2-behavior-per-event) для полного списка.635 * Разобранный объект, который проходит проверку схемы: Claude Code игнорирует код выхода, результат определяет только JSON, и хук не помечается как ошибка.

636* **Любой другой код выхода**: для большинства событий действие продолжается как [неблокирующая ошибка](/docs/ru/hooks#exit-code-output), если только хук не относится к тем, [чей сбой блокирует действие](/docs/ru/hooks#block-the-action-when-a-hook-fails), или его вывод JSON не проходит проверку:636 * Разобранный объект, который не проходит проверку схемы, или stdout, который Claude Code [пытается разобрать как JSON](/docs/ru/hooks#exit-code-0), но который не является корректным JSON: действие продолжается как неблокирующая ошибка. Сообщение проверки или разбора ищите в уведомлении `<hook name> hook error`.

637 * Разобранный объект, который проходит проверку схемы: Claude Code игнорирует код выхода, результат определяет только JSON, и хук не сообщается как ошибка. Исключения для отдельных событий, например `WorktreeCreate`, который завершается неудачей при любом ненулевом коде выхода, перечислены в разделе справочника [Exit code output](/docs/ru/hooks#exit-code-output).637 * Stdout, который Claude Code [обрабатывает как простой текст](/docs/ru/hooks#exit-code-0), или пустой stdout: действие продолжается как неблокирующая ошибка. В транскрипте отображается уведомление `<hook name> hook error`, а затем первая строка stderr с префиксом `Failed with non-blocking status code:`. Чтобы получить полный stderr, включите [отладочное логирование](/docs/ru/hooks#debug-hooks) с помощью `claude --debug` или запустив `/debug` во время сессии.

638 * Разобранный объект, который не проходит проверку схемы, или stdout, который Claude Code [пытается разобрать как JSON](/docs/ru/hooks#exit-code-0), но который не является корректным JSON: неблокирующая ошибка; уведомление содержит сообщение проверки или разбора.

639 * Stdout, который Claude Code [обрабатывает как простой текст](/docs/ru/hooks#exit-code-0), или пустой stdout: действие продолжается как неблокирующая ошибка. В транскрипте отображается уведомление `<hook name> hook error`, а затем первая строка stderr с префиксом `Failed with non-blocking status code:`. Чтобы получить полный stderr, включите [debug logging](/docs/ru/hooks#debug-hooks) с помощью `claude --debug` или запустив `/debug` во время сессии.

640 638 

641<h4 id="structured-json-output">639<h4 id="structured-json-output">

642 Структурированный вывод JSON640 Структурированный вывод JSON


662 660 

663С `"deny"` Claude Code отменяет вызов инструмента и передаёт `permissionDecisionReason` обратно Claude.661С `"deny"` Claude Code отменяет вызов инструмента и передаёт `permissionDecisionReason` обратно Claude.

664 662 

665На `PreToolUse` Claude Code обрабатывает каждое значение `permissionDecision` следующим образом:663Для `PreToolUse` также можно вернуть `"ask"`, чтобы показать пользователю обычный запрос разрешения, или `"allow"`, чтобы пропустить интерактивный запрос разрешения. При `"allow"` правила запрета и запроса, включая управляемые списки запретов предприятия, по-прежнему применяются, как и запросы для:

666 664 

667* `"allow"`: пропустить интерактивный запрос разрешения. Правила запрета и запроса, включая управляемые списки запретов предприятия, по-прежнему применяются, как и запросы для:665* Чтения из [сетевых путей](/docs/ru/permissions#network-paths)

668 666* MCP-инструментов, помеченных [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool)

669 * Чтения из [сетевых путей](/docs/ru/permissions#network-paths)667* Инструментов коннекторов, [для которых ваша организация установила `ask`](/docs/ru/mcp#organization-controls-on-connector-tools), в сессиях, где эта настройка доходит до Claude Code

670 * MCP-инструментов, помеченных [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool)

671 * Инструментов коннекторов, [для которых ваша организация установила `ask`](/docs/ru/mcp#organization-controls-on-connector-tools), в сессиях, где эта настройка доходит до Claude Code

672 668 

673 О том, что делает `"allow"` в режиме планирования, см. [Hook approvals in plan mode](/docs/ru/permissions#hook-approvals-in-plan-mode).669 О том, что делает `"allow"` в режиме планирования, см. [Hook approvals in plan mode](/docs/ru/permissions#hook-approvals-in-plan-mode).

674* `"deny"`: отменить вызов инструмента и отправить причину Claude

675* `"ask"`: показать запрос разрешения пользователю как обычно

676 670 

677Четвёртое значение, `"defer"`, доступно в [non-interactive mode](/docs/ru/headless) с флагом `-p`. Оно выходит из процесса с сохранённым вызовом инструмента, чтобы обёртка Agent SDK могла собрать ввод и возобновить. См. [Defer a tool call for later](/docs/ru/hooks#defer-a-tool-call-for-later) в справочнике.671Четвёртое значение, `"defer"`, доступно в [non-interactive mode](/docs/ru/headless) с флагом `-p`. Оно выходит из процесса с сохранённым вызовом инструмента, чтобы обёртка Agent SDK могла собрать ввод и возобновить. См. [Defer a tool call for later](/docs/ru/hooks#defer-a-tool-call-for-later) в справочнике.

678 672 


893* `"ok": true`: действие продолжается887* `"ok": true`: действие продолжается

894* `"ok": false`: что происходит, зависит от события:888* `"ok": false`: что происходит, зависит от события:

895 * `Stop` и `SubagentStop`: значение `reason` передаётся обратно Claude, чтобы он продолжал работать, если только ответ также не устанавливает `"impossible": true` для обозначения условия, которое никогда не может быть выполнено, в этом случае Claude Code разрешает остановку и ход завершается889 * `Stop` и `SubagentStop`: значение `reason` передаётся обратно Claude, чтобы он продолжал работать, если только ответ также не устанавливает `"impossible": true` для обозначения условия, которое никогда не может быть выполнено, в этом случае Claude Code разрешает остановку и ход завершается

896 * `PreToolUse`: вызов инструмента отклоняется; по умолчанию ход завершается и значение `reason` отказа появляется в чате как строка предупреждения. Установите `continueOnBlock: true` на hook, чтобы вместо этого вернуть значение `reason` Claude как ошибку инструмента, чтобы он мог скорректировать и продолжить. До версии 2.1.210 значение `reason` отказа возвращалось Claude как ошибка инструмента и ход продолжался890 * `PreToolUse`: вызов инструмента отклоняется; по умолчанию ход завершается и значение `reason` отказа появляется в чате как строка предупреждения. Установите `continueOnBlock: true` для хука, чтобы вместо этого вернуть значение `reason` Claude как ошибку инструмента, чтобы он мог скорректировать действия и продолжить

897 * `PostToolUse`: по умолчанию ход завершается и значение `reason` появляется в чате как строка предупреждения. Установите `continueOnBlock: true`, чтобы передать значение `reason` обратно Claude и продолжить ход вместо этого891 * `PostToolUse`: по умолчанию ход завершается и значение `reason` появляется в чате как строка предупреждения. Установите `continueOnBlock: true`, чтобы вместо этого передать значение `reason` обратно Claude и продолжить ход

898 * `PostToolBatch`, `UserPromptSubmit` и `UserPromptExpansion`: ход завершается и значение `reason` появляется в чате как строка предупреждения892 * `PostToolBatch`, `UserPromptSubmit` и `UserPromptExpansion`: ход завершается и значение `reason` появляется в чате как строка предупреждения

899 893 

900Этот пример использует hook `Stop` для запроса модели, завершены ли все запрошенные задачи. Если модель возвращает `"ok": false`, потому что условие ещё не выполнено, Claude продолжает работать и использует значение `reason` как свою следующую инструкцию:894Этот пример использует hook `Stop` для запроса модели, завершены ли все запрошенные задачи. Если модель возвращает `"ok": false`, потому что условие ещё не выполнено, Claude продолжает работать и использует значение `reason` как свою следующую инструкцию:


1019 Hooks и режимы разрешений1013 Hooks и режимы разрешений

1020</h3>1014</h3>

1021 1015 

1022Hooks `PreToolUse` срабатывают перед любой проверкой режима разрешений в каждом [режиме разрешений](/docs/ru/permission-modes), включая `dontAsk`. Hook, возвращающий `permissionDecision: "deny"`, блокирует инструмент даже в режиме `bypassPermissions` или с `--dangerously-skip-permissions`. Это позволяет вам применять политику, которую пользователи не могут обойти, изменив свой режим разрешений.1016С помощью хука в файле настроек или в `hooks/hooks.json` плагина нельзя ослабить ограничения сверх того, что разрешают правила разрешений, а `"deny"` хука действует в каждом режиме разрешений:

1023 

1024Обратное неверно: хуки в файлах настроек и в `hooks/hooks.json` плагина могут ужесточить ограничения, но не ослабить их сверх того, что разрешают правила разрешений. Хук, возвращающий `"allow"`, не обходит правила запрета из настроек и не может подавить запрос для:

1025 1017 

1026* Чтения из [сетевых путей](/docs/ru/permissions#network-paths)1018* **Что по-прежнему имеет приоритет над `"allow"`**: хук, возвращающий `"allow"`, не обходит правила запрета из настроек и не может подавить запрос для:

1027* Инструментов MCP, отмеченных [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool)1019 * Чтения из [сетевых путей](/docs/ru/permissions#network-paths)

1028* Инструментов коннекторов, [которые ваша организация установила на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools), в сессиях, где эта настройка достигает Claude Code1020 * Инструментов MCP, отмеченных [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool)

1021 * Инструментов коннекторов, [которые ваша организация установила на `ask`](/docs/ru/mcp#organization-controls-on-connector-tools), в сессиях, где эта настройка достигает Claude Code

1029 1022 

1030В [режиме планирования](/docs/ru/permissions#hook-approvals-in-plan-mode), если ваш хук `PreToolUse` возвращает `"allow"` для редактирования файла, вы получаете тот же запрос, блокировку или подтверждение, которые редактирование получило бы без хука. Чтобы снять это ограничение на подтверждения хуками, [утвердите план](/docs/ru/permission-modes#review-and-approve-a-plan) или переключитесь на другой режим разрешений.1023В [режиме планирования](/docs/ru/permissions#hook-approvals-in-plan-mode), если ваш хук `PreToolUse` возвращает `"allow"` для редактирования файла, вы получаете тот же запрос, блокировку или подтверждение, которые редактирование получило бы без хука. Чтобы снять это ограничение на подтверждения хуками, [утвердите план](/docs/ru/permission-modes#review-and-approve-a-plan) или переключитесь на другой режим разрешений.

1031 1024 

1025* **`"deny"` в каждом режиме разрешений**: хук, возвращающий `permissionDecision: "deny"`, блокирует инструмент даже в режиме `bypassPermissions` или с `--dangerously-skip-permissions`. Хуки `PreToolUse` срабатывают перед любой проверкой режима разрешений в каждом [режиме разрешений](/docs/ru/permission-modes), включая `dontAsk`. Это позволяет вам применять политику, которую пользователи не могут обойти, изменив свой режим разрешений.

1026 

1032Установленный вами [мод](/docs/ru/plugins/mods/overview), который обрабатывает `tool.check`, может одобрить вызов, заблокированный вашим хуком `PreToolUse`, если только этот хук не находится в управляемых настройках. В режиме планирования мод может одобрить такой вызов, если он только для чтения, но не редактирование файла или другой вызов, который не является вызовом только для чтения. В разделе [Расширение разрешений с помощью хуков](/docs/ru/permissions#extend-permissions-with-hooks) перечислено, какие правила имеют приоритет над модом.1027Установленный вами [мод](/docs/ru/plugins/mods/overview), который обрабатывает `tool.check`, может одобрить вызов, заблокированный вашим хуком `PreToolUse`, если только этот хук не находится в управляемых настройках. В режиме планирования мод может одобрить такой вызов, если он только для чтения, но не редактирование файла или другой вызов, который не является вызовом только для чтения. В разделе [Расширение разрешений с помощью хуков](/docs/ru/permissions#extend-permissions-with-hooks) перечислено, какие правила имеют приоритет над модом.

1033 1028 

1034<h3 id="hook-not-firing">1029<h3 id="hook-not-firing">

Details

183 Переназначение последовательностей клавиш в режиме INSERT183 Переназначение последовательностей клавиш в режиме INSERT

184</h3>184</h3>

185 185 

186Параметр [`vimInsertModeRemaps`](/docs/ru/settings-reference#viminsertmoderemaps) отображает двухклавишную последовательность режима INSERT на Escape, поэтому отображение, такое как `jj`, возвращает вас в режим NORMAL. Требует Claude Code v2.1.208 или более позднюю версию.186Параметр [`vimInsertModeRemaps`](/docs/ru/settings-reference#viminsertmoderemaps) отображает двухклавишную последовательность режима INSERT на Escape, поэтому отображение, такое как `jj`, возвращает вас в режим NORMAL.

187 187 

188Следующий пример `~/.claude/settings.json` включает режим vim и отображает `jj` на Escape:188Следующий пример `~/.claude/settings.json` включает режим vim и отображает `jj` на Escape:

189 189 


248| `cc` | Изменить строку |248| `cc` | Изменить строку |

249| `C` | Изменить до конца строки |249| `C` | Изменить до конца строки |

250| `cw`/`ce`/`cb` | Изменить слово/до конца/назад |250| `cw`/`ce`/`cb` | Изменить слово/до конца/назад |

251| `s` | Заменить символ: удалить символ под курсором и перейти в режим INSERT. Требует Claude Code v2.1.211 или более позднюю версию |251| `s` | Заменить символ: удалить символ под курсором и перейти в режим INSERT |

252| `S` | Заменить строку: очистить строку и перейти в режим INSERT. Требует Claude Code v2.1.211 или более позднюю версию |252| `S` | Заменить строку: очистить строку и перейти в режим INSERT |

253| `yy`/`Y` | Скопировать строку |253| `yy`/`Y` | Скопировать строку |

254| `yw`/`ye`/`yb` | Скопировать слово/до конца/назад |254| `yw`/`ye`/`yb` | Скопировать слово/до конца/назад |

255| `p` | Вставить после курсора |255| `p` | Вставить после курсора |


471* После первого хода разговора в некоторых сеансах471* После первого хода разговора в некоторых сеансах

472* Предыдущий ответ закончился ошибкой472* Предыдущий ответ закончился ошибкой

473* Пока вы находитесь в Plan Mode473* Пока вы находитесь в Plan Mode

474* Ваш аккаунт близок к лимиту использования или достиг его. Чтобы сохранить предложения включенными до достижения лимита, установите [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/ru/env-vars) в `true`. До версии 2.1.238 Claude Code пропускал их рядом с лимитом даже с переменной, установленной в `true`474* Ваш аккаунт близок к лимиту использования или достиг его. Чтобы этот пропуск не применялся до достижения лимита, установите [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/ru/env-vars) в `true`. До версии 2.1.238 Claude Code пропускал предложения рядом с лимитом даже с переменной, установленной в `true`

475* В [команде агентов](/docs/ru/agent-teams), в сеансах товарищей по команде по умолчанию. Сеанс лидера показывает предложения475* В [команде агентов](/docs/ru/agent-teams), в сеансах товарищей по команде по умолчанию. Сеанс лидера показывает предложения

476 476 

477Уведомление `Showing fewer prompt suggestions · use one to bring them back` означает, что Claude Code показывает предложения реже, потому что вы оставили много предложений подряд неиспользованными. Чтобы вернуть обычную частоту, воспользуйтесь предложением или установите [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/ru/env-vars) в `true`.477Уведомление `Showing fewer prompt suggestions · use one to bring them back` означает, что Claude Code показывает предложения реже, потому что вы оставили много предложений подряд неиспользованными. Чтобы вернуть обычную частоту, воспользуйтесь предложением или установите [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/ru/env-vars) в `true`.


759 759 

760Ваши пять самых новых более ранних боковых вопросов появляются как затемнённый список над текущим ответом с подсчётом любых более старых. Они остаются вне истории разговора.760Ваши пять самых новых более ранних боковых вопросов появляются как затемнённый список над текущим ответом с подсчётом любых более старых. Они остаются вне истории разговора.

761 761 

762Чтобы вернуться к оверлею после его закрытия, запустите `/btw` без вопроса. Оверлей снова откроется на вашем самом последнем обмене. До версии 2.1.212 `/btw` без вопроса выводил сообщение об использовании вместо этого.762Чтобы вернуться к оверлею после его закрытия, запустите `/btw` без вопроса. Оверлей снова откроется на вашем самом последнем обмене.

763 763 

764После появления ответа оверлей принимает эти клавиши.764После появления ответа оверлей принимает эти клавиши.

765 765 

keybindings.md +5 −6

Details

334}334}

335```335```

336 336 

337До v2.1.283 этот список игнорировал привязки Select и имел собственные действия: `messageSelector:up`, `messageSelector:down`, `messageSelector:top`, `messageSelector:bottom` и `messageSelector:select`. Если ваш `keybindings.json` привязывает одно из этих имён, привязка продолжает работать в этом списке как действие Select, которое делает то же самое. `Home` и `End` прыгают на любой конец списка; до v2.1.283 клавиши, такие как `Shift+K` и `Shift+J`, делали это по умолчанию.337До v2.1.283 этот список игнорировал привязки `Select` и имел собственные действия: `messageSelector:up`, `messageSelector:down`, `messageSelector:top`, `messageSelector:bottom` и `messageSelector:select`. Если ваш `keybindings.json` привязывает одно из этих имён, привязка продолжает работать в этом списке как действие Select, которое делает то же самое. `Home` и `End` прыгают на любой конец списка; до v2.1.283 клавиши, такие как `Shift+K` и `Shift+J`, делали это по умолчанию.

338 338 

339<h3 id="diff-actions">339<h3 id="diff-actions">

340 Действия diff340 Действия diff


355 355 

356Список файлов также реагирует на [действия выбора](#select-actions), через их клавиши по умолчанию и ваши привязки `Select`. `select:previous` и `select:next` перемещаются к предыдущему и следующему файлу, а `Enter` открывает diff выбранного файла через `select:accept`. Чтобы изменить одну из этих клавиш только для списка файлов, привяжите действие Select в блоке `DiffDialog`.356Список файлов также реагирует на [действия выбора](#select-actions), через их клавиши по умолчанию и ваши привязки `Select`. `select:previous` и `select:next` перемещаются к предыдущему и следующему файлу, а `Enter` открывает diff выбранного файла через `select:accept`. Чтобы изменить одну из этих клавиш только для списка файлов, привяжите действие Select в блоке `DiffDialog`.

357 357 

358До v2.1.283 список файлов игнорировал привязки Select, и `Enter` открывал diff выбранного файла через отдельное действие `diff:viewDetails`. Если ваш `keybindings.json` привязывает `diff:viewDetails`, привязка продолжает работать в списке файлов как `select:accept`.358До v2.1.283 список файлов игнорировал привязки `Select`, и `Enter` открывал diff выбранного файла через отдельное действие `diff:viewDetails`. Если ваш `keybindings.json` привязывает `diff:viewDetails`, привязка продолжает работать в списке файлов как `select:accept`.

359 359 

360Представление деталей diff также привязывает клавиши в стиле пейджера к стандартным [действиям прокрутки](#scroll-actions). Эти привязки являются частью контекста `DiffDialog` и применяются только в представлении деталей; значения по умолчанию контекста `Scroll`, указанные в разделе [Действия прокрутки](#scroll-actions), остаются неизменными.360Представление деталей diff также привязывает клавиши в стиле пейджера к стандартным [действиям прокрутки](#scroll-actions). Эти привязки являются частью контекста `DiffDialog` и применяются только в представлении деталей; значения по умолчанию контекста `Scroll`, указанные в разделе [Действия прокрутки](#scroll-actions), остаются неизменными.

361 361 


462| `abovePrompt:highlightNext` | Down | Выделить следующий вариант в списке выбора, находящемся в фокусе |462| `abovePrompt:highlightNext` | Down | Выделить следующий вариант в списке выбора, находящемся в фокусе |

463| `abovePrompt:highlightPrevious` | Up | Выделить предыдущий вариант в списке выбора, находящемся в фокусе |463| `abovePrompt:highlightPrevious` | Up | Выделить предыдущий вариант в списке выбора, находящемся в фокусе |

464 464 

465Два контекста по умолчанию привязывают к этим действиям дополнительные клавиши:465В [контексте `AbovePrompt`](#contexts) Right и Left по умолчанию также выполняют `abovePrompt:next` и `abovePrompt:previous`, а Space также выполняет `abovePrompt:press`.

466 

467* **`AbovePrompt`**: Right и Left также выполняют `abovePrompt:next` и `abovePrompt:previous`, а Space также выполняет `abovePrompt:press`

468* **`AbovePromptInput`**: Down и Up также выполняют `abovePrompt:next` и `abovePrompt:previous`

469 466 

470Контекст `AbovePrompt` также привязывает Up, Down, PageUp, PageDown, Home и End к [действиям прокрутки панели](#pane-actions) от `pane:scrollUp` до `pane:bottom`, поэтому, чтобы изменить одну из этих клавиш для полосы, привяжите действие прокрутки в блоке `AbovePrompt`.467Контекст `AbovePrompt` также привязывает Up, Down, PageUp, PageDown, Home и End к [действиям прокрутки панели](#pane-actions) от `pane:scrollUp` до `pane:bottom`, поэтому, чтобы изменить одну из этих клавиш для полосы, привяжите действие прокрутки в блоке `AbovePrompt`.

471 468 


769* В режиме vim NORMAL `?` показывает меню справки (поведение vim)766* В режиме vim NORMAL `?` показывает меню справки (поведение vim)

770* В режиме vim NORMAL `/` открывает поиск по истории, то же самое, что Ctrl+R в стандартном режиме767* В режиме vim NORMAL `/` открывает поиск по истории, то же самое, что Ctrl+R в стандартном режиме

771 768 

769В строке `Other` вопроса, который задает Claude, клавиша Escape в режиме vim не отменяет вопрос сразу. За исключением [режима программы чтения с экрана](/docs/ru/accessibility), строка переходит в режим INSERT каждый раз, когда вы переводите на нее фокус. Когда вы нажимаете Escape в строке `Other`, строка переключается в режим NORMAL или сбрасывает частично набранную команду vim, а вопрос остается открытым. Нажмите Escape еще раз в режиме NORMAL, чтобы отменить вопрос.

770 

772<h2 id="validation">771<h2 id="validation">

773 Валидация772 Валидация

774</h2>773</h2>

mcp.md +5 −5

Details

324* Для сервера в локальной, проектной или пользовательской [области действия](#mcp-installation-scopes) или в управляемой конфигурации MCP origin показывает хост в том виде, в каком он записан в этой конфигурации, поэтому ссылка `${VAR}` в хосте в сообщении не раскрывается.324* Для сервера в локальной, проектной или пользовательской [области действия](#mcp-installation-scopes) или в управляемой конфигурации MCP origin показывает хост в том виде, в каком он записан в этой конфигурации, поэтому ссылка `${VAR}` в хосте в сообщении не раскрывается.

325* Для сбоя без статуса или кода ошибки Claude Code показывает текст ошибки без origin.325* Для сбоя без статуса или кода ошибки Claude Code показывает текст ошибки без origin.

326 326 

327Удалённый сервер, в конфигурации которого указан пустой `url`, отображается как `not configured` в `/mcp`, в `claude mcp list` и в менеджере [`/plugin`](/docs/ru/plugins/install), и Claude Code не пытается к нему подключиться. Плагин может включать такую запись-заполнитель для коннектора, который вы настроите позже, поэтому Claude Code не сообщает о ней как об ошибке или проблеме настройки. В подробном представлении сервера в `/mcp` отображается `No URL configured for this server`; укажите `url` записи, чтобы подключить его. До версии v2.1.208 Claude Code сообщал о пустом `url` как о проблеме конфигурации с предложением переподключиться.327Удалённый сервер, в конфигурации которого указан пустой `url`, отображается как `not configured` в `/mcp`, в `claude mcp list` и в менеджере [`/plugin`](/docs/ru/plugins/install), и Claude Code не пытается к нему подключиться. Плагин может включать такую запись-заполнитель для коннектора, который вы настроите позже, поэтому Claude Code не сообщает о ней как об ошибке или проблеме настройки. В подробном представлении сервера в `/mcp` отображается `No URL configured for this server`; укажите `url` записи, чтобы подключить его.

328 328 

329<h4 id="configuration-warnings">329<h4 id="configuration-warnings">

330 Предупреждения о конфигурации330 Предупреждения о конфигурации


403* **В интерактивной сессии терминала** Claude Code получает обновлённый список с этого сервера, поэтому вам не нужно его переподключать.403* **В интерактивной сессии терминала** Claude Code получает обновлённый список с этого сервера, поэтому вам не нужно его переподключать.

404* **В [неинтерактивном режиме](/docs/ru/headless) с флагом `-p` и в [Agent SDK](/docs/ru/agent-sdk/overview)** Claude Code при этих уведомлениях обновляет только список инструментов.404* **В [неинтерактивном режиме](/docs/ru/headless) с флагом `-p` и в [Agent SDK](/docs/ru/agent-sdk/overview)** Claude Code при этих уведомлениях обновляет только список инструментов.

405 405 

406Если запрос на обновление не удаётся, Claude Code сохраняет ранее обнаруженные инструменты, промпты и ресурсы сервера, пока последующее обновление не завершится успешно. До версии v2.1.214 временная ошибка во время обновления заменяла инструменты, промпты и ресурсы сервера пустым списком.406Если запрос на обновление не удаётся, Claude Code сохраняет ранее обнаруженные инструменты, промпты и ресурсы сервера, пока последующее обновление не завершится успешно.

407 407 

408<h4 id="notification-streams-on-the-v2-runtime">408<h4 id="notification-streams-on-the-v2-runtime">

409 Потоки уведомлений в среде выполнения v2409 Потоки уведомлений в среде выполнения v2


502 Автоматический перевод долгих вызовов инструментов в фон502 Автоматический перевод долгих вызовов инструментов в фон

503</h3>503</h3>

504 504 

505Вызов инструмента MCP в основном диалоге, который всё ещё выполняется через две минуты, переходит в фоновую задачу, а не блокирует сессию. Claude сразу получает ID задачи и продолжает работу, а результат приходит в виде уведомления задачи, когда вызов завершается. Автоматический перевод в фон требует Claude Code v2.1.212 или новее.505Вызов инструмента MCP в основном диалоге, который всё ещё выполняется через две минуты, переходит в фоновую задачу, а не блокирует сессию. Claude сразу получает ID задачи и продолжает работу, а результат приходит в виде уведомления задачи, когда вызов завершается.

506 506 

507Задача отображается в [`/tasks`](/docs/ru/commands#all-commands), где вы также можете её остановить, и она не сохраняется после выхода из сессии. В записи задачи отображается последний прогресс, о котором сообщил сервер. Если вы остановите задачу, Claude Code отменит вызов и сообщит Claude, что результата не будет. Остановка не гарантирует, что остановится сервер: он мог уже выполнить часть работы или всё же завершить её.507Задача отображается в [`/tasks`](/docs/ru/commands#all-commands), где вы также можете её остановить, и она не сохраняется после выхода из сессии. В записи задачи отображается последний прогресс, о котором сообщил сервер. Если вы остановите задачу, Claude Code отменит вызов и сообщит Claude, что результата не будет. Остановка не гарантирует, что остановится сервер: он мог уже выполнить часть работы или всё же завершить её.

508 508 


1301 Как connectors достигают Claude Code1301 Как connectors достигают Claude Code

1302</h3>1302</h3>

1303 1303 

1304Какие параметры управляют connector из claude.ai, зависит от того, где работает ваш сеанс, потому что только некоторые сеансы сами загружают connectors из claude.ai. Каждая строка ниже указывает, как connectors поступают в один вид сеанса и что ими управляет там. [WSL сеансы](/docs/ru/desktop-wsl#what-works-in-a-wsl-session) настольного приложения не имеют строки, потому что connectors в них пока недоступны.1304Какие настройки управляют коннектором claude.ai, зависит от того, где работает ваша сессия, потому что только некоторые сессии сами загружают коннекторы из claude.ai. Каждая строка ниже указывает, как коннекторы поступают в сессию определённого вида и что ими там управляет. Для WSL-сессий настольного приложения строки нет, потому что коннекторы для них [ещё внедряются](/docs/ru/desktop-wsl#check-for-the-terminal-and-connectors).

1305 1305 

1306| Где работает сеанс | Как поступают connectors | Что ими управляет |1306| Где работает сеанс | Как поступают connectors | Что ими управляет |

1307| :- | :- | :- |1307| :- | :- | :- |


1531 1531 

1532Некоторые интерфейсы, такие как [Remote Control](/docs/ru/remote-control) и приложения, созданные на основе [Agent SDK](/docs/ru/agent-sdk/overview), обычно позволяют вам подтверждать вызовы инструментов одним касанием. Для инструмента, отмеченного этой аннотацией, Claude Code скрывает действие одного касания и вместо этого показывает полный запрос разрешения инструмента, поэтому подтверждение по-прежнему исходит от человека, отвечающего на запрос, а не от касания.1532Некоторые интерфейсы, такие как [Remote Control](/docs/ru/remote-control) и приложения, созданные на основе [Agent SDK](/docs/ru/agent-sdk/overview), обычно позволяют вам подтверждать вызовы инструментов одним касанием. Для инструмента, отмеченного этой аннотацией, Claude Code скрывает действие одного касания и вместо этого показывает полный запрос разрешения инструмента, поэтому подтверждение по-прежнему исходит от человека, отвечающего на запрос, а не от касания.

1533 1533 

1534Claude Code таким же образом скрывает подтверждение одним касанием для любого запроса разрешения, который может полностью отобразить только диалог терминала, например запроса, содержащего предупреждение безопасности или опцию «всегда разрешать», которую удалённый интерфейс не может показать. Вы отвечаете на такой запрос в диалоге терминала, а не из Remote Control. Требуется Claude Code v2.1.214 или более поздней версии.1534Claude Code таким же образом скрывает подтверждение одним касанием для любого запроса разрешения, который может полностью отобразить только диалог терминала, например запроса, содержащего предупреждение безопасности или опцию «всегда разрешать», которую удалённый интерфейс не может показать. Вы отвечаете на такой запрос в диалоге терминала, а не из Remote Control.

1535 1535 

1536<h2 id="respond-to-mcp-elicitation-requests">1536<h2 id="respond-to-mcp-elicitation-requests">

1537 Ответ на запросы elicitation MCP1537 Ответ на запросы elicitation MCP

memory.md +7 −7

Details

521* Copilot rules в `.github/copilot-instructions.md`521* Copilot rules в `.github/copilot-instructions.md`

522* С установленным `CLAUDE_CODE_NEW_INIT=1`: `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` или `.windsurfrules`, и `.clinerules`522* С установленным `CLAUDE_CODE_NEW_INIT=1`: `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` или `.windsurfrules`, и `.clinerules`

523 523 

524Вы также можете запустить [`/import`](/docs/ru/commands), чтобы привести конфигурацию поддерживаемого AI-агента кодирования в Claude Code, который добавляет одноразовую копию файлов инструкций, таких как `AGENTS.md`, в соответствующий `CLAUDE.md` и переносит MCP servers, commands, subagents и skills. Требует Claude Code v2.1.213 или более поздней версии.524Вы также можете запустить [`/import`](/docs/ru/commands), чтобы перенести конфигурацию поддерживаемого агента кодирования в Claude Code: эта команда добавляет одноразовую копию файлов инструкций, таких как `AGENTS.md`, в соответствующий `CLAUDE.md` и переносит MCP-серверы, команды, субагентов и скиллы.

525 525 

526<h2 id="auto-memory">526<h2 id="auto-memory">

527 Auto memory527 Auto memory


587 587 

588```text theme={null}588```text theme={null}

589~/.claude/projects/<project>/memory/589~/.claude/projects/<project>/memory/

590├── MEMORY.md # Индекс, одна строка на память, загружается в каждый сеанс590├── MEMORY.md # Index, one line per memory, loaded into every session

591├── user_role.md # Одна память591├── user_role.md # One memory

592├── feedback_testing.md # Одна память592├── feedback_testing.md # One memory

593└── ... # Любые другие файлы по темам, которые создаёт Claude593└── ... # Any other topic files Claude creates

594```594```

595 595 

596`MEMORY.md` служит индексом каталога памяти. Claude читает и пишет файлы в этом каталоге на протяжении вашего сеанса, используя `MEMORY.md` для отслеживания того, что хранится где.596`MEMORY.md` служит индексом каталога памяти. Claude читает и пишет файлы в этом каталоге на протяжении вашего сеанса, используя `MEMORY.md` для отслеживания того, что хранится где.


605 605 

606Первые 200 строк `MEMORY.md`, или первые 25KB, в зависимости от того, что наступит раньше, загружаются в начале каждого разговора. Содержимое после этого порога не загружается при запуске сеанса. Claude держит `MEMORY.md` лаконичным, перемещая подробные заметки в отдельные файлы по темам.606Первые 200 строк `MEMORY.md`, или первые 25KB, в зависимости от того, что наступит раньше, загружаются в начале каждого разговора. Содержимое после этого порога не загружается при запуске сеанса. Claude держит `MEMORY.md` лаконичным, перемещая подробные заметки в отдельные файлы по темам.

607 607 

608После того как Claude пишет в `MEMORY.md`, Claude Code измеряет файл в соответствии с ограничениями чтения в 200 строк и 25KB. Если файл близок к ограничению, Claude Code напоминает Claude сократить его: оставить одну строку на запись, переместить детали в файлы по темам и объединить или удалить устаревшие записи. Если файл превышает ограничение, запись всё ещё успешна, но Claude Code возвращает [ошибку, указывающую Claude переписать индекс](/docs/ru/errors#memory-index-is-over-its-read-limit), потому что всё после ограничения отбрасывается при следующей загрузке.608После того как Claude записывает в `MEMORY.md`, Claude Code сверяет файл с ограничениями чтения в 200 строк и 25KB. Если файл близок к ограничению, Claude Code напоминает Claude сократить его: оставить одну строку на запись, перенести подробности в файлы тем и объединить или удалить устаревшие записи. Если файл превышает ограничение, запись всё равно выполняется, но Claude Code возвращает [ошибку, указывающую Claude переписать индекс](/docs/ru/errors#memory-index-is-over-its-read-limit), потому что всё, что находится за пределом, отбрасывается при следующей загрузке.

609 609 

610Это ограничение применяется только к `MEMORY.md`. Claude Code загружает файл CLAUDE.md размером до 4 MiB полностью и пропускает больший файл. Более короткие файлы дают лучшее соблюдение.610Это ограничение применяется только к `MEMORY.md`. Claude Code загружает файл CLAUDE.md размером до 4 MiB полностью и пропускает больший файл. Более короткие файлы дают лучшее соблюдение.

611 611 


615 615 

616Claude читает и пишет файлы памяти во время вашего сеанса. Когда вы видите сообщения вроде "Saved 2 memories" или "Recalled 2 memories" в интерфейсе Claude Code, Claude активно обновляет или читает из `~/.claude/projects/<project>/memory/`.616Claude читает и пишет файлы памяти во время вашего сеанса. Когда вы видите сообщения вроде "Saved 2 memories" или "Recalled 2 memories" в интерфейсе Claude Code, Claude активно обновляет или читает из `~/.claude/projects/<project>/memory/`.

617 617 

618Когда Claude пишет файл памяти, который начинается с YAML frontmatter, Claude Code записывает время записи в поле `modified` frontmatter как временную метку ISO 8601. Временная метка показывает, насколько актуален факт, как для вас, так и для Claude, когда он читает память обратно. Любой файл, который имеет frontmatter, получает это поле при следующей записи Claude, включая файлы, созданные в более ранних версиях; Claude Code никогда не добавляет frontmatter к файлу, который его не имеет. Поле `modified` требует Claude Code v2.1.214 или позже.618Когда Claude записывает файл памяти, который начинается с YAML frontmatter, Claude Code записывает время записи в поле frontmatter `modified` как временную метку ISO 8601. Временная метка показывает, насколько актуален факт, как вам, так и Claude, когда он снова читает эту память.

619 619 

620<h3 id="audit-and-edit-your-memory">620<h3 id="audit-and-edit-your-memory">

621 Проверьте и отредактируйте вашу память621 Проверьте и отредактируйте вашу память

model-config.md +2 −1

Details

274* **Переопределение skill или команды**: Claude Code игнорирует переопределение, включая заблокированный псевдоним семейства, и skill или команда запускаются на модели сессии. Skill или команда, которая [запускается в подагенте](/docs/ru/skills#run-skills-in-a-subagent), следует поведению подагента выше вместо этого274* **Переопределение skill или команды**: Claude Code игнорирует переопределение, включая заблокированный псевдоним семейства, и skill или команда запускаются на модели сессии. Skill или команда, которая [запускается в подагенте](/docs/ru/skills#run-skills-in-a-subagent), следует поведению подагента выше вместо этого

275* **Параметр `advisorModel`**: советник отключен для сессии275* **Параметр `advisorModel`**: советник отключен для сессии

276* **Флаг `--advisor`**: Claude Code выходит с ошибкой при запуске. В [фоновой сессии](/docs/ru/agent-view) он запускает сессию без советника вместо выхода276* **Флаг `--advisor`**: Claude Code выходит с ошибкой при запуске. В [фоновой сессии](/docs/ru/agent-view) он запускает сессию без советника вместо выхода

277* **`CLAUDE_CODE_AUTO_MODE_MODEL`**: Claude Code игнорирует переменную и выбирает модель для [запросов классификатора авторежима](/docs/ru/permission-modes#default-classifier-model) так, будто вы её не задавали

277 278 

278Claude Code скрывает исключённые модели из средства выбора `/model`. Получит ли указанный вами идентификатор модели собственную строку, зависит от провайдера:279Claude Code скрывает исключённые модели из средства выбора `/model`. Получит ли указанный вами идентификатор модели собственную строку, зависит от провайдера:

279 280 


285* **[Цепочки резервных моделей](#fallback-model-chains)**: записи вне списка разрешений удаляются286* **[Цепочки резервных моделей](#fallback-model-chains)**: записи вне списка разрешений удаляются

286* **Обновления Plan Mode**: на Anthropic API и Claude Platform on AWS обновление, такое как [`opusplan`](#opusplan-model-setting) на исключенную модель, использует самую новую разрешенную версию семейства обновления. На поставщиках с идентификаторами моделей, специфичными для поставщика, и когда никакая версия не разрешена, обновление пропускается и планирование продолжается на модели сессии287* **Обновления Plan Mode**: на Anthropic API и Claude Platform on AWS обновление, такое как [`opusplan`](#opusplan-model-setting) на исключенную модель, использует самую новую разрешенную версию семейства обновления. На поставщиках с идентификаторами моделей, специфичными для поставщика, и когда никакая версия не разрешена, обновление пропускается и планирование продолжается на модели сессии

287* **[Автоматический резервный вариант модели](#automatic-model-fallback)**: резервный вариант, целевой объект которого исключен, не запускается, поэтому помеченный запрос заканчивается отказом вместо этого288* **[Автоматический резервный вариант модели](#automatic-model-fallback)**: резервный вариант, целевой объект которого исключен, не запускается, поэтому помеченный запрос заканчивается отказом вместо этого

288* **[Классификатор авторежима](/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 или новее289* **[Классификатор авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode)**: если список разрешённых моделей исключает [модель классификатора по умолчанию](/docs/ru/permission-modes#default-classifier-model), запросы классификатора, которые использовали бы эту модель, выполняются на модели сессии или на модели Opus в сессиях [Fable](#work-with-fable). У провайдеров, отличных от Anthropic API, этот резервный вариант Opus работает на модели, заданной в `ANTHROPIC_DEFAULT_OPUS_MODEL`, а если она не задана — на Opus 5, без проверки списка разрешённых моделей. Требуется Claude Code v2.1.210 или новее

289* **[Fast mode](/docs/ru/fast-mode)**: включение fast mode отказывается, когда модель, на которой сессия будет запускаться впоследствии, находится вне списка разрешений290* **[Fast mode](/docs/ru/fast-mode)**: включение fast mode отказывается, когда модель, на которой сессия будет запускаться впоследствии, находится вне списка разрешений

290* **Переключение из-за доступности в Amazon Bedrock и Agent Platform Google Cloud**: если ваша учётная запись теряет доступ к модели посреди сессии, при переключении на другую модель исключённые модели пропускаются. Проверки модели при запуске в [Amazon Bedrock](/docs/ru/amazon-bedrock#when-your-organization-enforces-a-model-allowlist) и [Agent Platform Google Cloud](/docs/ru/google-vertex-ai#when-your-organization-enforces-a-model-allowlist) пропускают исключённые модели, только если управляемые настройки также задают [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)291* **Переключение из-за доступности в Amazon Bedrock и Agent Platform Google Cloud**: если ваша учётная запись теряет доступ к модели посреди сессии, при переключении на другую модель исключённые модели пропускаются. Проверки модели при запуске в [Amazon Bedrock](/docs/ru/amazon-bedrock#when-your-organization-enforces-a-model-allowlist) и [Agent Platform Google Cloud](/docs/ru/google-vertex-ai#when-your-organization-enforces-a-model-allowlist) пропускают исключённые модели, только если управляемые настройки также задают [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)

291 292 

monitoring-usage.md +462 −426

Details

137| `OTEL_LOG_TOOL_CONTENT` | Включить логирование содержимого инструмента в [событии span `tool.output`](#tool-output-span-event) (по умолчанию: отключено). Атрибуты span переносят содержимое инструмента под [их собственные шлюзы](#new-context-gates). Требует [трассировку](#traces-beta). Содержимое усекается на лимите содержимого (60 КБ по умолчанию) | `1` для включения |137| `OTEL_LOG_TOOL_CONTENT` | Включить логирование содержимого инструмента в [событии span `tool.output`](#tool-output-span-event) (по умолчанию: отключено). Атрибуты span переносят содержимое инструмента под [их собственные шлюзы](#new-context-gates). Требует [трассировку](#traces-beta). Содержимое усекается на лимите содержимого (60 КБ по умолчанию) | `1` для включения |

138| `OTEL_LOG_MANAGED_SETTINGS` | Добавить скрытые управляемые параметры и дайджест SHA-256 параметров перед скрытием на события [managed settings resolved](#managed-settings-resolved-event) (по умолчанию: отключено). Значение в параметрах проекта или локальных параметрах не включает его. Требует Claude Code v2.1.274 или позже | `1` для включения |138| `OTEL_LOG_MANAGED_SETTINGS` | Добавить скрытые управляемые параметры и дайджест SHA-256 параметров перед скрытием на события [managed settings resolved](#managed-settings-resolved-event) (по умолчанию: отключено). Значение в параметрах проекта или локальных параметрах не включает его. Требует Claude Code v2.1.274 или позже | `1` для включения |

139| `OTEL_LOG_RAW_API_BODIES` | Выдать полный запрос и ответ JSON API Anthropic Messages как события логов `api_request_body` / `api_response_body` (по умолчанию: отключено). Тела включают всю историю разговора. Включение этого подразумевает согласие на всё, что раскрыли бы `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` и `OTEL_LOG_TOOL_CONTENT` | `1` для встроенных тел, усечённых на лимите содержимого (60 КБ по умолчанию), или `file:<dir>` для неусечённых тел на диске с указателем `body_ref` в событии |139| `OTEL_LOG_RAW_API_BODIES` | Выдать полный запрос и ответ JSON API Anthropic Messages как события логов `api_request_body` / `api_response_body` (по умолчанию: отключено). Тела включают всю историю разговора. Включение этого подразумевает согласие на всё, что раскрыли бы `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` и `OTEL_LOG_TOOL_CONTENT` | `1` для встроенных тел, усечённых на лимите содержимого (60 КБ по умолчанию), или `file:<dir>` для неусечённых тел на диске с указателем `body_ref` в событии |

140| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Лимит содержимого: максимальная длина атрибутов, содержащих содержимое, таких как ответы модели, содержимое инструмента, системные подсказки и тела сырого API, включая маркер усечения, в единицах кода UTF-16 (по умолчанию: 61440, т.е. 60 КБ). По умолчанию размер рассчитан для бэкендов, которые ограничивают значения атрибутов на 64 КБ; увеличивайте его только если ваш бэкенд принимает большие значения, или уменьшайте, чтобы сократить объём телеметрии. Когда лимит атрибута OpenTelemetry SDK, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` или один из его вариантов logrecord и span, установлен ниже, Claude Code усекает на этом меньшем значении, чтобы маркер `[TRUNCATED ...]` оставался в пределах лимита SDK. Требует Claude Code v2.1.214 или позже | `262144` |140| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Лимит содержимого: максимальная длина атрибутов с содержимым, таких как ответы модели, содержимое инструмента, системные промпты и сырые тела API, включая маркер усечения, в единицах кода UTF-16 (по умолчанию: 61440, т.е. 60 КБ). Значение по умолчанию рассчитано на бэкенды, которые ограничивают значения атрибутов 64 КБ; увеличивайте его, только если ваш бэкенд принимает большие значения, или уменьшайте, чтобы сократить объём телеметрии. Когда лимит атрибута OpenTelemetry SDK, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` или один из его вариантов для logrecord и span, установлен ниже, Claude Code усекает по этому меньшему значению, чтобы маркер `[TRUNCATED ...]` оставался в пределах лимита SDK | `262144` |

141| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Предпочтение временности метрик (по умолчанию: `delta`). Установите на `cumulative`, если ваш бэкенд ожидает кумулятивную временность | `delta`, `cumulative` |141| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Предпочтение временности метрик (по умолчанию: `delta`). Установите на `cumulative`, если ваш бэкенд ожидает кумулятивную временность | `delta`, `cumulative` |

142| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Интервал обновления динамических заголовков (по умолчанию: 1740000ms / 29 минут) | `900000` |142| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Интервал обновления динамических заголовков (по умолчанию: 1740000ms / 29 минут) | `900000` |

143 143 

144Для протоколов `http/protobuf` и `http/json` Claude Code отправляет каждый запрос экспорта с заголовком `Content-Length`. До v2.1.212 версии Claude Code от v2.1.191 и позже отправляли эти запросы с кодированием передачи по частям; Azure Monitor и другие конечные точки, требующие объявленной длины, отклоняли их с ошибками `411 Length Required` или `400`.144Для протоколов `http/protobuf` и `http/json` Claude Code отправляет каждый запрос экспорта с заголовком `Content-Length`.

145 145 

146<h3 id="mtls-authentication">146<h3 id="mtls-authentication">

147 Аутентификация mTLS147 Аутентификация mTLS


202 202 

203Входящий контекст трассировки также применяется к [событиям](#events). В сеансах Agent SDK и `-p` с установленным `TRACEPARENT` каждая запись логов OTLP события содержит значения `trace_id` и `span_id`, которые присоединяют её к трассировке вашего приложения, даже когда экспортер трассировок не настроен, поэтому ваш бэкенд логирования может коррелировать события с остальной частью трассировки.203Входящий контекст трассировки также применяется к [событиям](#events). В сеансах Agent SDK и `-p` с установленным `TRACEPARENT` каждая запись логов OTLP события содержит значения `trace_id` и `span_id`, которые присоединяют её к трассировке вашего приложения, даже когда экспортер трассировок не настроен, поэтому ваш бэкенд логирования может коррелировать события с остальной частью трассировки.

204 204 

205Запись, выданная во время активного взаимодействия, содержит ID span взаимодействия, даже когда Claude Code выдаёт её вне асинхронного контекста span, такого как обратный вызов подсказки разрешения или для записи, буферизованной при запуске и экспортированной позже. Запись, выданная без активного span взаимодействия, содержит ID входящего `TRACEPARENT` напрямую. До v2.1.214 записи, выданные вне асинхронного контекста span, содержали ID входящего `TRACEPARENT` вместо ID span. До v2.1.212 записи событий, выданные вне активного span, не содержали `trace_id` или `span_id`.205Запись, выданная во время активного взаимодействия, содержит ID span взаимодействия, даже когда Claude Code выдаёт её вне асинхронного контекста span, например в обратном вызове запроса разрешения или для записи, буферизованной при запуске и экспортированной позже. Запись, выданная без активного span взаимодействия, содержит ID входящего `TRACEPARENT` напрямую.

206 206 

207<h4 id="span-hierarchy">207<h4 id="span-hierarchy">

208 Иерархия span208 Иерархия span


328| Атрибут | Описание | Контролируется |328| Атрибут | Описание | Контролируется |

329| - | - | - |329| - | - | - |

330| `duration_ms` | Время, потраченное на ожидание решения разрешения | |330| `duration_ms` | Время, потраченное на ожидание решения разрешения | |

331| `decision` | `accept` или `reject` | |331| `decision` | `accept`, `reject` или `cancelled`, где `cancelled` означает, что Claude Code перестал ожидать решения о разрешении для вызова инструмента и не запустил его | |

332| `source` | Источник решения, соответствующий [событию Tool decision](#tool-decision-event) | |332| `source` | Для `accept` или `reject` — источник решения, например `config`, `hook` или `user_temporary`, со значениями, описанными в разделе [событие Tool decision](#tool-decision-event). Для `cancelled` — то, что завершило ожидание до принятия какого-либо решения, например `user_abort` | |

333 

334Решение `cancelled` с `source` `user_abort` означает, что сообщение, требующее немедленной доставки, прервало ход, пока запрос разрешения или проверка [авторежима](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) ещё ожидали завершения. Например, во время проверки авторежима у пользователя было сообщение в очереди, и он [отправил его немедленно](/docs/ru/interactive-mode#when-claude-code-sends-what-you-queued).

333 335 

334**`claude_code.tool.execution`**336**`claude_code.tool.execution`**

335 337 


616 Стандартные атрибуты618 Стандартные атрибуты

617</h3>619</h3>

618 620 

619Все метрики и события имеют эти стандартные атрибуты:621Все метрики и события содержат следующие стандартные атрибуты:

620 622 

621| Атрибут | Описание | Управляется |623| Атрибут | Описание | Чем управляется |

622| - | - | - |624| - | - | - |

623| `session.id` | Уникальный идентификатор сеанса | `OTEL_METRICS_INCLUDE_SESSION_ID` (по умолчанию: true) |625| `session.id` | Уникальный идентификатор сессии | `OTEL_METRICS_INCLUDE_SESSION_ID` (по умолчанию: true) |

624| `ccr.session.id` | Идентификатор облачного сеанса, значение `CLAUDE_CODE_REMOTE_SESSION_ID`, в сеансах, которые работают в [облачной среде](/docs/ru/cloud-environments) | `OTEL_METRICS_INCLUDE_SESSION_ID` (по умолчанию: true) |626| `ccr.session.id` | Идентификатор облачной сессии, значение `CLAUDE_CODE_REMOTE_SESSION_ID`, в сессиях, которые выполняются в [облачном окружении](/docs/ru/cloud-environments) | `OTEL_METRICS_INCLUDE_SESSION_ID` (по умолчанию: true) |

625| `app.version` | Текущая версия Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (по умолчанию: false) |627| `app.version` | Текущая версия Claude Code | `OTEL_METRICS_INCLUDE_VERSION` (по умолчанию: false) |

626| `app.entrypoint` | Способ запуска сеанса, например `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, `claude-vscode` или `claude-in-slack` для сеансов Claude Tag | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (по умолчанию: false) |628| `app.entrypoint` | Способ запуска сессии, например `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, `claude-vscode` или `claude-in-slack` для сессий Claude Tag | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (по умолчанию: false) |

627| `organization.id` | UUID организации (при аутентификации) | Всегда включается, если доступно |629| `organization.id` | UUID организации (при аутентификации) | Всегда включается, если доступен |

628| `user.account_uuid` | UUID учётной записи (при аутентификации) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (по умолчанию: true) |630| `user.account_uuid` | UUID аккаунта (при аутентификации) | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (по умолчанию: true) |

629| `user.account_id` | ID учётной записи в формате с тегом, соответствующий API администратора Anthropic (при аутентификации), например `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (по умолчанию: true) |631| `user.account_id` | ID аккаунта в формате с тегом, соответствующем административным API Anthropic (при аутентификации), например `user_01BWBeN28...` | `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` (по умолчанию: true) |

630| `user.id` | Случайный анонимный идентификатор, созданный при первом запуске и сохранённый в `~/.claude.json`. Он не содержит личной информации и не является производным от вашей учётной записи Claude. Удаление файла создаёт новое несвязанное значение при следующем запуске. | Всегда включается |632| `user.id` | Случайный анонимный идентификатор, создаваемый при первом запуске и сохраняемый в `~/.claude.json`. Он не содержит персональной информации и не выводится из вашего аккаунта Claude. Удаление файла приводит к появлению нового, не связанного с прежним значения при следующем запуске. | Всегда включается |

631| `user.email` | Адрес электронной почты пользователя, из вашего входа или, в [облачном сеансе](/docs/ru/claude-code-on-the-web), из учётных данных самого сеанса | Всегда включается, если доступно |633| `user.email` | Адрес электронной почты пользователя, полученный при входе или, в [облачной сессии](/docs/ru/claude-code-on-the-web), из собственных учётных данных сессии | Всегда включается, если доступен |

632| `terminal.type` | Тип терминала, например `iTerm.app`, `vscode`, `cursor` или `tmux` | Всегда включается при обнаружении |634| `terminal.type` | Тип терминала, например `iTerm.app`, `vscode`, `cursor` или `tmux` | Всегда включается, если определён |

633| Ключи из `OTEL_RESOURCE_ATTRIBUTES` | Пользовательские атрибуты, которые вы устанавливаете, например `department` или `team.id`. См. [Поддержка многокомандной организации](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (по умолчанию: true) |635| Ключи из `OTEL_RESOURCE_ATTRIBUTES` | Заданные вами пользовательские атрибуты, например `department` или `team.id`. См. [Поддержка организаций с несколькими командами](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (по умолчанию: true) |

634| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | Идентификатор репозитория сеанса, полученный из его удалённого хранилища `origin`. См. [Атрибуты репозитория](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (по умолчанию: false). Требуется Claude Code v2.1.269 или позже |636| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | Идентификация репозитория сессии, выведенная из его удалённого репозитория `origin`. См. [Атрибуты репозитория](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (по умолчанию: false). Требуется Claude Code v2.1.269 или новее |

635 637 

636В сеансах, подписанных на [шлюз приложений Claude](/docs/ru/claude-apps-gateway) через `/login`, CLI помечает экспорты аутентифицированной идентификацией: `user.id` — это субъект IdP, `user.email` — это адрес электронной почты входа, и `user.groups` содержит членство в группе IdP в виде строки, разделённой запятыми. Каждый экспорт также содержит `identity.source: gateway-oidc`. Идентификация шлюза применяется последней, поэтому ключи `user.*` и `identity.*`, установленные через `OTEL_RESOURCE_ATTRIBUTES`, игнорируются в сеансах шлюза.638В сессиях, в которых выполнен вход в [шлюз приложений Claude](/docs/ru/claude-apps-gateway) через `/login`, CLI помечает экспортируемые данные аутентифицированной идентичностью: `user.id` — это субъект IdP, `user.email` — адрес электронной почты, с которым выполнен вход, а `user.groups` содержит членство в группах IdP в виде строки с разделителями-запятыми. Каждый экспорт также содержит `identity.source: gateway-oidc`. Идентичность шлюза применяется последней, поэтому ключи `user.*` и `identity.*`, заданные через `OTEL_RESOURCE_ATTRIBUTES`, в таких сессиях игнорируются.

637 639 

638<Note>640<Note>

639 События, которые Claude Code записывает в лог до входа разработчика, не содержат идентичность шлюза. Когда Claude Code открывает сессию без входа в шлюз, например после того как [шлюз завершил сеанс входа](/docs/ru/errors#cloud-gateway-session-expired), события запуска, записанные до входа, содержат анонимный `user.id` и не содержат `identity.source`. К ним относятся [`managed_settings_resolved`](#managed-settings-resolved-event), [`plugin_loaded`](#plugin-loaded-event) и [`mcp_server_connection`](#mcp-server-connection-event).641 События, которые Claude Code записывает в лог до входа разработчика, не содержат идентичности шлюза. Когда Claude Code открывает сессию без входа в шлюз, например после того как [шлюз завершил вход](/docs/ru/errors#cloud-gateway-session-expired), события запуска, записанные до входа, содержат анонимный `user.id` и не содержат `identity.source`. К ним относятся [`managed_settings_resolved`](#managed-settings-resolved-event), [`plugin_loaded`](#plugin-loaded-event) и [`mcp_server_connection`](#mcp-server-connection-event).

640</Note>642</Note>

641 643 

642Атрибуты идентичности для сессий Claude Desktop и Cowork, подключающихся через шлюз, описаны в [справочнике по `telemetry` шлюза](/docs/ru/claude-apps-gateway-config#telemetry).644Атрибуты идентичности для сессий Claude Desktop и Cowork, подключающихся через шлюз, описаны в [справочнике `telemetry` шлюза](/docs/ru/claude-apps-gateway-config#telemetry).

643 645 

644События дополнительно включают следующие атрибуты. Они никогда не прикрепляются к метрикам, так как это вызовет неограниченную кардинальность:646События дополнительно содержат следующие атрибуты. Они никогда не добавляются к метрикам, поскольку привели бы к неограниченной кардинальности:

645 647 

646* `prompt.id`: UUID, коррелирующий пользовательский запрос со всеми последующими событиями до следующего запроса. См. [Атрибуты корреляции событий](#event-correlation-attributes).648* `prompt.id`: UUID, связывающий промпт пользователя со всеми последующими событиями до следующего промпта. См. [Атрибуты корреляции событий](#event-correlation-attributes).

647* `workspace.host_paths`: каталоги рабочей области хоста, выбранные в приложении для рабочего стола, как массив строк649* `workspace.host_paths`: каталоги рабочего пространства хоста, выбранные в настольном приложении, в виде массива строк

648* `workflow.run_id`: идентификатор запуска с префиксом `wf_` в событиях API и инструментов, генерируемых агентами, которые относятся к запуску инструмента [Workflow](/docs/ru/workflows). Фильтрация событий по одному `workflow.run_id` позволяет восстановить API-запросы и результаты инструментов этого запуска. Идентификатор охватывает агентов, которых порождает скрипт workflow, а также любых агентов, порождённых ими, например вызовы скиллов. Он совпадает с идентификатором запуска, указанным в результате инструмента Workflow. Отсутствует во всех остальных событиях.650* `workflow.run_id`: идентификатор запуска с префиксом `wf_` в событиях API и инструментов, генерируемых агентами, которые относятся к запуску инструмента [Workflow](/docs/ru/workflows). Фильтрация событий по одному `workflow.run_id` позволяет восстановить API-запросы и результаты инструментов этого запуска. Идентификатор охватывает агентов, которых порождает скрипт workflow, а также любых агентов, которых порождают уже они, например при вызовах скиллов. Он совпадает с идентификатором запуска, сообщаемым в результате инструмента Workflow. Отсутствует во всех остальных событиях.

649* `workflow.name`: имя workflow, `meta.name` его скрипта, передаётся вместе с `workflow.run_id`. Имена встроенных workflow отображаются без изменений, когда запуск выполняет неизменённый встроенный скрипт. Пользовательские имена, включая отредактированные копии встроенных скриптов, заменяются на `custom`, если не задано `OTEL_LOG_TOOL_DETAILS=1`.651* `workflow.name`: имя workflow, `meta.name` его скрипта, генерируется вместе с `workflow.run_id`. Имена встроенных workflow отображаются как есть, когда запуск выполняет неизменённый встроенный скрипт. Имена, заданные пользователем, включая отредактированные копии встроенных скриптов, заменяются на `custom`, если не задано `OTEL_LOG_TOOL_DETAILS=1`.

650 652 

651<h4 id="repository-attributes">653<h4 id="repository-attributes">

652 Атрибуты репозитория654 Атрибуты репозитория

653</h4>655</h4>

654 656 

655Установите `OTEL_METRICS_INCLUDE_REPOSITORY=true`, чтобы помечать метрики и события идентификацией репозитория сеанса, чтобы общий сборщик мог атрибутировать использование по репозиторию. Требуется Claude Code v2.1.269 или позже.657Задайте `OTEL_METRICS_INCLUDE_REPOSITORY=true`, чтобы помечать метрики и события идентификацией репозитория сессии, — так общий коллектор сможет распределять использование по репозиториям. Требуется Claude Code v2.1.269 или новее.

656 658 

657Claude Code получает эти атрибуты один раз за сеанс из удалённого хранилища `origin` репозитория. Когда удалённые хранилища HTTPS и SSH репозитория называют один и тот же хост и один и тот же путь, как это происходит на GitHub, GitLab и Bitbucket Cloud, оба производят идентичные значения:659Claude Code выводит эти атрибуты один раз за сессию из удалённого репозитория `origin`. Когда удалённые адреса HTTPS и SSH репозитория указывают на один и тот же хост и один и тот же путь, как на GitHub, GitLab и Bitbucket Cloud, оба дают одинаковые значения:

658 660 

659| Атрибут | Значение |661| Атрибут | Значение |

660| - | - |662| - | - |

661| `vcs.repository.url.full` | URL браузера репозитория без `.git`, например `https://github.com/example-org/example-repo` |663| `vcs.repository.url.full` | URL репозитория для браузера без `.git`, например `https://github.com/example-org/example-repo` |

662| `vcs.owner.name` | Путь владельца или группы, например `example-org`; опускается, когда путь удалённого хранилища имеет один сегмент |664| `vcs.owner.name` | Путь владельца или группы, например `example-org`; не указывается, если путь удалённого репозитория состоит из одного сегмента |

663| `vcs.repository.name` | Простое имя репозитория, например `example-repo` |665| `vcs.repository.name` | Имя репозитория без пути, например `example-repo` |

664| `vcs.provider.name` | `github`, `gitlab`, `bitbucket` или `gitea`, когда Claude Code распознаёт хост удалённого хранилища или форму URL как один из этих поставщиков; опускается в противном случае |666| `vcs.provider.name` | `github`, `gitlab`, `bitbucket` или `gitea`, когда Claude Code распознаёт хост или форму URL удалённого репозитория как одного из этих провайдеров; в остальных случаях не указывается |

665 667 

666Значения приводятся в нижний регистр, и учётные данные, строки запроса и фрагменты из URL удалённого хранилища никогда не отображаются в них. Атрибуты опускаются, когда сеанс не имеет удалённого хранилища `origin`, когда удалённое хранилище не имеет формы URL или когда единственный охватывающий репозиторий — это ваш домашний каталог.668Значения приводятся к нижнему регистру, а учётные данные, строки запроса и фрагменты из URL удалённого репозитория в них никогда не попадают. Атрибуты не указываются, если у сессии нет удалённого репозитория `origin`, если удалённый адрес не имеет формы URL или если единственным объемлющим репозиторием является ваш домашний каталог.

667 669 

668Чтобы получить эти атрибуты из [облачного сеанса](/docs/ru/claude-code-on-the-web), установите переменные телеметрии, включая `OTEL_METRICS_INCLUDE_REPOSITORY`, в его [облачной среде](/docs/ru/cloud-environments#set-environment-variables). Также разрешите домен вашего сборщика в [сетевом доступе](/docs/ru/cloud-environments#network-access) среды.670Чтобы получать эти атрибуты из [облачной сессии](/docs/ru/claude-code-on-the-web), задайте переменные телеметрии, включая `OTEL_METRICS_INCLUDE_REPOSITORY`, в её [облачном окружении](/docs/ru/cloud-environments#set-environment-variables). Также разрешите домен вашего коллектора в настройках [сетевого доступа](/docs/ru/cloud-environments#network-access) окружения.

669 671 

670Ключ `vcs.*`, который вы объявляете в [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support), заменяет полученное значение для этого ключа. Если вы объявляете `vcs.repository.url.full`, Claude Code никогда не читает удалённое хранилище и сообщает только объявленные вами ключи.672Ключ `vcs.*`, объявленный вами в [`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support), заменяет выведенное значение для этого ключа. Если вы объявите `vcs.repository.url.full`, Claude Code вообще не читает удалённый репозиторий и сообщает только объявленные вами ключи.

671 673 

672Если клоны HTTPS и SSH одного репозитория сообщают разные значения, например на самостоятельно размещённой установке, где URL клона HTTPS содержит префикс пути, которого не хватает URL SSH, объявите `vcs.repository.url.full` в `OTEL_RESOURCE_ATTRIBUTES` вместе со всеми остальными ключами `vcs.*`, которые вы хотите сообщить. Каждый клон затем сообщает идентификацию, которую вы объявляете.674Если клоны одного репозитория по HTTPS и SSH сообщают разные значения, например в самостоятельно размещённой установке, где URL клонирования по HTTPS содержит префикс пути, отсутствующий в URL SSH, объявите `vcs.repository.url.full` в `OTEL_RESOURCE_ATTRIBUTES` вместе со всеми остальными ключами `vcs.*`, которые хотите сообщать. Тогда каждый клон будет сообщать объявленную вами идентификацию.

673 675 

674Атрибуты передаются только вашим собственным экспортёрам; телеметрия Anthropic отбрасывает каждый ключ `vcs.*`.676Атрибуты передаются только в ваши собственные экспортёры; телеметрия Anthropic отбрасывает все ключи `vcs.*`.

675 677 

676<h3 id="metrics">678<h3 id="metrics">

677 Метрики679 Метрики

678</h3>680</h3>

679 681 

680Claude Code экспортирует следующие метрики. Столбец Unit показывает строку единицы OpenTelemetry, прикреплённую к каждой метрике; метрики подсчёта не имеют никаких.682Claude Code экспортирует следующие метрики. В столбце «Единица» указана строка единицы измерения OpenTelemetry, прикреплённая к каждой метрике; у метрик-счётчиков её нет.

681 683 

682| Имя метрики | Описание | Единица |684| Имя метрики | Описание | Единица |

683| - | - | - |685| - | - | - |

684| `claude_code.session.count` | Количество запущенных сеансов CLI | нет |686| `claude_code.session.count` | Количество запущенных сессий CLI | нет |

685| `claude_code.lines_of_code.count` | Количество изменённых строк кода | нет |687| `claude_code.lines_of_code.count` | Количество изменённых строк кода | нет |

686| `claude_code.pull_request.count` | Количество созданных запросов на слияние | нет |688| `claude_code.pull_request.count` | Количество созданных pull request | нет |

687| `claude_code.commit.count` | Количество созданных коммитов git | нет |689| `claude_code.commit.count` | Количество созданных git-коммитов | нет |

688| `claude_code.cost.usage` | Стоимость сеанса Claude Code | USD |690| `claude_code.cost.usage` | Стоимость сессии Claude Code | USD |

689| `claude_code.token.usage` | Количество использованных токенов | tokens |691| `claude_code.token.usage` | Количество использованных токенов | tokens |

690| `claude_code.code_edit_tool.decision` | Количество решений о разрешении инструмента редактирования кода | нет |692| `claude_code.code_edit_tool.decision` | Количество решений о разрешениях для инструментов редактирования кода | нет |

691| `claude_code.active_time.total` | Общее активное время | s |693| `claude_code.active_time.total` | Общее активное время | s |

692 694 

693Когда `prometheus` — единственный экспортёр, указанный в `OTEL_METRICS_EXPORTER`, Claude Code опускает единицы `USD`, `tokens` и `s` из экспортированных метрик, чтобы скрейп оставался в действительном формате текста Prometheus. Имена метрик не меняются, и конфигурации, которые объединяют экспортёры, такие как `otlp,prometheus`, сохраняют единицы. До v2.1.216 скрейп Prometheus включал строки `# UNIT`, специфичные для OpenMetrics, которые некоторые скрейперы отклоняли.695Когда `prometheus` — единственный экспортёр, указанный в `OTEL_METRICS_EXPORTER`, Claude Code не указывает единицы `USD`, `tokens` и `s` в экспортируемых метриках, чтобы результат сбора оставался корректным текстовым форматом Prometheus. Имена метрик не меняются, а конфигурации, сочетающие экспортёры, например `otlp,prometheus`, сохраняют единицы. До v2.1.216 результат сбора Prometheus включал строки `# UNIT`, специфичные для OpenMetrics, которые некоторые сборщики отклоняли.

694 696 

695<h3 id="metric-details">697<h3 id="metric-details">

696 Детали метрик698 Подробности метрик

697</h3>699</h3>

698 700 

699Каждая метрика включает стандартные атрибуты, перечисленные выше. Метрики с дополнительными контекстно-специфичными атрибутами отмечены ниже.701Каждая метрика включает перечисленные выше стандартные атрибуты. Метрики с дополнительными атрибутами, зависящими от контекста, отмечены ниже.

700 702 

701<h4 id="session-counter">703<h4 id="session-counter">

702 Счётчик сеансов704 Счётчик сессий

703</h4>705</h4>

704 706 

705Увеличивается в начале каждого сеанса.707Увеличивается в начале каждой сессии.

706 708 

707**Атрибуты**:709**Атрибуты**:

708 710 

709* Все [стандартные атрибуты](#standard-attributes)711* Все [стандартные атрибуты](#standard-attributes)

710* `start_type`: Как был запущен сеанс. Один из `"fresh"`, `"resume"`, `"continue"` или `"agents_view"`. Значение `"agents_view"` идентифицирует процесс панели управления `claude agents`, локальный пользовательский интерфейс, а не разговорный сеанс. Фильтруйте по этому значению, чтобы отделить запуски процесса пользовательского интерфейса от разговорных сеансов в ваших панелях управления.712* `start_type`: Способ запуска сессии. Одно из значений `"fresh"`, `"resume"`, `"continue"` или `"agents_view"`. Значение `"agents_view"` обозначает процесс панели `claude agents` — локальный интерфейс, запускаемый пользователем, а не диалоговую сессию. Фильтруйте по этому значению, чтобы отделять запуски процессов интерфейса от диалоговых сессий на ваших дашбордах.

711 713 

712<h4 id="lines-of-code-counter">714<h4 id="lines-of-code-counter">

713 Счётчик строк кода715 Счётчик строк кода


719 721 

720* Все [стандартные атрибуты](#standard-attributes)722* Все [стандартные атрибуты](#standard-attributes)

721* `type`: (`"added"`, `"removed"`)723* `type`: (`"added"`, `"removed"`)

722* `model`: Идентификатор модели для модели, которая внесла изменение (например, "claude-sonnet-5")724* `model`: Идентификатор модели, внёсшей изменение (например, "claude-sonnet-5")

723 725 

724<h4 id="pull-request-counter">726<h4 id="pull-request-counter">

725 Счётчик запросов на слияние727 Счётчик pull request

726</h4>728</h4>

727 729 

728Увеличивается, когда Claude Code создаёт запрос на слияние или запрос на объединение через команду оболочки или инструмент MCP.730Увеличивается, когда Claude Code создаёт pull request или merge request с помощью shell-команды или инструмента MCP.

729 731 

730**Атрибуты**:732**Атрибуты**:

731 733 


735 Счётчик коммитов737 Счётчик коммитов

736</h4>738</h4>

737 739 

738Увеличивается при создании коммитов git через Claude Code.740Увеличивается при создании git-коммитов через Claude Code.

739 741 

740**Атрибуты**:742**Атрибуты**:

741 743 


745 Счётчик стоимости747 Счётчик стоимости

746</h4>748</h4>

747 749 

748Увеличивается после каждого запроса API.750Увеличивается после каждого API-запроса.

749 751 

750Атрибуты `agent.name`, `skill.name`, `plugin.name`, `mcp_server.name` и `mcp_tool.name` по умолчанию скрывают некоторые имена в заполнитель `"custom"` или `"third-party"`. Если вы установите `OTEL_LOG_TOOL_DETAILS=1`, они вместо этого содержат реальные имена. До v2.1.273 счётчики стоимости и токенов и события `api_request`, `api_error` и `api_refusal` содержали скрытые значения даже с установленным `OTEL_LOG_TOOL_DETAILS=1`.752Атрибуты `agent.name`, `skill.name`, `plugin.name`, `mcp_server.name` и `mcp_tool.name` по умолчанию заменяют некоторые имена заполнителем `"custom"` или `"third-party"`. Если задать `OTEL_LOG_TOOL_DETAILS=1`, они содержат настоящие имена. До v2.1.273 счётчики стоимости и токенов, а также события `api_request`, `api_error` и `api_refusal` содержали скрытые значения даже при заданном `OTEL_LOG_TOOL_DETAILS=1`.

751 753 

752**Атрибуты**:754**Атрибуты**:

753 755 

754* Все [стандартные атрибуты](#standard-attributes)756* Все [стандартные атрибуты](#standard-attributes)

755* `model`: Идентификатор модели (например, "claude-sonnet-5")757* `model`: Идентификатор модели (например, "claude-sonnet-5")

756* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`758* `query_source`: Категория подсистемы, отправившей запрос. Одно из значений `"main"`, `"subagent"` или `"auxiliary"`

757* `speed`: `"fast"`, когда запрос использовал быстрый режим. Отсутствует в противном случае759* `speed`: `"fast"`, если запрос использовал быстрый режим. В остальных случаях отсутствует

758* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применённый к запросу: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Отсутствует, когда Claude Code не отправляет уровень усилий, например на модели, которая не поддерживает усилия.760* `effort`: [Уровень effort](/docs/ru/model-config#adjust-effort-level), применённый к запросу: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Отсутствует, если Claude Code не отправляет уровень effort, например для модели, которая не поддерживает effort.

759* `agent.name`: Тип подагента, который выдал запрос. Встроенные имена агентов и агенты из официальных плагинов маркетплейса отображаются как есть. Другие определённые пользователем имена агентов заменяются на `"custom"`. Отсутствует, когда запрос не был выдан именованным типом подагента.761* `agent.name`: Тип субагента, отправившего запрос. Имена встроенных агентов и агентов из плагинов официального маркетплейса отображаются как есть. Другие имена агентов, определённых пользователем, заменяются на `"custom"`. Отсутствует, если запрос отправлен не именованным типом субагента.

760* `skill.name`: Навык, активный для запроса, установленный инструментом Skill или командой `/`, или унаследованный порождённым подагентом. Встроенные, связанные, определённые пользователем и официальные имена навыков маркетплейса отображаются как есть. Имена навыков плагинов третьих сторон заменяются на `"third-party"`. Отсутствует, когда нет активного навыка.762* `skill.name`: Скилл, активный для запроса, заданный инструментом Skill или командой `/` либо унаследованный порождённым субагентом. Имена встроенных, поставляемых в комплекте, определённых пользователем скиллов и скиллов плагинов официального маркетплейса отображаются как есть. Имена скиллов сторонних плагинов заменяются на `"third-party"`. Отсутствует, если активного скилла нет.

761* `plugin.name`: Владеющий плагин, когда активный навык или подагент предоставляется плагином. Имена официальных плагинов маркетплейса отображаются как есть. Имена плагинов третьих сторон заменяются на `"third-party"`. Отсутствует, когда ни навык, ни подагент не имеют владеющего плагина.763* `plugin.name`: Плагин-владелец, если активный скилл или субагент предоставлен плагином. Имена плагинов официального маркетплейса отображаются как есть. Имена сторонних плагинов заменяются на `"third-party"`. Отсутствует, если ни у скилла, ни у субагента нет плагина-владельца.

762* `marketplace.name`: Маркетплейс, из которого был установлен владеющий плагин. Выпускается только для официальных плагинов маркетплейса, даже с установленным `OTEL_LOG_TOOL_DETAILS=1`. Отсутствует в противном случае.764* `marketplace.name`: Маркетплейс, из которого установлен плагин-владелец. Генерируется только для плагинов официального маркетплейса, даже при заданном `OTEL_LOG_TOOL_DETAILS=1`. В остальных случаях отсутствует.

763* `mcp_server.name`: Сервер MCP, результат инструмента которого использовал этот запрос. Встроенные, проксированные claude.ai и официальные имена серверов реестра отображаются как есть. Имена серверов, настроенные пользователем, заменяются на `"custom"`. Отсутствует, когда запрос не использовал результат инструмента MCP. До v2.1.222 Claude Code устанавливал этот атрибут на каждый запрос после вызова инструмента MCP, а не только на запросы, которые использовали результат инструмента, поэтому панели управления, которые его агрегируют, показывают снижение после обновления.765* `mcp_server.name`: MCP-сервер, результат инструмента которого использовал этот запрос. Имена встроенных серверов, серверов, проксируемых через claude.ai, и серверов из официального реестра отображаются как есть. Имена серверов, настроенных пользователем, заменяются на `"custom"`. Отсутствует, если запрос не использовал результат инструмента MCP. До v2.1.222 Claude Code устанавливал этот атрибут для каждого запроса после вызова инструмента MCP, а не только для запросов, использовавших результат инструмента, поэтому на дашбордах, агрегирующих его, после обновления будет заметно снижение.

764* `mcp_tool.name`: Инструмент MCP, результат которого использовал этот запрос, с тем же скрытием и поведением версии, что и `mcp_server.name`. Отсутствует, когда запрос не использовал результат инструмента MCP.766* `mcp_tool.name`: Инструмент MCP, результат которого использовал этот запрос; скрытие и поведение в зависимости от версии такие же, как у `mcp_server.name`. Отсутствует, если запрос не использовал результат инструмента MCP.

765 767 

766<h4 id="token-counter">768<h4 id="token-counter">

767 Счётчик токенов769 Счётчик токенов

768</h4>770</h4>

769 771 

770Увеличивается после каждого запроса API.772Увеличивается после каждого API-запроса.

771 773 

772**Атрибуты**:774**Атрибуты**:

773 775 

774* Все [стандартные атрибуты](#standard-attributes)776* Все [стандартные атрибуты](#standard-attributes)

775* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`). Тип `"input"` не включает токены, прочитанные из кэша промптов или записанные в него, — они учитываются в `"cacheRead"` и `"cacheCreation"`. Тип `"cacheCreation"` учитывает записи в кэш с пятиминутным и часовым [временем жизни кэша](/docs/ru/prompt-caching#cache-lifetime) вместе.777* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`). Тип `"input"` не включает токены, прочитанные из кэша промптов или записанные в него, — они учитываются в `"cacheRead"` и `"cacheCreation"`. Тип `"cacheCreation"` учитывает записи в кэш с пятиминутным и часовым [временем жизни кэша](/docs/ru/prompt-caching#cache-lifetime) вместе.

776* `model`: Идентификатор модели (например, "claude-sonnet-5")778* `model`: Идентификатор модели (например, "claude-sonnet-5")

777* `query_source`: Категория подсистемы, которая выдала запрос. Один из `"main"`, `"subagent"` или `"auxiliary"`779* `query_source`: Категория подсистемы, отправившей запрос. Одно из значений `"main"`, `"subagent"` или `"auxiliary"`

778* `speed`: `"fast"`, когда запрос использовал быстрый режим. Отсутствует в противном случае780* `speed`: `"fast"`, если запрос использовал быстрый режим. В остальных случаях отсутствует

779* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применённый к запросу. См. [Счётчик стоимости](#cost-counter) для деталей.781* `effort`: [Уровень effort](/docs/ru/model-config#adjust-effort-level), применённый к запросу. Подробнее см. [Счётчик стоимости](#cost-counter).

780* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. См. [Счётчик стоимости](#cost-counter) для определений и поведения скрытия.782* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция запроса к скиллу, плагину, агенту и MCP. Определения и правила скрытия см. в разделе [Счётчик стоимости](#cost-counter).

781 783 

782<h4 id="code-edit-tool-decision-counter">784<h4 id="code-edit-tool-decision-counter">

783 Счётчик решений инструмента редактирования кода785 Счётчик решений для инструментов редактирования кода

784</h4>786</h4>

785 787 

786Увеличивается, когда пользователь принимает или отклоняет использование инструмента Edit, Write или NotebookEdit.788Увеличивается, когда пользователь принимает или отклоняет использование инструментов Edit, Write или NotebookEdit.

787 789 

788**Атрибуты**:790**Атрибуты**:

789 791 

790* Все [стандартные атрибуты](#standard-attributes)792* Все [стандартные атрибуты](#standard-attributes)

791* `tool_name`: Имя инструмента (`"Edit"`, `"Write"`, `"NotebookEdit"`)793* `tool_name`: Имя инструмента (`"Edit"`, `"Write"`, `"NotebookEdit"`)

792* `decision`: Решение пользователя (`"accept"`, `"reject"`)794* `decision`: Решение пользователя (`"accept"`, `"reject"`)

793* `source`: Откуда пришло решение. Один из `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` или `"user_reject"`. См. [Событие решения инструмента](#tool-decision-event) для того, что означает каждое значение.795* `source`: Источник решения. Одно из значений `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` или `"user_reject"`. Значение каждого из них описано в разделе [Событие решения по инструменту](#tool-decision-event).

794* `language`: Язык программирования отредактированного файла, например `"TypeScript"`, `"Python"`, `"JavaScript"` или `"Markdown"`. Возвращает `"unknown"` для неизвестных расширений файлов.796* `language`: Язык программирования редактируемого файла, например `"TypeScript"`, `"Python"`, `"JavaScript"` или `"Markdown"`. Для нераспознанных расширений файлов возвращает `"unknown"`.

795 797 

796<h4 id="active-time-counter">798<h4 id="active-time-counter">

797 Счётчик активного времени799 Счётчик активного времени

798</h4>800</h4>

799 801 

800Отслеживает фактическое время, потраченное на активное использование Claude Code, исключая время простоя. Эта метрика увеличивается во время взаимодействия пользователя, такого как ввод текста и чтение ответов, и во время обработки CLI, такой как выполнение инструментов и генерация ответов AI.802Отслеживает фактическое время активного использования Claude Code, исключая время простоя. Эта метрика увеличивается во время взаимодействия с пользователем, например при вводе текста и чтении ответов, а также во время обработки в CLI, например при выполнении инструментов и генерации ответов ИИ.

801 803 

802**Атрибуты**:804**Атрибуты**:

803 805 

804* Все [стандартные атрибуты](#standard-attributes)806* Все [стандартные атрибуты](#standard-attributes)

805* `type`: `"user"` для взаимодействия с клавиатурой, `"cli"` для выполнения инструментов и ответов AI807* `type`: `"user"` для взаимодействий с клавиатурой, `"cli"` для выполнения инструментов и ответов ИИ

806 808 

807<h3 id="events">809<h3 id="events">

808 События810 События

809</h3>811</h3>

810 812 

811Claude Code экспортирует следующие события через логи/события OpenTelemetry (когда настроен `OTEL_LOGS_EXPORTER`):813Claude Code экспортирует следующие события через логи/события OpenTelemetry (если настроен `OTEL_LOGS_EXPORTER`):

812 814 

813<h4 id="event-correlation-attributes">815<h4 id="event-correlation-attributes">

814 Атрибуты корреляции событий816 Атрибуты корреляции событий

815</h4>817</h4>

816 818 

817Когда пользователь отправляет запрос, Claude Code может сделать несколько вызовов API и запустить несколько инструментов. Атрибут `prompt.id` позволяет вам связать все эти события с одним запросом, который их вызвал.819Когда пользователь отправляет промпт, Claude Code может выполнить несколько вызовов API и запустить несколько инструментов. Атрибут `prompt.id` позволяет связать все эти события с единственным промптом, который их вызвал.

818 820 

819| Атрибут | Описание |821| Атрибут | Описание |

820| - | - |822| - | - |

821| `prompt.id` | Идентификатор UUID v4, связывающий все события, созданные при обработке одного пользовательского запроса |823| `prompt.id` | Идентификатор UUID v4, связывающий все события, созданные при обработке одного промпта пользователя |

822| `event.sequence` | Счётчик на основе 0 для упорядочивания событий, подсчитанный на процесс Claude Code, а не на сеанс |824| `event.sequence` | Счётчик с отсчётом от 0 для упорядочивания событий, ведущийся для каждого процесса Claude Code, а не для каждой сессии |

823| `message.uuid` | UUID сообщения, как сохранено в транскрипте сеанса, файлы `~/.claude/projects/*/*.jsonl`. Присутствует на `assistant_response`, на `api_response_body` и на `user_prompt`, кроме отправок команд, которые могут создавать ноль или много сообщений. На `assistant_response` и `api_response_body` это финальная запись транскрипта ответа, от которой цепочка `parentUuid` следующего хода. Требуется Claude Code v2.1.214 или позже, или v2.1.274 или позже на `api_response_body` |825| `message.uuid` | UUID сообщения в том виде, в каком оно сохранено в транскрипте сессии — файлах `~/.claude/projects/*/*.jsonl`. Присутствует в `assistant_response`, в `api_response_body` и в `user_prompt`, за исключением вызовов команд, которые могут породить ноль или много сообщений. В `assistant_response` и `api_response_body` это последняя запись ответа в транскрипте, от которой выстраивается цепочка `parentUuid` следующего хода. Для `api_response_body` требуется Claude Code v2.1.274 или новее |

824| `request_id` | Назначенный сервером ID запроса API, прочитанный из заголовка ответа `request-id`, например `req_011...`. На ответе без заголовка `request-id`, как на [Amazon Bedrock](/docs/ru/amazon-bedrock), значение поступает из заголовка `x-amzn-requestid` вместо этого. Присутствует на `api_request`, `api_error`, `api_refusal`, `assistant_response` и `api_response_body`, когда ответ содержит любой из этих заголовков. Совпадает с тем же атрибутом на диапазоне трассировки `llm_request`. Источник `x-amzn-requestid` требует Claude Code v2.1.282 или позже |826| `request_id` | Назначенный сервером ID API-запроса, считываемый из заголовка ответа `request-id`, например `req_011...`. Для ответа без заголовка `request-id`, как в [Amazon Bedrock](/docs/ru/amazon-bedrock), значение берётся из заголовка `x-amzn-requestid`. Присутствует в `api_request`, `api_error`, `api_refusal`, `assistant_response` и `api_response_body`, если ответ содержит любой из этих заголовков. Совпадает с одноимённым атрибутом в span трассировки `llm_request`. Источник `x-amzn-requestid` требует Claude Code v2.1.282 или новее |

825| `client_request_id` | Созданный клиентом UUID, отправленный как заголовок запроса `x-client-request-id`. Присутствует на `api_request` и `api_error` на подключениях API первой стороны; отсутствует на бэкендах поставщиков третьих сторон и когда запрос был повторён через резервный вариант без потоковой передачи. Связывает запрос с его ответом и остаётся доступным для сбоев, таких как тайм-ауты, которые никогда не создали серверный `request_id`. Совпадает с тем же атрибутом на диапазоне трассировки `llm_request`. Требуется Claude Code v2.1.214 или позже |827| `client_request_id` | Сгенерированный клиентом UUID, отправляемый в заголовке запроса `x-client-request-id`. Присутствует в `api_request` и `api_error` при прямых подключениях к API; отсутствует при использовании бэкендов сторонних провайдеров и когда запрос был повторён через непотоковый резервный вариант. Связывает запрос с его ответом и остаётся доступным при сбоях, например таймаутах, которые так и не дали серверный `request_id`. Совпадает с одноимённым атрибутом в span трассировки `llm_request` |

826 828 

827Чтобы отследить всю деятельность, вызванную одним запросом, отфильтруйте события по определённому значению `prompt.id`. Это возвращает событие user\_prompt, любые события api\_request и любые события tool\_result, которые произошли при обработке этого запроса.829Чтобы отследить всю активность, вызванную одним промптом, отфильтруйте события по конкретному значению `prompt.id`. Так вы получите событие user\_prompt, все события api\_request и все события tool\_result, произошедшие при обработке этого промпта.

828 830 

829`event.sequence` начинается с 0 каждый раз, когда процесс Claude Code запускается, и считает вверх в течение жизни этого процесса. Он продолжает считать через `/clear`, который назначает новый `session.id`. Если вы [возобновляете сеанс без ветвления](/docs/ru/how-claude-code-works#resume-or-fork-sessions), сеанс сохраняет свой `session.id`, но берёт свои значения `event.sequence` из процесса, который его возобновил, поэтому в одном сеансе более позднее событие может содержать более низкое значение, чем более раннее, или повторить одно. Чтобы упорядочить события сеанса, отсортируйте по `event.timestamp` и используйте `event.sequence` для упорядочивания событий, которые имеют одну и ту же временную метку.831`event.sequence` начинается с 0 при каждом запуске процесса Claude Code и увеличивается на протяжении жизни этого процесса. Счёт продолжается и после `/clear`, который назначает новый `session.id`. Если вы [возобновите сессию без ответвления](/docs/ru/how-claude-code-works#resume-or-fork-sessions), сессия сохранит свой `session.id`, но будет получать значения `event.sequence` от процесса, который её возобновил, поэтому в пределах одной сессии более позднее событие может иметь меньшее значение, чем более раннее, или повторять его. Чтобы упорядочить события сессии, сортируйте по `event.timestamp`, а `event.sequence` используйте для упорядочивания событий с одинаковой меткой времени.

830 832 

831Для восстановления на уровне сообщений каждый класс событий содержит ключ, который совпадает с полем в транскрипте сеанса. Формат записи транскрипта [внутренний для Claude Code](/docs/ru/sessions#where-transcripts-are-stored) и меняется между версиями, поэтому конвейер, который объединяет эти поля, может сломаться при любом выпуске; рассматривайте объединения как специфичные для версии, а не как стабильный контракт:833Для восстановления на уровне сообщений каждый класс событий содержит ключ, совпадающий с полем в транскрипте сессии. Формат записей транскрипта является [внутренним для Claude Code](/docs/ru/sessions#where-transcripts-are-stored) и меняется от версии к версии, поэтому конвейер, выполняющий соединение по этим полям, может сломаться в любом релизе; рассматривайте такие соединения как зависящие от версии, а не как стабильный контракт:

832 834 

833* `message.uuid` на `user_prompt`, `assistant_response` и `api_response_body`835* `message.uuid` в `user_prompt`, `assistant_response` и `api_response_body`

834* `request_id` на событиях API, сохранённых как `requestId` на записях помощника транскрипта836* `request_id` в событиях API, сохраняемый как `requestId` в записях ассистента в транскрипте

835* `tool_use_id` на событиях `tool_result` и `tool_decision`837* `tool_use_id` в событиях `tool_result` и `tool_decision`

836 838 

837<h4 id="user-prompt-event">839<h4 id="user-prompt-event">

838 Событие пользовательского запроса840 Событие промпта пользователя

839</h4>841</h4>

840 842 

841Записывается в лог при отправке промпта, в том числе на ходах, которые Claude Code начинает самостоятельно.843Записывается в лог при отправке промпта, включая ходы, которые Claude Code начинает самостоятельно.

842 844 

843**Имя события**: `claude_code.user_prompt`845**Имя события**: `claude_code.user_prompt`

844 846 


846 848 

847* Все [стандартные атрибуты](#standard-attributes)849* Все [стандартные атрибуты](#standard-attributes)

848* `event.name`: `"user_prompt"`850* `event.name`: `"user_prompt"`

849* `event.timestamp`: Временная метка ISO 8601851* `event.timestamp`: Метка времени ISO 8601

850* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)852* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

851* `prompt_length`: Длина запроса853* `prompt_length`: Длина промпта

852* `prompt`: Содержание запроса. Скрыто по умолчанию. Установите `OTEL_LOG_USER_PROMPTS=1`, чтобы включить его854* `prompt`: Содержимое промпта. По умолчанию скрыто. Задайте `OTEL_LOG_USER_PROMPTS=1`, чтобы включить его

853* `prompt_text`: то же значение, что и `prompt`, скрываемое по тому же условию. Бэкенд, который хранит имена атрибутов с точками как вложенные объекты, читает `prompt.id` как `id` внутри объекта с именем `prompt` и может потерять строку промпта. В таком случае читайте `prompt_text`. Требуется Claude Code v2.1.287 или новее855* `prompt_text`: То же значение, что и `prompt`, скрываемое по тому же условию. Бэкенд, который хранит имена атрибутов с точками как вложенные объекты, читает `prompt.id` как `id` внутри объекта с именем `prompt` и может потерять строку промпта. В этом случае читайте `prompt_text`. Требуется Claude Code v2.1.287 или новее

854* `message.uuid`: UUID результирующего пользовательского сообщения, совпадающий с сохранённой записью транскрипта. Отсутствует при отправке команд, которые могут создавать ноль или много сообщений. Требуется Claude Code v2.1.214 или позже856* `message.uuid`: UUID итогового сообщения пользователя, совпадающий с сохранённой записью транскрипта. Отсутствует при вызовах команд, которые могут породить ноль или много сообщений.

855* `command_name`: Имя команды, когда запрос вызывает одну. Встроенные и связанные имена команд, такие как `compact` или `debug`, выпускаются как есть; псевдонимы, такие как `reset`, выпускаются как введено, а не как каноническое имя. Пользовательские, плагины и имена команд MCP сворачиваются в `custom` или `mcp`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`857* `command_name`: Имя команды, если промпт вызывает команду. Имена встроенных и поставляемых в комплекте команд, например `compact` или `debug`, передаются как есть; псевдонимы, например `reset`, передаются в том виде, в каком они введены, а не каноническим именем. Имена пользовательских команд, команд плагинов и MCP сводятся к `custom` или `mcp`, если не задано `OTEL_LOG_TOOL_DETAILS=1`

856* `command_source`: Происхождение команды, если присутствует: `builtin`, `custom` или `mcp`. Команды, предоставленные плагинами, сообщаются как `custom`858* `command_source`: Происхождение команды, если она есть: `builtin`, `custom` или `mcp`. Команды, предоставляемые плагинами, сообщаются как `custom`

857 859 

858<h4 id="assistant-response-event">860<h4 id="assistant-response-event">

859 Событие ответа помощника861 Событие ответа ассистента

860</h4>862</h4>

861 863 

862Логируется после каждого запроса к API, который возвращает текстовое содержимое от модели. Включаются только текстовые блоки ответа; блоки размышлений и блоки использования инструментов исключаются.864Записывается в лог после каждого API-запроса, который возвращает текстовое содержимое от модели. Включаются только текстовые блоки ответа; блоки размышлений и блоки использования инструментов исключаются.

863 865 

864**Имя события**: `claude_code.assistant_response`866**Имя события**: `claude_code.assistant_response`

865 867 


867 869 

868* Все [стандартные атрибуты](#standard-attributes)870* Все [стандартные атрибуты](#standard-attributes)

869* `event.name`: `"assistant_response"`871* `event.name`: `"assistant_response"`

870* `event.timestamp`: Временная метка ISO 8601872* `event.timestamp`: Метка времени ISO 8601

871* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)873* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

872* `response_length`: Длина текста ответа в символах874* `response_length`: Длина текста ответа в символах

873* `response`: Текст ответа, усечённый на пределе содержания (60 КБ по умолчанию). Скрыт в `<REDACTED>` по умолчанию. Установите `OTEL_LOG_ASSISTANT_RESPONSES=1`, чтобы включить его. Когда `OTEL_LOG_ASSISTANT_RESPONSES` не установлен, `OTEL_LOG_USER_PROMPTS` управляет им вместо этого, поэтому установите `OTEL_LOG_ASSISTANT_RESPONSES=0`, чтобы сохранить ответы скрытыми, пока логирование запросов включено875* `response`: Текст ответа, усечённый до лимита содержимого (по умолчанию 60 КБ). По умолчанию заменяется на `<REDACTED>`. Задайте `OTEL_LOG_ASSISTANT_RESPONSES=1`, чтобы включить его. Если `OTEL_LOG_ASSISTANT_RESPONSES` не задана, управление берёт на себя `OTEL_LOG_USER_PROMPTS`, поэтому задайте `OTEL_LOG_ASSISTANT_RESPONSES=0`, чтобы ответы оставались скрытыми при включённом логировании промптов

874* `model`: Идентификатор модели (например, "claude-sonnet-5")876* `model`: Идентификатор модели (например, "claude-sonnet-5")

875* `request_id`: ID запроса API, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)877* `request_id`: ID API-запроса, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

876* `message.uuid`: UUID финальной записи транскрипта ответа. Ответ API сохраняется как одна запись транскрипта на блок содержания; это последняя, от которой цепочка `parentUuid` следующего хода. Требуется Claude Code v2.1.214 или позже878* `message.uuid`: UUID последней записи ответа в транскрипте. Ответ API сохраняется как одна запись транскрипта на каждый блок содержимого; это последняя из них, от которой выстраивается цепочка `parentUuid` следующего хода.

877* `query_source`: Подсистема, которая выдала запрос, например `"repl_main_thread"`, `"compact"` или имя подагента879* `query_source`: Подсистема, отправившая запрос, например `"repl_main_thread"`, `"compact"` или имя субагента

878 880 

879<h4 id="tool-result-event">881<h4 id="tool-result-event">

880 Событие результата инструмента882 Событие результата инструмента

881</h4>883</h4>

882 884 

883Регистрируется, когда инструмент завершает выполнение. Не выпускается, если вызов инструмента был отклонён; см. [Событие решения инструмента](#tool-decision-event) для отклонений.885Записывается в лог, когда инструмент завершает выполнение. Не генерируется, если вызов инструмента был отклонён; отклонения описаны в разделе [Событие решения по инструменту](#tool-decision-event).

884 886 

885**Имя события**: `claude_code.tool_result`887**Имя события**: `claude_code.tool_result`

886 888 


888 890 

889* Все [стандартные атрибуты](#standard-attributes)891* Все [стандартные атрибуты](#standard-attributes)

890* `event.name`: `"tool_result"`892* `event.name`: `"tool_result"`

891* `event.timestamp`: Временная метка ISO 8601893* `event.timestamp`: Метка времени ISO 8601

892* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)894* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

893* `tool_name`: Имя инструмента895* `tool_name`: Имя инструмента

894* `tool_use_id`: Уникальный идентификатор для этого вызова инструмента. Совпадает с `tool_use_id`, переданным в hooks, позволяя корреляцию между событиями OTel и данными, захваченными hooks.896* `tool_use_id`: Уникальный идентификатор этого вызова инструмента. Совпадает с `tool_use_id`, передаваемым хукам, что позволяет сопоставлять события OTel с данными, собранными хуками.

895* `success`: `"true"` или `"false"`897* `success`: `"true"` или `"false"`

896* `duration_ms`: Время выполнения в миллисекундах898* `duration_ms`: Время выполнения в миллисекундах

897* `error_type`: Строка категории ошибки, когда инструмент не удался, например `"Error:ENOENT"` или `"ShellError"`899* `error_type`: Строка категории ошибки, если инструмент завершился сбоем, например `"Error:ENOENT"` или `"ShellError"`

898* `error` (когда `OTEL_LOG_TOOL_DETAILS=1`): Полное сообщение об ошибке, когда инструмент не удался900* `error` (при `OTEL_LOG_TOOL_DETAILS=1`): Полное сообщение об ошибке, если инструмент завершился сбоем

899* `decision_type`: Всегда `"accept"`, так как это событие выпускается только после запуска инструмента. Отклонённые вызовы не создают результат инструмента901* `decision_type`: Всегда `"accept"`, поскольку это событие генерируется только после запуска инструмента. Отклонённые вызовы не дают результата инструмента

900* `decision_source`: Откуда пришло решение о разрешении. Один из `"config"`, `"hook"`, `"user_permanent"` или `"user_temporary"`. См. [Событие решения инструмента](#tool-decision-event) для того, что означает каждое значение. Источники, только для отклонения, `"user_abort"` и `"user_reject"` никогда не появляются на этом событии.902* `decision_source`: Источник решения о разрешении. Одно из значений `"config"`, `"hook"`, `"user_permanent"` или `"user_temporary"`. Значение каждого из них описано в разделе [Событие решения по инструменту](#tool-decision-event). Источники `"user_abort"` и `"user_reject"`, используемые только при отклонении, в этом событии никогда не встречаются.

901* `tool_input_size_bytes`: Размер сериализованного в JSON входа инструмента в байтах903* `tool_input_size_bytes`: Размер входных данных инструмента в формате JSON в байтах

902* `tool_result_size_bytes`: Размер результата инструмента в байтах904* `tool_result_size_bytes`: Размер результата инструмента в байтах

903* `mcp_server_scope`: Идентификатор области сервера MCP (для инструментов MCP)905* `mcp_server_scope`: Идентификатор области действия MCP-сервера (для инструментов MCP)

904* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (когда `OTEL_LOG_TOOL_DETAILS=1`): идентификация коммита успешного запуска `git commit` инструментом Bash или PowerShell. `vcs.ref.head.revision` — это SHA коммита, `vcs.ref.head.name` — это ветка, на которую он был закоммичен, и `vcs.ref.head.type` — это `branch`. Имя и тип опускаются, когда коммит был сделан на отсоединённой HEAD. Требуется Claude Code v2.1.269 или позже906* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (при `OTEL_LOG_TOOL_DETAILS=1`): идентификация коммита для успешного `git commit`, выполненного инструментом Bash или PowerShell. `vcs.ref.head.revision` — SHA коммита, `vcs.ref.head.name` — ветка, в которой он сделан, а `vcs.ref.head.type` — `branch`. Имя и тип не указываются, если коммит сделан на отсоединённом HEAD. Требуется Claude Code v2.1.269 или новее

905* `tool_parameters` (когда `OTEL_LOG_TOOL_DETAILS=1`): Строка JSON, содержащая параметры, специфичные для инструмента. Для встроенных серверов Claude Desktop в сеансах, которыми владеет Claude Desktop, пара `mcp_server_name`/`mcp_tool_name` включается даже с отключённым флагом, то же исключение, созданное хостом, как [Событие решения инструмента](#tool-decision-event), требующее Claude Code v2.1.214 или позже. Параметры варьируются по инструменту:907* `tool_parameters` (при `OTEL_LOG_TOOL_DETAILS=1`): Строка JSON с параметрами, специфичными для инструмента. Для встроенных серверов Claude Desktop в сессиях, которыми владеет Claude Desktop, пара `mcp_server_name`/`mcp_tool_name` включается даже при выключенном флаге — то же исключение для имён, заданных хостом, что и в [Событии решения по инструменту](#tool-decision-event). Параметры зависят от инструмента:

906 * Для инструмента Bash: включает `bash_command`, `full_command`, `timeout`, `description` и `dangerouslyDisableSandbox`, плюс `git_commit_id` и `git_branch`, когда команда `git commit` успешна. `git_commit_id` — это полный SHA коммита, когда коммит является HEAD рабочего каталога сеанса, и сокращённый SHA git в противном случае. `git_branch` — это ветка, на которую он был закоммичен, опускается на отсоединённой HEAD908 * Для инструмента Bash: включает `bash_command`, `full_command`, `timeout`, `description` и `dangerouslyDisableSandbox`, а также `git_commit_id` и `git_branch`, когда команда `git commit` выполнена успешно. `git_commit_id` — полный SHA коммита, если коммит является HEAD рабочего каталога сессии, и сокращённый SHA git в остальных случаях. `git_branch` — ветка, в которой сделан коммит; не указывается при отсоединённом HEAD

907 * Для инструмента рабочей области приложения для рабочего стола, который также сообщает `tool_name` как `Bash`: включает только `bash_command`, `full_command` и `timeout`909 * Для инструмента Bash рабочего пространства в настольном приложении, который также сообщает `tool_name` как `Bash`: включает только `bash_command`, `full_command` и `timeout`

908 * Для инструментов MCP: включает `mcp_server_name`, `mcp_tool_name`910 * Для инструментов MCP: включает `mcp_server_name`, `mcp_tool_name`

909 * Для инструмента Skill: включает `skill_name`911 * Для инструмента Skill: включает `skill_name`

910 * Для инструмента Agent или устаревшего инструмента Task: включает `subagent_type`912 * Для инструмента Agent или устаревшего инструмента Task: включает `subagent_type`

911* `tool_input` (когда `OTEL_LOG_TOOL_DETAILS=1`): Сериализованные в JSON аргументы инструмента. Отдельные значения свыше 512 символов усекаются, и полная нагрузка ограничена примерно 4 К символами. Применяется ко всем инструментам, включая инструменты MCP.913* `tool_input` (при `OTEL_LOG_TOOL_DETAILS=1`): Аргументы инструмента в формате JSON. Отдельные значения длиннее 512 символов усекаются, а общий объём данных ограничен \~4 тыс. символов. Применяется ко всем инструментам, включая инструменты MCP.

912 914 

913<h4 id="api-request-event">915<h4 id="api-request-event">

914 Событие запроса API916 Событие API-запроса

915</h4>917</h4>

916 918 

917Регистрируется для каждого запроса API к Claude.919Записывается в лог для каждого API-запроса к Claude.

918 920 

919**Имя события**: `claude_code.api_request`921**Имя события**: `claude_code.api_request`

920 922 


922 924 

923* Все [стандартные атрибуты](#standard-attributes)925* Все [стандартные атрибуты](#standard-attributes)

924* `event.name`: `"api_request"`926* `event.name`: `"api_request"`

925* `event.timestamp`: Временная метка ISO 8601927* `event.timestamp`: Метка времени ISO 8601

926* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)928* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

927* `model`: Используемая модель (например, "claude-sonnet-5")929* `model`: Использованная модель (например, "claude-sonnet-5")

928* `cost_usd`: Предполагаемая стоимость в USD930* `cost_usd`: Оценочная стоимость в USD

929* `cost_usd_micros`: Предполагаемая стоимость в миллионных долях доллара США, выпущенная как целое число931* `cost_usd_micros`: Оценочная стоимость в миллионных долях доллара США, передаётся как целое число

930* `duration_ms`: Длительность запроса в миллисекундах932* `duration_ms`: Длительность запроса в миллисекундах

931* `input_tokens`: количество входных токенов, исключая токены, прочитанные из кэша промптов или записанные в него933* `input_tokens`: Количество входных токенов, без учёта токенов, прочитанных из кэша промптов или записанных в него

932* `output_tokens`: Количество выходных токенов934* `output_tokens`: Количество выходных токенов

933* `cache_read_tokens`: Количество токенов, прочитанных из кэша935* `cache_read_tokens`: Количество токенов, прочитанных из кэша

934* `cache_creation_tokens`: Количество токенов, использованных для создания кэша936* `cache_creation_tokens`: Количество токенов, использованных для создания кэша

935* `request_id`: ID запроса API, например `"req_011..."`, описанный в [Атрибуты корреляции событий](#event-correlation-attributes).937* `request_id`: ID API-запроса, например `"req_011..."`, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes).

936* `client_request_id`: Созданный клиентом UUID, отправленный как заголовок запроса `x-client-request-id`; см. таблицу [атрибутов корреляции событий](#event-correlation-attributes) для того, когда он присутствует. Требуется Claude Code v2.1.214 или позже938* `client_request_id`: Сгенерированный клиентом UUID, отправляемый в заголовке запроса `x-client-request-id`; когда он присутствует, см. в таблице [атрибутов корреляции событий](#event-correlation-attributes)

937* `speed`: `"fast"` или `"normal"`, указывающий, был ли активен быстрый режим939* `speed`: `"fast"` или `"normal"`, указывает, был ли активен быстрый режим

938* `query_source`: Подсистема, которая выдала запрос, например `"repl_main_thread"`, `"compact"` или имя подагента940* `query_source`: Подсистема, отправившая запрос, например `"repl_main_thread"`, `"compact"` или имя субагента

939* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применённый к запросу: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Отсутствует, когда Claude Code не отправляет уровень усилий, например на модели, которая не поддерживает усилия.941* `effort`: [Уровень effort](/docs/ru/model-config#adjust-effort-level), применённый к запросу: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Отсутствует, если Claude Code не отправляет уровень effort, например для модели, которая не поддерживает effort.

940* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. См. [Счётчик стоимости](#cost-counter) для определений и поведения скрытия.942* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция запроса к скиллу, плагину, агенту и MCP. Определения и правила скрытия см. в разделе [Счётчик стоимости](#cost-counter).

941 943 

942<h4 id="api-error-event">944<h4 id="api-error-event">

943 Событие ошибки API945 Событие ошибки API

944</h4>946</h4>

945 947 

946Регистрируется, когда запрос API к Claude не удаётся.948Записывается в лог, когда API-запрос к Claude завершается сбоем.

947 949 

948**Имя события**: `claude_code.api_error`950**Имя события**: `claude_code.api_error`

949 951 


951 953 

952* Все [стандартные атрибуты](#standard-attributes)954* Все [стандартные атрибуты](#standard-attributes)

953* `event.name`: `"api_error"`955* `event.name`: `"api_error"`

954* `event.timestamp`: Временная метка ISO 8601956* `event.timestamp`: Метка времени ISO 8601

955* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)957* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

956* `model`: Используемая модель (например, "claude-sonnet-5")958* `model`: Использованная модель (например, "claude-sonnet-5")

957* `error`: Сообщение об ошибке959* `error`: Сообщение об ошибке

958* `status_code`: Код состояния HTTP как число. Отсутствует для ошибок, не связанных с HTTP, таких как сбои соединения.960* `status_code`: Код состояния HTTP в виде числа. Отсутствует для ошибок, не связанных с HTTP, например сбоев подключения.

959* `duration_ms`: Длительность запроса в миллисекундах961* `duration_ms`: Длительность запроса в миллисекундах

960* `attempt`: количество выполненных попыток, включая исходный запрос. Когда счёт начинается заново, описано в разделе [Обнаружение исчерпания повторных попыток](#detect-retry-exhaustion)962* `attempt`: Количество выполненных попыток, включая первоначальный запрос. Когда счёт начинается заново, описано в разделе [Обнаружение исчерпания повторных попыток](#detect-retry-exhaustion)

961* `request_id`: ID запроса API, например `"req_011..."`, описанный в [Атрибуты корреляции событий](#event-correlation-attributes).963* `request_id`: ID API-запроса, например `"req_011..."`, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes).

962* `client_request_id`: Созданный клиентом UUID, отправленный как заголовок запроса `x-client-request-id`. Доступен даже при сбое, таком как тайм-аут или ошибка соединения, которые никогда не создали серверный `request_id`; см. таблицу [атрибутов корреляции событий](#event-correlation-attributes) для того, когда он присутствует. Требуется Claude Code v2.1.214 или позже964* `client_request_id`: Сгенерированный клиентом UUID, отправляемый в заголовке запроса `x-client-request-id`. Доступен, даже если сбой, например таймаут или ошибка подключения, так и не дал серверный `request_id`; когда он присутствует, см. в таблице [атрибутов корреляции событий](#event-correlation-attributes).

963* `speed`: `"fast"` или `"normal"`, указывающий, был ли активен быстрый режим965* `speed`: `"fast"` или `"normal"`, указывает, был ли активен быстрый режим

964* `query_source`: Подсистема, которая выдала запрос, например `"repl_main_thread"`, `"compact"` или имя подагента966* `query_source`: Подсистема, отправившая запрос, например `"repl_main_thread"`, `"compact"` или имя субагента

965* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применённый к запросу. Отсутствует, когда Claude Code не отправляет уровень усилий, например на модели, которая не поддерживает усилия.967* `effort`: [Уровень effort](/docs/ru/model-config#adjust-effort-level), применённый к запросу. Отсутствует, если Claude Code не отправляет уровень effort, например для модели, которая не поддерживает effort.

966* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. См. [Счётчик стоимости](#cost-counter) для определений и поведения скрытия.968* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция запроса к скиллу, плагину, агенту и MCP. Определения и правила скрытия см. в разделе [Счётчик стоимости](#cost-counter).

967 969 

968<h4 id="api-refusal-event">970<h4 id="api-refusal-event">

969 Событие отказа API971 Событие отказа API

970</h4>972</h4>

971 973 

972Регистрируется, когда запрос API возвращает `stop_reason: "refusal"`. Отказы поступают на успешный поток ответов, а не как ошибка HTTP, поэтому событие `api_error` не срабатывает для них. Это событие позволяет вам отслеживать частоту отказов и группировать отказы по тем же атрибутам, что и `api_request` и `api_error`.974Записывается в лог, когда API-запрос возвращает `stop_reason: "refusal"`. Отказы приходят в успешном потоке ответа, а не в виде ошибки HTTP, поэтому событие `api_error` для них не срабатывает. Это событие позволяет отслеживать частоту отказов и группировать их по тем же атрибутам, что и `api_request` и `api_error`.

973 975 

974**Имя события**: `claude_code.api_refusal`976**Имя события**: `claude_code.api_refusal`

975 977 


977 979 

978* Все [стандартные атрибуты](#standard-attributes)980* Все [стандартные атрибуты](#standard-attributes)

979* `event.name`: `"api_refusal"`981* `event.name`: `"api_refusal"`

980* `event.timestamp`: Временная метка ISO 8601982* `event.timestamp`: Метка времени ISO 8601

981* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)983* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

982* `model`: Идентификатор модели из запроса984* `model`: Идентификатор модели из запроса

983* `request_id`: ID запроса API, например `"req_011..."`, описанный в [Атрибуты корреляции событий](#event-correlation-attributes).985* `request_id`: ID API-запроса, например `"req_011..."`, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes).

984* `query_source`: Подсистема, которая выдала запрос, например `"repl_main_thread"`, `"compact"` или имя подагента. См. [`api_request`](#api-request-event) для определений.986* `query_source`: Подсистема, отправившая запрос, например `"repl_main_thread"`, `"compact"` или имя субагента. Определения см. в [`api_request`](#api-request-event).

985* `speed`: Либо `"fast"`, когда активен [Быстрый режим](/docs/ru/fast-mode), либо `"normal"`987* `speed`: Либо `"fast"`, когда активен [быстрый режим](/docs/ru/fast-mode), либо `"normal"`

986* `attempt`: Номер попытки повтора. Первая попытка — это `1`.988* `attempt`: Номер повторной попытки. Первая попытка — `1`.

987* `effort`: [Уровень усилий](/docs/ru/model-config#adjust-effort-level), применённый к запросу. Отсутствует, когда Claude Code не отправляет уровень усилий, например на модели, которая не поддерживает усилия.989* `effort`: [Уровень effort](/docs/ru/model-config#adjust-effort-level), применённый к запросу. Отсутствует, если Claude Code не отправляет уровень effort, например для модели, которая не поддерживает effort.

988* `server_fallback_hop`: `true`, когда резервный вариант модели на стороне сервера API уже повторил этот отказ на другой модели, поэтому пользователь не видел этот конкретный отказ. `false`, когда запрос закончился отказом. Один ход может выпустить как событие `true` hop, так и более позднее событие `false` final, когда модель резервного варианта также отказывает.990* `server_fallback_hop`: `true`, когда серверный резервный вариант модели в API уже повторил этот отказ на другой модели, так что пользователь не увидел этот конкретный отказ. `false`, когда запрос завершился отказом. Один ход может сгенерировать как событие перехода с `true`, так и последующее итоговое событие с `false`, если резервная модель тоже отказывает.

989* `has_category`: `true`, когда ответ API содержал `stop_details.category` из `"cyber"`, `"bio"`, `"frontier_llm"` или `"reasoning_extraction"`. `false`, когда ответ не содержал категорию или значение вне этого набора. Отсутствует, когда `server_fallback_hop` — это `true`, потому что hop блоки не содержат `stop_details`.991* `has_category`: `true`, когда ответ API содержал `stop_details.category` со значением `"cyber"`, `"bio"`, `"frontier_llm"` или `"reasoning_extraction"`. `false`, когда ответ не содержал категории или содержал значение вне этого набора. Отсутствует, когда `server_fallback_hop` равно `true`, поскольку блоки перехода не содержат `stop_details`.

990* `has_explanation`: `true`, когда ответ API содержал `stop_details.explanation`, в противном случае `false`. Отсутствует, когда `server_fallback_hop` — это `true`.992* `has_explanation`: `true`, когда ответ API содержал `stop_details.explanation`, иначе `false`. Отсутствует, когда `server_fallback_hop` равно `true`.

991* `category`: Значение `stop_details.category` из ответа API. Один из `"cyber"`, `"bio"`, `"frontier_llm"` или `"reasoning_extraction"`. Присутствует только, когда установлен `OTEL_LOG_TOOL_DETAILS=1` и `has_category` — это `true`.993* `category`: Значение `stop_details.category` из ответа API. Одно из значений `"cyber"`, `"bio"`, `"frontier_llm"` или `"reasoning_extraction"`. Присутствует, только если задано `OTEL_LOG_TOOL_DETAILS=1` и `has_category` равно `true`.

992* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция навыка, плагина, агента и MCP для запроса. См. [Счётчик стоимости](#cost-counter) для определений и поведения скрытия.994* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: Атрибуция запроса к скиллу, плагину, агенту и MCP. Определения и правила скрытия см. в разделе [Счётчик стоимости](#cost-counter).

993 995 

994<h4 id="api-request-body-event">996<h4 id="api-request-body-event">

995 Событие тела запроса API997 Событие тела API-запроса

996</h4>998</h4>

997 999 

998Регистрируется для каждой попытки запроса API, когда установлен `OTEL_LOG_RAW_API_BODIES`. Одно событие выпускается на попытку, поэтому повторные попытки с отрегулированными параметрами каждая создают своё собственное событие.1000Записывается в лог для каждой попытки API-запроса, если задана `OTEL_LOG_RAW_API_BODIES`. На каждую попытку генерируется одно событие, поэтому повторные попытки со скорректированными параметрами порождают собственные события.

999 1001 

1000**Имя события**: `claude_code.api_request_body`1002**Имя события**: `claude_code.api_request_body`

1001 1003 


1003 1005 

1004* Все [стандартные атрибуты](#standard-attributes)1006* Все [стандартные атрибуты](#standard-attributes)

1005* `event.name`: `"api_request_body"`1007* `event.name`: `"api_request_body"`

1006* `event.timestamp`: Временная метка ISO 86011008* `event.timestamp`: Метка времени ISO 8601

1007* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1009* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1008* `body`: Сериализованные в JSON параметры запроса Messages API, такие как системный запрос, сообщения и инструменты, усечённые на пределе содержания (60 КБ по умолчанию). Содержание расширенного мышления в предыдущих ходах помощника скрыто. Выпускается только в встроенном режиме (`OTEL_LOG_RAW_API_BODIES=1`).1010* `body`: Параметры запроса Messages API в формате JSON, например системный промпт, сообщения и инструменты, усечённые до лимита содержимого (по умолчанию 60 КБ). Содержимое расширенного мышления в предыдущих ходах ассистента скрывается. Генерируется только во встроенном режиме (`OTEL_LOG_RAW_API_BODIES=1`).

1009* `body_ref`: Абсолютный путь к файлу `<dir>/<uuid>.request.json`, содержащему неусечённое тело. Выпускается только в режиме файла (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).1011* `body_ref`: Абсолютный путь к файлу `<dir>/<uuid>.request.json`, содержащему неусечённое тело. Генерируется только в файловом режиме (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).

1010* `body_length`: Неусечённая длина тела. Байты UTF-8, когда `OTEL_LOG_RAW_API_BODIES=file:<dir>`, или единицы кода UTF-16, когда `=1`1012* `body_length`: Длина неусечённого тела. В байтах UTF-8 при `OTEL_LOG_RAW_API_BODIES=file:<dir>` или в кодовых единицах UTF-16 при `=1`

1011* `body_truncated`: `"true"`, когда произошло встроенное усечение. Отсутствует в режиме файла и когда усечение не произошло.1013* `body_truncated`: `"true"`, если произошло встроенное усечение. Отсутствует в файловом режиме и если усечения не было.

1012* `model`: Идентификатор модели из параметров запроса1014* `model`: Идентификатор модели из параметров запроса

1013* `query_source`: Подсистема, которая выдала запрос (например, `"compact"`)1015* `query_source`: Подсистема, отправившая запрос (например, `"compact"`)

1014* `request_body_id`: UUID, который идентифицирует тело запроса этой попытки. Событие [`api_response_body`](#api-response-body-event) для попытки, которая успешна, содержит то же значение, поэтому вы можете связать ответ с точным запросом, который его создал. Требуется Claude Code v2.1.274 или позже1016* `request_body_id`: UUID, идентифицирующий тело запроса этой попытки. [Событие `api_response_body`](#api-response-body-event) для успешной попытки содержит то же значение, поэтому вы можете сопоставить ответ с тем самым запросом, который его породил. Требуется Claude Code v2.1.274 или новее

1015 1017 

1016<h4 id="api-response-body-event">1018<h4 id="api-response-body-event">

1017 Событие тела ответа API1019 Событие тела ответа API

1018</h4>1020</h4>

1019 1021 

1020Регистрируется для каждого успешного ответа API, когда установлен `OTEL_LOG_RAW_API_BODIES`.1022Записывается в лог для каждого успешного ответа API, если задана `OTEL_LOG_RAW_API_BODIES`.

1021 1023 

1022В режиме файла (`OTEL_LOG_RAW_API_BODIES=file:<dir>`), Claude Code также добавляет одну строку JSON в `<dir>/index.jsonl` для каждого успешного ответа с полями `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file` и `response_file`. Прочитайте его, чтобы найти файлы запроса и ответа за данным сообщением транскрипта без запроса к вашему бэкенду телеметрии. Файл индекса требует Claude Code v2.1.274 или позже.1024В файловом режиме (`OTEL_LOG_RAW_API_BODIES=file:<dir>`) Claude Code также добавляет одну строку JSON в `<dir>/index.jsonl` для каждого успешного ответа с полями `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file` и `response_file`. Читайте его, чтобы найти файлы запроса и ответа, стоящие за конкретным сообщением транскрипта, не обращаясь к бэкенду телеметрии. Файл индекса требует Claude Code v2.1.274 или новее.

1023 1025 

1024**Имя события**: `claude_code.api_response_body`1026**Имя события**: `claude_code.api_response_body`

1025 1027 


1027 1029 

1028* Все [стандартные атрибуты](#standard-attributes)1030* Все [стандартные атрибуты](#standard-attributes)

1029* `event.name`: `"api_response_body"`1031* `event.name`: `"api_response_body"`

1030* `event.timestamp`: Временная метка ISO 86011032* `event.timestamp`: Метка времени ISO 8601

1031* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1033* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1032* `body`: Сериализованный в JSON ответ Messages API, включая id, блоки содержания, использование и причину остановки, усечённый на пределе содержания (60 КБ по умолчанию). Содержание расширенного мышления скрыто. Выпускается только в встроенном режиме (`OTEL_LOG_RAW_API_BODIES=1`).1034* `body`: Ответ Messages API в формате JSON, включая id, блоки содержимого, использование и причину остановки, усечённый до лимита содержимого (по умолчанию 60 КБ). Содержимое расширенного мышления скрывается. Генерируется только во встроенном режиме (`OTEL_LOG_RAW_API_BODIES=1`).

1033* `body_ref`: Абсолютный путь к файлу `<dir>/<request_id>.response.json`, содержащему неусечённое тело. Выпускается только в режиме файла (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).1035* `body_ref`: Абсолютный путь к файлу `<dir>/<request_id>.response.json`, содержащему неусечённое тело. Генерируется только в файловом режиме (`OTEL_LOG_RAW_API_BODIES=file:<dir>`).

1034* `body_length`: Неусечённая длина тела. Байты UTF-8, когда `OTEL_LOG_RAW_API_BODIES=file:<dir>`, или единицы кода UTF-16, когда `=1`1036* `body_length`: Длина неусечённого тела. В байтах UTF-8 при `OTEL_LOG_RAW_API_BODIES=file:<dir>` или в кодовых единицах UTF-16 при `=1`

1035* `body_truncated`: `"true"`, когда произошло встроенное усечение. Отсутствует в режиме файла и когда усечение не произошло.1037* `body_truncated`: `"true"`, если произошло встроенное усечение. Отсутствует в файловом режиме и если усечения не было.

1036* `model`: Идентификатор модели1038* `model`: Идентификатор модели

1037* `query_source`: Подсистема, которая выдала запрос1039* `query_source`: Подсистема, отправившая запрос

1038* `request_id`: ID запроса API, например `"req_011..."`, описанный в [Атрибуты корреляции событий](#event-correlation-attributes).1040* `request_id`: ID API-запроса, например `"req_011..."`, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes).

1039* `request_body_id`: `request_body_id` события [`api_request_body`](#api-request-body-event), на которое отвечает этот ответ. Требуется Claude Code v2.1.274 или позже1041* `request_body_id`: `request_body_id` [события `api_request_body`](#api-request-body-event), на которое отвечает этот ответ. Требуется Claude Code v2.1.274 или новее

1040* `message.id`: ID сообщения, который API назначил ответу, поле `id` тела ответа. Требуется Claude Code v2.1.274 или позже1042* `message.id`: ID сообщения, назначенный ответу API, — поле `id` тела ответа. Требуется Claude Code v2.1.274 или новее

1041* `message.uuid`: UUID финальной записи транскрипта ответа. Вместе с `request_body_id` он связывает сообщение транскрипта с телами запроса и ответа позади него. Требуется Claude Code v2.1.274 или позже1043* `message.uuid`: UUID последней записи ответа в транскрипте. Вместе с `request_body_id` связывает сообщение транскрипта с телами запроса и ответа, стоящими за ним. Требуется Claude Code v2.1.274 или новее

1042 1044 

1043<h4 id="tool-decision-event">1045<h4 id="tool-decision-event">

1044 Событие решения инструмента1046 Событие решения по инструменту

1045</h4>1047</h4>

1046 1048 

1047Регистрируется, когда принимается решение о разрешении инструмента (принять/отклонить).1049Записывается в лог, когда принимается решение о разрешении для инструмента (принять/отклонить).

1048 1050 

1049**Имя события**: `claude_code.tool_decision`1051**Имя события**: `claude_code.tool_decision`

1050 1052 


1052 1054 

1053* Все [стандартные атрибуты](#standard-attributes)1055* Все [стандартные атрибуты](#standard-attributes)

1054* `event.name`: `"tool_decision"`1056* `event.name`: `"tool_decision"`

1055* `event.timestamp`: Временная метка ISO 86011057* `event.timestamp`: Метка времени ISO 8601

1056* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1058* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1057* `tool_name`: Имя инструмента (например, "Read", "Edit", "Write", "NotebookEdit")1059* `tool_name`: Имя инструмента (например, "Read", "Edit", "Write", "NotebookEdit")

1058* `tool_use_id`: Уникальный идентификатор для этого вызова инструмента. Совпадает с `tool_use_id`, переданным в hooks, позволяя корреляцию между событиями OTel и данными, захваченными hooks.1060* `tool_use_id`: Уникальный идентификатор этого вызова инструмента. Совпадает с `tool_use_id`, передаваемым хукам, что позволяет сопоставлять события OTel с данными, собранными хуками.

1059* `decision`: Либо `"accept"`, либо `"reject"`1061* `decision`: Либо `"accept"`, либо `"reject"`

1060* `tool_source`: Всегда присутствует. Происхождение инструмента как закрытый набор значений, созданных CLI. Требуется Claude Code v2.1.214 или позже1062* `tool_source`: Присутствует всегда. Происхождение инструмента в виде закрытого набора значений, заданных CLI:

1061 * `"builtin"`: собственные инструменты CLI1063 * `"builtin"`: собственные инструменты CLI

1062 * `"mcp"`: серверы MCP в целом1064 * `"mcp"`: MCP-серверы в целом

1063 * `"sdk_host_builtin_mcp"`: встроенный в процесс сервер, встроенный в сам Claude Desktop, в сеансе, которым владеет Claude Desktop. Claude Desktop владеет сеансом, который он запустил из одной из своих собственных точек входа, `claude-desktop`, `claude-desktop-3p` или `local-agent`, когда этот сеанс не является вложенным дочерним; вложенные сеансы, включая сеансы, которые сам Claude Code порождает, сообщают эти серверы как `"mcp"`1065 * `"sdk_host_builtin_mcp"`: внутрипроцессный сервер, встроенный в сам Claude Desktop, в сессии, которой владеет Claude Desktop. Claude Desktop владеет сессией, которую запустил из одной из своих точек входа — `claude-desktop`, `claude-desktop-3p` или `local-agent`, — если эта сессия не является вложенной дочерней; вложенные сессии, включая сессии, которые порождает сам Claude Code, сообщают эти серверы как `"mcp"`

1064* `source`: Откуда пришло решение:1066* `source`: Источник решения:

1065 * `"config"`: Решено автоматически без запроса, на основе параметров проекта, правил разрешения или запрета в личных параметрах пользователя, политики, управляемой предприятием, флагов `--allowedTools` или `--disallowedTools`, активного режима разрешения, предоставления области действия сеанса из более раннего запроса в том же интерактивном сеансе CLI или потому что инструмент по своей природе безопасен. Событие не указывает, какой из этих источников совпал. Claude Code также сообщает `"config"`, когда сам запрос подсказки разрешения не удаётся, например когда обратный вызов [`canUseTool`](/docs/ru/agent-sdk/typescript#canusetool) Agent SDK или инструмент [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) возвращает недействительный результат, или когда входной поток закрывается во время ожидания запроса. До v2.1.216 Claude Code сообщал эти сбои как `"user_reject"`.1067 * `"config"`: Решение принято автоматически без запроса одним из следующих источников:

1066 * `"hook"`: Hook `PreToolUse` или `PermissionRequest` вернул решение.1068 

1067 * `"user_permanent"`: Выпускается, когда пользователь выбрал "Да, и больше не спрашивать для ..." в подсказке разрешения, которая сохраняет правило разрешения в его личные параметры. В интерактивном CLI это выпускается только для самого этого выбора; более поздние вызовы, которые совпадают с сохранённым правилом, выпускают `"config"` вместо этого. В сеансах Agent SDK или неинтерактивных `-p`, как исходный выбор, так и более поздние совпадения правил выпускают `"user_permanent"`. Рассматривается как принятие.1069 * Настройки проекта

1068 * `"user_temporary"`: Выпускается, когда пользователь выбрал "Да" в подсказке разрешения для одобрения в один раз, или выбрал опцию, которая предоставляет доступ на оставшуюся часть сеанса в подсказке редактирования или чтения файла. В интерактивном CLI это выпускается только для самого выбора; более поздние вызовы, разрешённые этим предоставлением области действия сеанса, выпускают `"config"` вместо этого. В сеансах Agent SDK или неинтерактивных `-p`, как выбор, так и более поздние совпадения выпускают `"user_temporary"`. Рассматривается как принятие.1070 * Правила разрешения или запрета в личных настройках пользователя

1069 * `"user_abort"`: Выпускается, когда пользователь отклонил подсказку разрешения без ответа. В сеансах Agent SDK и неинтерактивных `-p` это включает прерывание хода, пока запрос разрешения `canUseTool` или `--permission-prompt-tool` ожидает; до v2.1.216 Claude Code сообщал это прерывание как `"user_reject"`. Рассматривается как отклонение.1071 * Управляемая политика предприятия

1070 * `"user_reject"`: Выпускается, когда пользователь выбрал "Нет" при запросе. В интерактивном CLI это выпускается только для самого этого выбора; вызовы, которые совпадают с правилом запрета в личных параметрах пользователя, выпускают `"config"` вместо этого. В сеансах Agent SDK или неинтерактивных `-p` вызовы, которые совпадают с правилом запрета в личных параметрах, выпускают `"user_reject"`. Рассматривается как отклонение.1072 * Флаги `--allowedTools` или `--disallowedTools`

1071* `tool_parameters` (когда `OTEL_LOG_TOOL_DETAILS=1`): Строка JSON, содержащая параметры, специфичные для инструмента. Та же форма, что и [Событие результата инструмента](#tool-result-event), минус поля после выполнения, такие как `git_commit_id`. Значения могут отличаться от `tool_result` для принятого вызова, если решение о разрешении переписывает вход инструмента через `updatedInput`. Используйте этот атрибут, чтобы увидеть, какая команда была отклонена, когда `decision` — это `"reject"`.1073 * Активный режим разрешений

1072 * Для инструментов `"sdk_host_builtin_mcp"`: `mcp_server_name` и `mcp_tool_name` включаются даже когда `OTEL_LOG_TOOL_DETAILS` отключён, потому что приложение хоста определяет эти имена; без них отклонённый вызов одного из этих встроенных серверов был бы неатрибутируемым в потоке по умолчанию. Для серверов MCP, настроенных пользователем, `tool_name` события всегда является буквальным `"mcp_tool"`, и имена сервера и инструмента появляются только в `tool_parameters` с включённым флагом; содержание аргумента требует флага везде. Требуется Claude Code v2.1.214 или позже1074 * Классификатор авторежима, вердикт которого то же событие записывает в `classifier_verdict`

1073 * Для инструмента Bash: включает `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. Инструмент bash рабочей области приложения для рабочего стола также сообщает `tool_name` как `Bash`, но включает только `bash_command`, `full_command` и `timeout`1075 * Разрешение на оставшуюся часть сессии, выданное при более раннем запросе разрешения в той же интерактивной сессии CLI

1076 * Изначальная безопасность инструмента

1077 

1078 Значение `source` не указывает, какой из этих источников сработал.

1079 

1080 Claude Code также сообщает `"config"`, когда сбой происходит в самом запросе разрешения. Например, этот запрос завершается сбоем, когда обратный вызов [`canUseTool`](/docs/ru/agent-sdk/typescript#canusetool) в Agent SDK или инструмент [`--permission-prompt-tool`](/docs/ru/cli-reference#cli-flags) возвращает недопустимый результат либо когда входной поток закрывается, пока запрос ожидает ответа. До v2.1.216 Claude Code сообщал об этих сбоях как `"user_reject"`.

1081 * `"hook"`: Решение вернул хук `PreToolUse` или `PermissionRequest`.

1082 * `"user_permanent"`: Генерируется, когда пользователь выбрал "Yes, and don't ask again for ..." в запросе разрешения, что сохраняет правило разрешения в его личных настройках. В интерактивном CLI генерируется только для самого этого выбора; последующие вызовы, соответствующие сохранённому правилу, генерируют `"config"`. В сессиях Agent SDK или неинтерактивных сессиях `-p` и первоначальный выбор, и последующие совпадения с правилом генерируют `"user_permanent"`. Считается принятием.

1083 * `"user_temporary"`: Генерируется, когда пользователь выбрал "Yes" в запросе разрешения для однократного подтверждения или выбрал вариант, предоставляющий доступ на оставшуюся часть сессии, в запросе на редактирование или чтение файла. В интерактивном CLI генерируется только для самого выбора; последующие вызовы, разрешённые этим разрешением на уровне сессии, генерируют `"config"`. В сессиях Agent SDK или неинтерактивных сессиях `-p` и выбор, и последующие совпадения генерируют `"user_temporary"`. Считается принятием.

1084 * `"user_abort"`: Генерируется, когда пользователь закрыл запрос разрешения, не ответив. В сессиях Agent SDK и неинтерактивных сессиях `-p` сюда относится прерывание хода, пока ожидает ответа запрос разрешения `canUseTool` или `--permission-prompt-tool`; до v2.1.216 Claude Code сообщал о таком прерывании как `"user_reject"`. Считается отклонением.

1085 * `"user_reject"`: Генерируется, когда пользователь выбрал "No" в ответ на запрос. В интерактивном CLI генерируется только для самого этого выбора; вызовы, соответствующие правилу запрета в личных настройках пользователя, генерируют `"config"`. В сессиях Agent SDK или неинтерактивных сессиях `-p` вызовы, соответствующие правилу запрета в личных настройках, генерируют `"user_reject"`. Считается отклонением.

1086* `classifier_verdict`: Вердикт [классификатора](/docs/ru/permission-modes#how-the-classifier-evaluates-actions) авторежима для вызова или причина, по которой Claude Code отклонил вызов, если вердикт не был получен. Требуется Claude Code v2.1.301 или новее

1087 

1088 * `"allow"`: классификатор одобрил вызов

1089 * `"block"`: классификатор заблокировал вызов. Проверка классификатором, завершившаяся сбоем на полпути, тоже может закончиться `"block"`, поэтому частичный сбой классификатора может проявляться как увеличение числа блокировок, а не как `"unavailable"`

1090 * `"no_verdict"`: проверка выполнилась, но [не дала пригодного вердикта](/docs/ru/errors#auto-mode-cannot-determine-the-safety-of-an-action), поэтому Claude Code отклонил вызов. Отклонение не означает, что классификатор счёл вызов небезопасным

1091 * `"unavailable"`: запрос к классификатору завершился сбоем, например из-за ограничения частоты запросов, таймаута или ошибки подключения, поэтому Claude Code отклонил вызов. При [серверной проверке классификатором](/docs/ru/permission-modes#server-side-classifier-review) это значение также помечает вызов, отклонённый потому, что [сервер не вернул вердикт безопасности](/docs/ru/errors#the-server-returned-no-safety-verdict)

1092 

1093 Атрибут также появляется в вызовах режима планирования, когда [классификатор проверяет команды в режиме планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode). Атрибут отсутствует в следующих случаях:

1094 

1095 * Вызов был решён [правилом разрешений](/docs/ru/permissions#manage-permissions) на разрешение или запрет

1096 * Claude Code одобрил вызов в авторежиме, не обращаясь к классификатору

1097 * Пользователь ответил на запрос, который Claude Code показал после [повторных блокировок](/docs/ru/permission-modes#repeated-block-thresholds)

1098 * В запуске `-p` без `--permission-prompt-tool` Claude Code отклонил вызов после повторных блокировок, потому что некому было ответить на запрос. Такое событие сообщает `decision` как `"reject"` и `source` как `"config"`

1099* `classifier_category` (при `OTEL_LOG_TOOL_DETAILS=1`): Имя [встроенного правила](/docs/ru/auto-mode-config#inspect-the-defaults-and-your-effective-config), которое назвал классификатор, заблокировав вызов, в нижнем регистре с подчёркиваниями, например `"data_exfiltration"` для правила Data Exfiltration. Требуется Claude Code v2.1.301 или новее. Атрибут присутствует, когда выполняются все следующие условия:

1100 * `classifier_verdict` равно `"block"`

1101 * Claude Code отправил запрос классификатору сам, а не использовал [серверную проверку классификатором](/docs/ru/permission-modes#server-side-classifier-review)

1102 * Классификатор назвал ровно одно правило, и это встроенное правило, а не написанное вами

1103* `permission_mode`: [Режим разрешений](/docs/ru/permission-modes), активный в момент начала проверки разрешения для этого вызова: `"default"`, `"plan"`, `"acceptEdits"`, `"bypassPermissions"`, `"dontAsk"` или `"auto"`. Ручной режим отображается как `"default"`. Вызов [субагента](/docs/ru/sub-agents#permission-modes) сообщает режим разрешений субагента, а не сессии. Требуется Claude Code v2.1.301 или новее

1104* `tool_parameters` (при `OTEL_LOG_TOOL_DETAILS=1`): Строка JSON с параметрами, специфичными для инструмента. Та же структура, что и в [Событии результата инструмента](#tool-result-event), за исключением полей, появляющихся после выполнения, например `git_commit_id`. Значения могут отличаться от `tool_result` для принятого вызова, если решение о разрешении переписывает входные данные инструмента через `updatedInput`. Используйте этот атрибут, чтобы увидеть, какая команда была отклонена, когда `decision` равно `"reject"`.

1105 * Для инструментов `"sdk_host_builtin_mcp"`: `mcp_server_name` и `mcp_tool_name` включаются, даже когда `OTEL_LOG_TOOL_DETAILS` выключена, поскольку эти имена определяет хост-приложение; без них отклонённый вызов одного из этих встроенных серверов было бы невозможно атрибутировать в потоке по умолчанию. Для MCP-серверов, настроенных пользователем, `tool_name` события всегда равно буквальному `"mcp_tool"`, а имена сервера и инструмента появляются только в `tool_parameters` при включённом флаге; для содержимого аргументов флаг требуется везде.

1106 * Для инструмента Bash: включает `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. Инструмент bash рабочего пространства в настольном приложении также сообщает `tool_name` как `Bash`, но включает только `bash_command`, `full_command` и `timeout`

1074 * Для инструментов MCP: включает `mcp_server_name`, `mcp_tool_name`1107 * Для инструментов MCP: включает `mcp_server_name`, `mcp_tool_name`

1075 * Для инструмента Skill: включает `skill_name`1108 * Для инструмента Skill: включает `skill_name`

1076 * Для инструмента Agent или устаревшего инструмента Task: включает `subagent_type`1109 * Для инструмента Agent или устаревшего инструмента Task: включает `subagent_type`

1077 1110 

1078<h4 id="permission-mode-changed-event">1111<h4 id="permission-mode-changed-event">

1079 Событие изменения режима разрешения1112 Событие изменения режима разрешений

1080</h4>1113</h4>

1081 1114 

1082Регистрируется, когда режим разрешения меняется, например из цикла `Shift+Tab`, выхода из режима плана или проверки ворот автоматического режима.1115Записывается в лог при изменении режима разрешений, например при переключении через `Shift+Tab`, выходе из режима планирования или проверке шлюза авторежима.

1116 

1117Чтобы сгруппировать вызовы инструментов по режиму разрешений, в котором проверялся каждый из них, используйте `permission_mode` в [Событии решения по инструменту](#tool-decision-event).

1083 1118 

1084**Имя события**: `claude_code.permission_mode_changed`1119**Имя события**: `claude_code.permission_mode_changed`

1085 1120 


1087 1122 

1088* Все [стандартные атрибуты](#standard-attributes)1123* Все [стандартные атрибуты](#standard-attributes)

1089* `event.name`: `"permission_mode_changed"`1124* `event.name`: `"permission_mode_changed"`

1090* `event.timestamp`: Временная метка ISO 86011125* `event.timestamp`: Метка времени ISO 8601

1091* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1126* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1092* `from_mode`: Предыдущий режим разрешения, например `"default"`, `"plan"`, `"acceptEdits"`, `"auto"` или `"bypassPermissions"`1127* `from_mode`: Предыдущий режим разрешений, например `"default"`, `"plan"`, `"acceptEdits"`, `"auto"` или `"bypassPermissions"`

1093* `to_mode`: Новый режим разрешения1128* `to_mode`: Новый режим разрешений

1094* `trigger`: причина изменения. Одно из значений: `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"` или `"auto_opt_in"`. Отсутствует для некоторых изменений, например когда SDK задаёт режим разрешений через [`setPermissionMode()`](/docs/ru/agent-sdk/typescript#query-object)1129* `trigger`: Причина изменения, например `"shift_tab"`, `"exit_plan_mode"` или `"auto_gate_denied"`. Отсутствует для некоторых изменений, например когда SDK задаёт режим разрешений через [`setPermissionMode()`](/docs/ru/agent-sdk/typescript#query-object)

1095 1130 

1096<h4 id="auth-event">1131<h4 id="auth-event">

1097 Событие аутентификации1132 Событие аутентификации

1098</h4>1133</h4>

1099 1134 

1100Регистрируется, когда `/login` или `/logout` завершается.1135Записывается в лог по завершении `/login` или `/logout`.

1101 1136 

1102**Имя события**: `claude_code.auth`1137**Имя события**: `claude_code.auth`

1103 1138 


1105 1140 

1106* Все [стандартные атрибуты](#standard-attributes)1141* Все [стандартные атрибуты](#standard-attributes)

1107* `event.name`: `"auth"`1142* `event.name`: `"auth"`

1108* `event.timestamp`: Временная метка ISO 86011143* `event.timestamp`: Метка времени ISO 8601

1109* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1144* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1110* `action`: `"login"` или `"logout"`1145* `action`: `"login"` или `"logout"`

1111* `success`: `"true"` или `"false"`1146* `success`: `"true"` или `"false"`

1112* `auth_method`: Метод аутентификации, например `"oauth"`1147* `auth_method`: Метод аутентификации, например `"oauth"`

1113* `error_category`: Категориальный вид ошибки, когда действие не удалось. Необработанное сообщение об ошибке никогда не включается1148* `error_category`: Категория ошибки, если действие завершилось сбоем. Исходное сообщение об ошибке никогда не включается

1114* `status_code`: Код состояния HTTP как строка, когда действие не удалось с ошибкой HTTP1149* `status_code`: Код состояния HTTP в виде строки, если действие завершилось сбоем с ошибкой HTTP

1115 1150 

1116<h4 id="mcp-server-connection-event">1151<h4 id="mcp-server-connection-event">

1117 Событие подключения сервера MCP1152 Событие подключения MCP-сервера

1118</h4>1153</h4>

1119 1154 

1120Регистрируется, когда сервер MCP подключается, отключается или не может подключиться.1155Записывается в лог, когда MCP-сервер подключается, отключается или не может подключиться.

1121 1156 

1122**Имя события**: `claude_code.mcp_server_connection`1157**Имя события**: `claude_code.mcp_server_connection`

1123 1158 


1125 1160 

1126* Все [стандартные атрибуты](#standard-attributes)1161* Все [стандартные атрибуты](#standard-attributes)

1127* `event.name`: `"mcp_server_connection"`1162* `event.name`: `"mcp_server_connection"`

1128* `event.timestamp`: Временная метка ISO 86011163* `event.timestamp`: Метка времени ISO 8601

1129* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1164* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1130* `status`: `"connected"`, `"failed"` или `"disconnected"`1165* `status`: `"connected"`, `"failed"` или `"disconnected"`

1131* `transport_type`: Транспорт сервера, например `"stdio"`, `"sse"` или `"http"`1166* `transport_type`: Транспорт сервера, например `"stdio"`, `"sse"` или `"http"`

1132* `server_scope`: Область, в которой настроен сервер, например `"user"`, `"project"` или `"local"`1167* `server_scope`: Область действия, на уровне которой настроен сервер, например `"user"`, `"project"` или `"local"`

1133* `duration_ms`: Длительность попытки подключения в миллисекундах1168* `duration_ms`: Длительность попытки подключения в миллисекундах

1134* `error_code`: Код ошибки, когда подключение не удалось1169* `error_code`: Код ошибки, если подключение не удалось

1135* `is_plugin`: `true`, когда сервер предоставляется плагином, `false` в противном случае1170* `is_plugin`: `true`, если сервер предоставлен плагином, иначе `false`

1136* `plugin_id_hash` (когда `is_plugin` — это `true`): Стабильный хеш имени плагина и маркетплейса для группировки событий по плагину без раскрытия имени. Claude Code вычисляет его, как описано в [событии загрузки плагина](#plugin-loaded-event)1171* `plugin_id_hash` (когда `is_plugin` равно `true`): Стабильный хеш имени плагина и маркетплейса для группировки событий по плагинам без раскрытия имени. Claude Code вычисляет его так, как описано в разделе [Событие загрузки плагина](#plugin-loaded-event)

1137* `plugin.name` (когда `is_plugin` — это `true`): Имя плагина, который предоставляет сервер. Для плагинов третьих сторон это буквальная строка `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`; это защищает имена плагинов третьих сторон от появления в логах по умолчанию. Плагины из официальных источников Anthropic всегда идентифицируются по имени. Атрибуты `plugin_id_hash` и `plugin.name` передаются в ваш собственный бэкенд мониторинга и не отправляются в Anthropic1172* `plugin.name` (когда `is_plugin` равно `true`): Имя плагина, предоставляющего сервер. Для сторонних плагинов это буквальная строка `"third-party"`, если не задано `OTEL_LOG_TOOL_DETAILS=1`; это защищает имена сторонних плагинов от попадания в логи по умолчанию. Плагины из официальных источников Anthropic всегда идентифицируются по имени. Атрибуты `plugin_id_hash` и `plugin.name` передаются в ваш собственный бэкенд мониторинга и не отправляются в Anthropic

1138* `server_name` (когда `OTEL_LOG_TOOL_DETAILS=1`): Настроенное имя сервера1173* `server_name` (при `OTEL_LOG_TOOL_DETAILS=1`): Настроенное имя сервера

1139* `error` (когда `OTEL_LOG_TOOL_DETAILS=1`): Полное сообщение об ошибке, когда подключение не удалось1174* `error` (при `OTEL_LOG_TOOL_DETAILS=1`): Полное сообщение об ошибке, если подключение не удалось

1140 1175 

1141<h4 id="internal-error-event">1176<h4 id="internal-error-event">

1142 Событие внутренней ошибки1177 Событие внутренней ошибки

1143</h4>1178</h4>

1144 1179 

1145Регистрируется, когда Claude Code перехватывает неожиданную внутреннюю ошибку. Записываются только имя класса ошибки и код в стиле errno. Сообщение об ошибке и трассировка стека никогда не включаются. Это событие не выпускается при работе с Amazon Bedrock, Agent Platform Google Cloud, Microsoft Foundry или когда установлен `DISABLE_ERROR_REPORTING`.1180Записывается в лог, когда Claude Code перехватывает непредвиденную внутреннюю ошибку. Записываются только имя класса ошибки и код в стиле errno. Сообщение об ошибке и трассировка стека никогда не включаются. Это событие не генерируется при работе с Amazon Bedrock, Agent Platform от Google Cloud или Microsoft Foundry, а также если задана `DISABLE_ERROR_REPORTING`.

1146 1181 

1147**Имя события**: `claude_code.internal_error`1182**Имя события**: `claude_code.internal_error`

1148 1183 


1150 1185 

1151* Все [стандартные атрибуты](#standard-attributes)1186* Все [стандартные атрибуты](#standard-attributes)

1152* `event.name`: `"internal_error"`1187* `event.name`: `"internal_error"`

1153* `event.timestamp`: Временная метка ISO 86011188* `event.timestamp`: Метка времени ISO 8601

1154* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1189* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1155* `error_name`: Имя класса ошибки, например `"TypeError"` или `"SyntaxError"`1190* `error_name`: Имя класса ошибки, например `"TypeError"` или `"SyntaxError"`

1156* `error_code`: Код errno Node.js, такой как `"ENOENT"`, если присутствует в ошибке1191* `error_code`: Код errno Node.js, например `"ENOENT"`, если он присутствует в ошибке

1157 1192 

1158<h4 id="plugin-installed-event">1193<h4 id="plugin-installed-event">

1159 Событие установки плагина1194 Событие установки плагина

1160</h4>1195</h4>

1161 1196 

1162Регистрируется, когда плагин завершает установку, как из команды CLI `claude plugin install`, так и из интерактивного пользовательского интерфейса `/plugin`.1197Записывается в лог, когда завершается установка плагина, как через команду CLI `claude plugin install`, так и через интерактивный интерфейс `/plugin`.

1163 1198 

1164**Имя события**: `claude_code.plugin_installed`1199**Имя события**: `claude_code.plugin_installed`

1165 1200 


1167 1202 

1168* Все [стандартные атрибуты](#standard-attributes)1203* Все [стандартные атрибуты](#standard-attributes)

1169* `event.name`: `"plugin_installed"`1204* `event.name`: `"plugin_installed"`

1170* `event.timestamp`: Временная метка ISO 86011205* `event.timestamp`: Метка времени ISO 8601

1171* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1206* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1172* `marketplace.is_official`: `"true"`, если маркетплейс является официальным маркетплейсом Anthropic, `"false"` в противном случае1207* `marketplace.is_official`: `"true"`, если маркетплейс является официальным маркетплейсом Anthropic, иначе `"false"`

1173* `install.trigger`: `"cli"` или `"ui"`1208* `install.trigger`: `"cli"` или `"ui"`

1174* `plugin.name`: Имя установленного плагина. Для маркетплейсов третьих сторон это включается только когда установлен `OTEL_LOG_TOOL_DETAILS=1`1209* `plugin.name`: Имя установленного плагина. Для сторонних маркетплейсов включается только при `OTEL_LOG_TOOL_DETAILS=1`

1175* `plugin.version`: Версия плагина, когда объявлена в записи маркетплейса. Для маркетплейсов третьих сторон это включается только когда установлен `OTEL_LOG_TOOL_DETAILS=1`1210* `plugin.version`: Версия плагина, если она объявлена в записи маркетплейса. Для сторонних маркетплейсов включается только при `OTEL_LOG_TOOL_DETAILS=1`

1176* `marketplace.name`: Маркетплейс, из которого был установлен плагин. Для маркетплейсов третьих сторон это включается только когда установлен `OTEL_LOG_TOOL_DETAILS=1`1211* `marketplace.name`: Маркетплейс, из которого установлен плагин. Для сторонних маркетплейсов включается только при `OTEL_LOG_TOOL_DETAILS=1`

1177 1212 

1178<h4 id="plugin-loaded-event">1213<h4 id="plugin-loaded-event">

1179 Событие загрузки плагина1214 Событие загрузки плагина

1180</h4>1215</h4>

1181 1216 

1182Регистрируется один раз на включённый плагин при запуске сеанса. Используйте это событие для инвентаризации активных плагинов в вашем парке, как дополнение к `plugin_installed`, которое записывает само действие установки.1217Записывается в лог один раз для каждого включённого плагина при запуске сессии. Используйте это событие для инвентаризации активных плагинов в вашем парке в дополнение к `plugin_installed`, которое фиксирует само действие установки.

1183 1218 

1184**Имя события**: `claude_code.plugin_loaded`1219**Имя события**: `claude_code.plugin_loaded`

1185 1220 


1187 1222 

1188* Все [стандартные атрибуты](#standard-attributes)1223* Все [стандартные атрибуты](#standard-attributes)

1189* `event.name`: `"plugin_loaded"`1224* `event.name`: `"plugin_loaded"`

1190* `event.timestamp`: Временная метка ISO 86011225* `event.timestamp`: Метка времени ISO 8601

1191* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1226* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1192* `plugin.name`: имя плагина. Для плагинов вне официального маркетплейса и встроенного пакета значение — это `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`1227* `plugin.name`: имя плагина. Для плагинов вне официального маркетплейса и встроенного комплекта значение равно `"third-party"`, если не задано `OTEL_LOG_TOOL_DETAILS=1`

1193* `marketplace.name`: маркетплейс, из которого был установлен плагин, если известен. Скрыт в `"third-party"` при том же условии, что и `plugin.name`1228* `marketplace.name`: маркетплейс, из которого установлен плагин, если он известен. Заменяется на `"third-party"` при том же условии, что и `plugin.name`

1194* `plugin.version`: версия из манифеста плагина. Включается только когда имя не скрыто и манифест объявляет версию1229* `plugin.version`: версия из манифеста плагина. Включается, только если имя не скрыто и манифест объявляет версию

1195* `plugin.scope`: категория происхождения для плагина: `"official"`, `"community"`, `"org"`, `"user-local"` или `"default-bundle"`1230* `plugin.scope`: категория происхождения плагина: `"official"`, `"community"`, `"org"`, `"user-local"` или `"default-bundle"`

1196* `enabled_via`: как плагин стал включённым: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"` или `"user-install"`. Значение `"admin-install"` означает, что плагин установлен как обязательный или автоустановка для вашей организации в [**Organization settings > Plugins & skills**](https://claude.ai/admin-settings/skills?tab=inventory). До v2.1.246 Claude Code сообщал эти плагины как `"user-install"` или `"seed-mount"`1231* `enabled_via`: способ включения плагина: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"` или `"user-install"`. Значение `"admin-install"` означает, что плагин задан как обязательный или автоматически устанавливаемый для вашей организации в [**Organization settings > Plugins & skills**](https://claude.ai/admin-settings/skills?tab=inventory). До v2.1.246 Claude Code сообщал такие плагины как `"user-install"` или `"seed-mount"`

1197* `plugin_id_hash`: детерминированный хеш имени плагина и маркетплейса, отправляемый только вашему настроенному экспортёру. Позволяет вам считать отдельные плагины третьих сторон, загруженные в вашем парке, без записи их имён. Для [плагинов, синхронизированных из claude.ai](/docs/ru/plugins/loading#synced-plugins), Claude Code хеширует имя плагина с именем маркетплейса, которое claude.ai сообщает для плагина, или с `synced` в противном случае. До v2.1.246 Claude Code не использовал имя маркетплейса claude.ai сообщает в хеше1232* `plugin_id_hash`: детерминированный хеш имени плагина и маркетплейса, отправляемый только в настроенный вами экспортёр. Позволяет подсчитать количество различных сторонних плагинов, загруженных в вашем парке, без записи их имён. Для [плагинов, синхронизированных из claude.ai](/docs/ru/plugins/loading#synced-plugins), Claude Code хеширует имя плагина вместе с именем маркетплейса, которое claude.ai сообщает для плагина, или с `synced` в противном случае. До v2.1.246 Claude Code не использовал в хеше имя маркетплейса, сообщаемое claude.ai

1198* `has_hooks`: предоставляет ли плагин hooks1233* `has_hooks`: предоставляет ли плагин хуки

1199* `has_mcp`: предоставляет ли плагин серверы MCP1234* `has_mcp`: предоставляет ли плагин MCP-серверы

1200* `host_owned_mcp`: `true`, если хост SDK управляет MCP-подключениями этого плагина и Claude Code пропустил чтение конфигурации MCP-серверов плагина, иначе `false`1235* `host_owned_mcp`: `true`, когда хост SDK управляет подключениями MCP этого плагина и Claude Code пропустил чтение конфигурации MCP-серверов плагина, иначе `false`

1201* `skill_path_count`: количество каталогов навыков, которые объявляет плагин1236* `skill_path_count`: количество каталогов скиллов, объявленных плагином

1202* `command_path_count`: количество каталогов команд, которые объявляет плагин1237* `command_path_count`: количество каталогов команд, объявленных плагином

1203* `agent_path_count`: количество каталогов агентов, которые объявляет плагин1238* `agent_path_count`: количество каталогов агентов, объявленных плагином

1204* `safe_mode`: `"true"`, когда сеанс был запущен с [`--safe-mode`](/docs/ru/cli-reference), `"false"` в противном случае. В безопасном режиме это событие сообщает только настроенный инвентарь; команды, навыки, hooks и серверы MCP плагина не загружаются. Требуется Claude Code v2.1.169 или позже1239* `safe_mode`: `"true"`, если сессия запущена с [`--safe-mode`](/docs/ru/cli-reference), иначе `"false"`. В безопасном режиме это событие сообщает только настроенную инвентаризацию; команды, скиллы, хуки и MCP-серверы плагина не загружаются. Требуется Claude Code v2.1.169 или новее

1205 1240 

1206<h4 id="skill-activated-event">1241<h4 id="skill-activated-event">

1207 Событие активации навыка1242 Событие активации скилла

1208</h4>1243</h4>

1209 1244 

1210Регистрируется, когда навык вызывается, будь то Claude вызывает его через инструмент Skill или вы запускаете его как команду `/`.1245Записывается в лог при вызове скилла — независимо от того, вызывает ли его Claude через инструмент Skill или вы запускаете его как команду `/`.

1211 1246 

1212**Имя события**: `claude_code.skill_activated`1247**Имя события**: `claude_code.skill_activated`

1213 1248 


1215 1250 

1216* Все [стандартные атрибуты](#standard-attributes)1251* Все [стандартные атрибуты](#standard-attributes)

1217* `event.name`: `"skill_activated"`1252* `event.name`: `"skill_activated"`

1218* `event.timestamp`: Временная метка ISO 86011253* `event.timestamp`: Метка времени ISO 8601

1219* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1254* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1220* `skill.name`: Имя навыка. Для определённых пользователем и навыков плагинов третьих сторон значение — это заполнитель `"custom_skill"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`1255* `skill.name`: Имя скилла. Для скиллов, определённых пользователем, и скиллов сторонних плагинов значение равно заполнителю `"custom_skill"`, если не задано `OTEL_LOG_TOOL_DETAILS=1`

1221* `invocation_trigger`: Как был вызван навык (`"user-slash"`, `"claude-proactive"` или `"nested-skill"`)1256* `invocation_trigger`: Способ вызова скилла (`"user-slash"`, `"claude-proactive"` или `"nested-skill"`)

1222* `skill.source`: Откуда был загружен навык (например, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)1257* `skill.source`: Откуда загружен скилл (например, `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)

1223* `skill.kind`: `"workflow"`, когда навык является навыком рабочего процесса. Отсутствует в противном случае1258* `skill.kind`: `"workflow"`, если скилл является скиллом workflow. В остальных случаях отсутствует

1224* `plugin.name` (когда `OTEL_LOG_TOOL_DETAILS=1` или плагин из официального маркетплейса): Имя владеющего плагина, когда навык предоставляется плагином1259* `plugin.name` (при `OTEL_LOG_TOOL_DETAILS=1` или если плагин из официального маркетплейса): Имя плагина-владельца, если скилл предоставлен плагином

1225* `marketplace.name` (когда `OTEL_LOG_TOOL_DETAILS=1` или плагин из официального маркетплейса): Маркетплейс, из которого был установлен владеющий плагин, когда навык предоставляется плагином1260* `marketplace.name` (при `OTEL_LOG_TOOL_DETAILS=1` или если плагин из официального маркетплейса): Маркетплейс, из которого установлен плагин-владелец, если скилл предоставлен плагином

1226 1261 

1227<h4 id="at-mention-event">1262<h4 id="at-mention-event">

1228 Событие упоминания @1263 Событие упоминания через @

1229</h4>1264</h4>

1230 1265 

1231Регистрируется, когда Claude Code разрешает упоминание `@` в запросе. Не каждое упоминание выпускает событие: пути раннего выхода, такие как отказы в разрешении, файлы чрезмерного размера, вложения ссылок PDF и сбои перечисления каталогов, возвращаются без логирования.1266Записывается в лог, когда Claude Code разрешает `@`-упоминание в промпте. Не каждое упоминание генерирует событие: пути раннего выхода, например отказ в разрешении, слишком большие файлы, вложения-ссылки на PDF и сбои получения списка содержимого каталога, завершаются без записи в лог.

1232 1267 

1233Каждый раз, когда Claude Code читает промпт, он записывает не более 100 событий с `mention_type`, равным `"agent"`, и 100 — с `"mcp_resource"`. Упоминания сверх любого из этих лимитов по-прежнему разрешаются, но не генерируют событий.1268Каждый раз, когда Claude Code читает промпт, он записывает в лог не более 100 событий с `mention_type`, равным `"agent"`, и 100 — с `"mcp_resource"`. Упоминания сверх любого из этих лимитов по-прежнему разрешаются, но событие не генерируют.

1234 1269 

1235**Имя события**: `claude_code.at_mention`1270**Имя события**: `claude_code.at_mention`

1236 1271 


1238 1273 

1239* Все [стандартные атрибуты](#standard-attributes)1274* Все [стандартные атрибуты](#standard-attributes)

1240* `event.name`: `"at_mention"`1275* `event.name`: `"at_mention"`

1241* `event.timestamp`: Временная метка ISO 86011276* `event.timestamp`: Метка времени ISO 8601

1242* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1277* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1243* `mention_type`: Тип упоминания (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). Значение `"peer"` означает, что вы упомянули [один из ваших других сеансов Claude Code](/docs/ru/cross-session-messaging). Требуется Claude Code v2.1.232 или позже1278* `mention_type`: Тип упоминания (`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). Значение `"peer"` означает, что вы упомянули [одну из других ваших сессий Claude Code](/docs/ru/cross-session-messaging). Требуется Claude Code v2.1.232 или новее

1244* `success`: Было ли упоминание успешно разрешено (`"true"` или `"false"`)1279* `success`: Успешно ли разрешено упоминание (`"true"` или `"false"`)

1245 1280 

1246<h4 id="api-retries-exhausted-event">1281<h4 id="api-retries-exhausted-event">

1247 Событие исчерпания повторных попыток API1282 Событие исчерпания повторных попыток API

1248</h4>1283</h4>

1249 1284 

1250Регистрируется один раз, когда запрос API не удаётся после более чем одной попытки. Выпускается вместе с финальным событием `api_error`.1285Записывается в лог один раз, когда API-запрос завершается сбоем после более чем одной попытки. Генерируется вместе с итоговым событием `api_error`.

1251 1286 

1252**Имя события**: `claude_code.api_retries_exhausted`1287**Имя события**: `claude_code.api_retries_exhausted`

1253 1288 


1255 1290 

1256* Все [стандартные атрибуты](#standard-attributes)1291* Все [стандартные атрибуты](#standard-attributes)

1257* `event.name`: `"api_retries_exhausted"`1292* `event.name`: `"api_retries_exhausted"`

1258* `event.timestamp`: Временная метка ISO 86011293* `event.timestamp`: Метка времени ISO 8601

1259* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1294* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1260* `model`: Используемая модель1295* `model`: Использованная модель

1261* `error`: Финальное сообщение об ошибке1296* `error`: Итоговое сообщение об ошибке

1262* `status_code`: Код состояния HTTP как число. Отсутствует для ошибок, не связанных с HTTP.1297* `status_code`: Код состояния HTTP в виде числа. Отсутствует для ошибок, не связанных с HTTP.

1263* `total_attempts`: Общее количество попыток1298* `total_attempts`: Общее количество выполненных попыток

1264* `total_retry_duration_ms`: Общее время на стене во всех попытках1299* `total_retry_duration_ms`: Общее фактическое время по всем попыткам

1265* `speed`: `"fast"` или `"normal"`1300* `speed`: `"fast"` или `"normal"`

1266 1301 

1267<h4 id="hook-registered-event">1302<h4 id="hook-registered-event">

1268 Событие регистрации hook1303 Событие регистрации хука

1269</h4>1304</h4>

1270 1305 

1271Регистрируется один раз на настроенный hook при запуске сеанса. Используйте это событие для инвентаризации активных hooks в вашем парке, как дополнение к событиям `hook_execution_start` и `hook_execution_complete` на выполнение.1306Записывается в лог один раз для каждого настроенного хука при запуске сессии. Используйте это событие для инвентаризации активных хуков в вашем парке в дополнение к событиям `hook_execution_start` и `hook_execution_complete`, генерируемым при каждом выполнении.

1272 1307 

1273**Имя события**: `claude_code.hook_registered`1308**Имя события**: `claude_code.hook_registered`

1274 1309 


1276 1311 

1277* Все [стандартные атрибуты](#standard-attributes)1312* Все [стандартные атрибуты](#standard-attributes)

1278* `event.name`: `"hook_registered"`1313* `event.name`: `"hook_registered"`

1279* `event.timestamp`: Временная метка ISO 86011314* `event.timestamp`: Метка времени ISO 8601

1280* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1315* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1281* `hook_event`: тип события hook, например `"PreToolUse"` или `"PostToolUse"`1316* `hook_event`: тип события хука, например `"PreToolUse"` или `"PostToolUse"`

1282* `hook_type`: тип реализации hook: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` или `"agent"`1317* `hook_type`: тип реализации хука: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` или `"agent"`

1283* `hook_source`: где определён hook: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` или `"pluginHook"`1318* `hook_source`: где определён хук: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` или `"pluginHook"`

1284* `safe_mode`: `"true"`, когда сеанс был запущен с [`--safe-mode`](/docs/ru/cli-reference), `"false"` в противном случае. Требуется Claude Code v2.1.169 или позже1319* `safe_mode`: `"true"`, если сессия запущена с [`--safe-mode`](/docs/ru/cli-reference), иначе `"false"`. Требуется Claude Code v2.1.169 или новее

1285* `hook_matcher` (когда `OTEL_LOG_TOOL_DETAILS=1`): строка сопоставления из конфигурации hook, когда она установлена1320* `hook_matcher` (при `OTEL_LOG_TOOL_DETAILS=1`): строка matcher из конфигурации хука, если она задана

1286* `plugin.name` (когда `hook_source` — это `"pluginHook"`): имя участвующего плагина. Для плагинов вне официального маркетплейса и встроенного пакета значение — это `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`1321* `plugin.name` (когда `hook_source` равно `"pluginHook"`): имя плагина, предоставившего хук. Для плагинов вне официального маркетплейса и встроенного комплекта значение равно `"third-party"`, если не задано `OTEL_LOG_TOOL_DETAILS=1`

1287* `plugin_id_hash` (когда `hook_source` — это `"pluginHook"`): детерминированный хеш имени плагина и маркетплейса, отправляемый только вашему настроенному экспортёру. Позволяет вам считать отдельные участвующие плагины без записи их имён. Claude Code вычисляет его, как описано в [событии загрузки плагина](#plugin-loaded-event)1322* `plugin_id_hash` (когда `hook_source` равно `"pluginHook"`): детерминированный хеш имени плагина и маркетплейса, отправляемый только в настроенный вами экспортёр. Позволяет подсчитать количество различных плагинов, предоставивших хуки, без записи их имён. Claude Code вычисляет его так, как описано в разделе [Событие загрузки плагина](#plugin-loaded-event)

1288 1323 

1289<h4 id="hook-execution-start-event">1324<h4 id="hook-execution-start-event">

1290 Событие начала выполнения hook1325 Событие начала выполнения хуков

1291</h4>1326</h4>

1292 1327 

1293Регистрируется, когда один или несколько hooks начинают выполняться для события hook.1328Записывается в лог, когда для события хука начинают выполняться один или несколько хуков.

1294 1329 

1295**Имя события**: `claude_code.hook_execution_start`1330**Имя события**: `claude_code.hook_execution_start`

1296 1331 


1298 1333 

1299* Все [стандартные атрибуты](#standard-attributes)1334* Все [стандартные атрибуты](#standard-attributes)

1300* `event.name`: `"hook_execution_start"`1335* `event.name`: `"hook_execution_start"`

1301* `event.timestamp`: Временная метка ISO 86011336* `event.timestamp`: Метка времени ISO 8601

1302* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1337* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1303* `hook_event`: Тип события hook, например `"PreToolUse"` или `"PostToolUse"`1338* `hook_event`: Тип события хука, например `"PreToolUse"` или `"PostToolUse"`

1304* `hook_name`: Полное имя hook, включая сопоставление, например `"PreToolUse:Write"`1339* `hook_name`: Полное имя хука, включая matcher, например `"PreToolUse:Write"`

1305* `num_hooks`: Количество совпадающих команд hook1340* `num_hooks`: Количество подходящих команд хуков

1306* `managed_only`: `"true"`, когда разрешены только hooks управляемой политики1341* `managed_only`: `"true"`, если разрешены только хуки управляемой политики

1307* `hook_source`: `"policySettings"` или `"merged"`1342* `hook_source`: `"policySettings"` или `"merged"`

1308* `safe_mode`: `"true"`, когда сеанс был запущен с [`--safe-mode`](/docs/ru/cli-reference), `"false"` в противном случае. Требуется Claude Code v2.1.169 или позже1343* `safe_mode`: `"true"`, если сессия запущена с [`--safe-mode`](/docs/ru/cli-reference), иначе `"false"`. Требуется Claude Code v2.1.169 или новее

1309* `hook_definitions`: Конфигурация hook, сериализованная в JSON. Включается только когда включены как детальная бета-трассировка, так и `OTEL_LOG_TOOL_DETAILS=1`1344* `hook_definitions`: Конфигурация хука в формате JSON. Включается, только если включены и подробная бета-трассировка, и `OTEL_LOG_TOOL_DETAILS=1`

1310 1345 

1311<h4 id="hook-execution-complete-event">1346<h4 id="hook-execution-complete-event">

1312 Событие завершения выполнения hook1347 Событие завершения выполнения хуков

1313</h4>1348</h4>

1314 1349 

1315Регистрируется, когда все hooks для события hook завершены.1350Записывается в лог, когда все хуки для события хука завершили работу.

1316 1351 

1317**Имя события**: `claude_code.hook_execution_complete`1352**Имя события**: `claude_code.hook_execution_complete`

1318 1353 


1320 1355 

1321* Все [стандартные атрибуты](#standard-attributes)1356* Все [стандартные атрибуты](#standard-attributes)

1322* `event.name`: `"hook_execution_complete"`1357* `event.name`: `"hook_execution_complete"`

1323* `event.timestamp`: Временная метка ISO 86011358* `event.timestamp`: Метка времени ISO 8601

1324* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1359* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1325* `hook_event`: Тип события hook1360* `hook_event`: Тип события хука

1326* `hook_name`: Полное имя hook, включая сопоставление1361* `hook_name`: Полное имя хука, включая matcher

1327* `num_hooks`: Количество совпадающих команд hook1362* `num_hooks`: Количество подходящих команд хуков

1328* `num_success`: Количество, которое завершилось успешно1363* `num_success`: Количество успешно завершившихся

1329* `num_blocking`: Количество, которое вернуло решение блокировки1364* `num_blocking`: Количество вернувших блокирующее решение

1330* `num_non_blocking_error`: Количество, которое не удалось без блокировки1365* `num_non_blocking_error`: Количество завершившихся сбоем без блокировки

1331* `num_cancelled`: Количество отменено до завершения1366* `num_cancelled`: Количество отменённых до завершения

1332* `total_duration_ms`: Длительность на стене всех совпадающих hooks1367* `total_duration_ms`: Фактическая длительность выполнения всех подходящих хуков

1333* `stdout_chars`: Общее количество символов stdout в совпадающих hooks, которые успешно завершились. Требуется Claude Code v2.1.280 или позже1368* `stdout_chars`: Общее количество символов stdout по всем успешно выполненным подходящим хукам. Требуется Claude Code v2.1.280 или новее

1334* `additional_context_chars`: Общее количество символов `additionalContext`, возвращённых совпадающими hooks. Требуется Claude Code v2.1.280 или позже1369* `additional_context_chars`: Общее количество символов `additionalContext`, возвращённых подходящими хуками. Требуется Claude Code v2.1.280 или новее

1335* `system_message_chars`: Общее количество символов `systemMessage`, возвращённых совпадающими hooks. Требуется Claude Code v2.1.280 или позже1370* `system_message_chars`: Общее количество символов `systemMessage`, возвращённых подходящими хуками. Требуется Claude Code v2.1.280 или новее

1336* `initial_user_message_chars`: Общее количество символов `initialUserMessage`, возвращённых совпадающими hooks. Требуется Claude Code v2.1.280 или позже1371* `initial_user_message_chars`: Общее количество символов `initialUserMessage`, возвращённых подходящими хуками. Требуется Claude Code v2.1.280 или новее

1337* `num_outputs_persisted`: Количество выходов hook свыше [10 000-символьного лимита](/docs/ru/hooks#json-output), которые Claude Code сохранил в файл. Требуется Claude Code v2.1.280 или позже1372* `num_outputs_persisted`: Количество выводов хуков сверх [лимита в 10 000 символов](/docs/ru/hooks#json-output), которые Claude Code сохранил в файл. Требуется Claude Code v2.1.280 или новее

1338* `managed_only`: `"true"`, когда разрешены только hooks управляемой политики1373* `managed_only`: `"true"`, если разрешены только хуки управляемой политики

1339* `hook_source`: `"policySettings"` или `"merged"`1374* `hook_source`: `"policySettings"` или `"merged"`

1340* `safe_mode`: `"true"`, когда сеанс был запущен с [`--safe-mode`](/docs/ru/cli-reference), `"false"` в противном случае. Требуется Claude Code v2.1.169 или позже1375* `safe_mode`: `"true"`, если сессия запущена с [`--safe-mode`](/docs/ru/cli-reference), иначе `"false"`. Требуется Claude Code v2.1.169 или новее

1341* `hook_definitions`: Конфигурация hook, сериализованная в JSON. Включается только когда включены как детальная бета-трассировка, так и `OTEL_LOG_TOOL_DETAILS=1`1376* `hook_definitions`: Конфигурация хука в формате JSON. Включается, только если включены и подробная бета-трассировка, и `OTEL_LOG_TOOL_DETAILS=1`

1342 1377 

1343<h4 id="hook-plugin-metrics-event">1378<h4 id="hook-plugin-metrics-event">

1344 Событие метрик hook плагина1379 Событие метрик хуков плагинов

1345</h4>1380</h4>

1346 1381 

1347Регистрируется, когда hook плагина официального маркетплейса выпускает метрики на выполнение. Только плагины, установленные из официального маркетплейса Anthropic, могут выпускать эти. Плагины маркетплейса третьих сторон и настроенные пользователем hooks не выпускают в это событие. Используйте это событие для мониторинга поведения плагина, такого как поиск скоростей, затрат и длительностей из вашего собственного стека наблюдаемости.1382Записывается в лог, когда хук плагина из официального маркетплейса генерирует метрики для отдельного вызова. Генерировать их могут только плагины, установленные из официального маркетплейса Anthropic. Плагины из сторонних маркетплейсов и хуки, настроенные пользователем, в это событие данные не передают. Используйте это событие, чтобы отслеживать поведение плагинов, например частоту находок, затраты и длительность, в собственном стеке наблюдаемости.

1348 1383 

1349**Имя события**: `claude_code.hook_plugin_metrics`1384**Имя события**: `claude_code.hook_plugin_metrics`

1350 1385 


1352 1387 

1353* Все [стандартные атрибуты](#standard-attributes)1388* Все [стандартные атрибуты](#standard-attributes)

1354* `event.name`: `"hook_plugin_metrics"`1389* `event.name`: `"hook_plugin_metrics"`

1355* `event.timestamp`: Временная метка ISO 86011390* `event.timestamp`: Метка времени ISO 8601

1356* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1391* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1357* `plugin_id`: идентификатор плагина в форме `<name>@<marketplace>`1392* `plugin_id`: идентификатор плагина в форме `<name>@<marketplace>`

1358* `hook_event`: тип события hook, который выпустил метрики1393* `hook_event`: тип события хука, сгенерировавшего метрики

1359* До 20 ключей метрик, переданных плагином. Имена соответствуют `^[a-z][a-z0-9_]{0,39}$`. Значения — логические или числовые.1394* До 20 ключей метрик, генерируемых плагином. Имена соответствуют `^[a-z][a-z0-9_]{0,39}$`. Значения — логические или числовые.

1360 1395 

1361<h4 id="compaction-event">1396<h4 id="compaction-event">

1362 Событие компактирования1397 Событие сжатия контекста

1363</h4>1398</h4>

1364 1399 

1365Регистрируется, когда компактирование разговора завершается.1400Записывается в лог по завершении сжатия контекста диалога.

1366 1401 

1367**Имя события**: `claude_code.compaction`1402**Имя события**: `claude_code.compaction`

1368 1403 


1370 1405 

1371* Все [стандартные атрибуты](#standard-attributes)1406* Все [стандартные атрибуты](#standard-attributes)

1372* `event.name`: `"compaction"`1407* `event.name`: `"compaction"`

1373* `event.timestamp`: Временная метка ISO 86011408* `event.timestamp`: Метка времени ISO 8601

1374* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1409* `event.sequence`: счётчик процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1375* `trigger`: `"auto"` или `"manual"`1410* `trigger`: `"auto"` или `"manual"`

1376* `success`: `"true"` или `"false"`1411* `success`: `"true"` или `"false"`

1377* `duration_ms`: Длительность компактирования1412* `duration_ms`: Длительность сжатия контекста

1378* `pre_tokens`: Приблизительный счёт токенов до компактирования1413* `pre_tokens`: Приблизительное количество токенов до сжатия контекста

1379* `post_tokens`: Приблизительный счёт токенов после компактирования1414* `post_tokens`: Приблизительное количество токенов после сжатия контекста

1380* `error`: Сообщение об ошибке, когда компактирование не удалось1415* `error`: Сообщение об ошибке, если сжатие контекста завершилось сбоем

1381* `precompute_reuse`: задаётся, только если `trigger` равно `"manual"`, или для [сжатия при простое](/docs/ru/settings-reference#idlecompaction), которое передаёт `trigger` как `"auto"`. Автосжатие может подготовить сводку в фоновом режиме до заполнения контекстного окна, и этот атрибут фиксирует, использовало ли сжатие эту подготовленную сводку. `"hit"` означает, что она была использована; `"miss_custom_instructions"`, `"miss_hook"` и `"miss_not_ready"` указывают причину, по которой вместо этого была вычислена новая сводка1416* `precompute_reuse`: Задаётся, только когда `trigger` равно `"manual"`, или для [сжатия при простое](/docs/ru/settings-reference#idlecompaction), которое сообщает `trigger` как `"auto"`. Автосжатие может подготовить сводку в фоновом режиме до заполнения контекстного окна, и этот атрибут фиксирует, использовало ли сжатие контекста эту подготовленную сводку. `"hit"` означает, что она была использована повторно; `"miss_custom_instructions"`, `"miss_hook"` и `"miss_not_ready"` указывают причину, по которой вместо этого была вычислена новая сводка

1382 1417 

1383<h4 id="subagent-completed-event">1418<h4 id="subagent-completed-event">

1384 Событие завершения подагента1419 Событие завершения субагента

1385</h4>1420</h4>

1386 1421 

1387Регистрируется, когда [подагент](/docs/ru/sub-agents) завершает работу и возвращает свой результат в разговор, который его запустил. Используйте его для сворачивания использования инструментов и времени выполнения по типу подагента; для сворачивания токенов или стоимости используйте [счётчик токенов](#token-counter) и [счётчик стоимости](#cost-counter), отфильтрованные по `query_source` `"subagent"`, так как `total_tokens` этого события охватывает только финальный запрос. Категория `"subagent"` также считает запросы из hooks на основе агентов, которые не выпускают событие подагента.1422Записывается, когда [субагент](/docs/ru/sub-agents) завершает работу и возвращает результат в диалог, который его запустил. Используйте его для агрегирования использования инструментов и времени выполнения по типу субагента; для агрегирования токенов или стоимости используйте [счётчик токенов](#token-counter) и [счётчик стоимости](#cost-counter) с фильтром `query_source` `"subagent"`, поскольку `total_tokens` этого события охватывает только последний запрос. Категория `"subagent"` также учитывает запросы от хуков на основе агентов, которые не генерируют событие субагента.

1388 1423 

1389**Имя события**: `claude_code.subagent_completed`1424**Имя события**: `claude_code.subagent_completed`

1390 1425 


1392 1427 

1393* Все [стандартные атрибуты](#standard-attributes)1428* Все [стандартные атрибуты](#standard-attributes)

1394* `event.name`: `"subagent_completed"`1429* `event.name`: `"subagent_completed"`

1395* `event.timestamp`: Временная метка ISO 86011430* `event.timestamp`: временная метка в формате ISO 8601

1396* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1431* `event.sequence`: счётчик в пределах процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1397* `agent_type`: Тип подагента. Встроенные имена агентов и агенты из официальных плагинов маркетплейса отображаются как есть; другие имена агентов заменяются на `"custom"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`1432* `agent_type`: тип субагента. Имена встроенных агентов и агентов из плагинов официального маркетплейса отображаются как есть; имена других агентов заменяются на `"custom"`, если не задано `OTEL_LOG_TOOL_DETAILS=1`

1398* `agent.source`: Откуда пришло определение агента: `built-in`, `plugin` или источник параметров, который определил пользовательского агента, например `userSettings` или `projectSettings`1433* `agent.source`: откуда взято определение агента: `built-in`, `plugin` или источник настроек, определивший пользовательского агента, например `userSettings` или `projectSettings`

1399* `is_built_in`: Является ли подагент встроенным типом агента1434* `is_built_in`: является ли субагент встроенным типом агента

1400* `is_async`: Работал ли подагент в [фоне](/docs/ru/sub-agents#run-subagents-in-foreground-or-background)1435* `is_async`: выполнялся ли субагент в [фоновом режиме](/docs/ru/sub-agents#run-subagents-in-foreground-or-background)

1401* `total_tokens`: Объём токенов финального запроса API подагента: входные, создание кэша, чтение кэша и выходные токены этого одного запроса, примерно размер контекста подагента при завершении. Не сумма по всему запуску1436* `total_tokens`: объём токенов последнего API-запроса субагента: входные токены, токены создания кэша, чтения кэша и выходные токены этого одного запроса, что примерно соответствует размеру контекста субагента на момент завершения. Это не сумма за весь запуск

1402* `total_tool_uses`: Количество вызовов инструментов, которые подагент сделал во всём запуске1437* `total_tool_uses`: количество вызовов инструментов, сделанных субагентом за весь запуск

1403* `duration_ms`: Время выполнения в миллисекундах1438* `duration_ms`: время выполнения в миллисекундах

1404* `model`: Модель, на которую был разрешён подагент для запуска1439* `model`: модель, на которой было определено выполнять субагента

1405* `final_model`: Модель, которая создала финальный ответ подагента, отличающаяся от `model` после переключения во время запуска, такого как резервный вариант. Требуется Claude Code v2.1.212 или позже1440* `final_model`: модель, сформировавшая финальный ответ субагента; отличается от `model` после смены модели в ходе выполнения, например при переключении на резервный вариант

1406* `model_swapped`: Обслуживала ли более одной модели запросы подагента. Требуется Claude Code v2.1.212 или позже1441* `model_swapped`: обслуживала ли запросы субагента более чем одна модель

1407* `plugin_id_hash`, `plugin.name`: Присутствует для агентов, предоставляемых плагинами. Имена плагинов официального маркетплейса отображаются как есть; другие имена плагинов заменяются на `"third-party"`, если не установлен `OTEL_LOG_TOOL_DETAILS=1`1442* `plugin_id_hash`, `plugin.name`: присутствуют для агентов, предоставленных плагинами. Имена плагинов официального маркетплейса отображаются как есть; имена других плагинов заменяются на `"third-party"`, если не задано `OTEL_LOG_TOOL_DETAILS=1`

1408 1443 

1409<h4 id="feedback-survey-event">1444<h4 id="feedback-survey-event">

1410 Событие опроса обратной связи1445 Событие опроса обратной связи

1411</h4>1446</h4>

1412 1447 

1413Регистрируется, когда показывается или отвечается опрос качества сеанса. См. [Опросы качества сеанса](/docs/ru/data-usage#session-quality-surveys) для того, что опросы собирают и как их контролировать.1448Записывается, когда опрос о качестве сессии показан или на него дан ответ. Сведения о том, какие данные собирают опросы и как ими управлять, см. в разделе [Опросы о качестве сессии](/docs/ru/data-usage#session-quality-surveys).

1414 1449 

1415**Имя события**: `claude_code.feedback_survey`1450**Имя события**: `claude_code.feedback_survey`

1416 1451 


1418 1453 

1419* Все [стандартные атрибуты](#standard-attributes)1454* Все [стандартные атрибуты](#standard-attributes)

1420* `event.name`: `"feedback_survey"`1455* `event.name`: `"feedback_survey"`

1421* `event.timestamp`: Временная метка ISO 86011456* `event.timestamp`: временная метка в формате ISO 8601

1422* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1457* `event.sequence`: счётчик в пределах процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1423* `event_type`: Событие жизненного цикла опроса, например `"appeared"`, `"responded"` или `"transcript_prompt_appeared"`1458* `event_type`: событие жизненного цикла опроса, например `"appeared"`, `"responded"` или `"transcript_prompt_appeared"`

1424* `appearance_id`: Уникальный ID, связывающий события, выпущенные для одного экземпляра опроса1459* `appearance_id`: уникальный идентификатор, связывающий события, сгенерированные для одного экземпляра опроса

1425* `survey_type`: Какой опрос создал событие. `"session"` — это подсказка рейтинга "Как работает Claude?"1460* `survey_type`: какой опрос сгенерировал событие. `"session"` — это промпт с оценкой «How is Claude doing?»

1426* `response`: Выбор пользователя на событиях `responded`1461* `response`: выбор пользователя в событиях `responded`

1427* `enabled_via_override`: `true`, когда задана переменная [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/ru/env-vars). Передаётся как логическое значение, а не строка. Присутствует в событиях опроса `session`. Фильтруйте по этому атрибуту, чтобы убедиться, что переопределение применено во всём парке машин1462* `enabled_via_override`: `true`, когда задана переменная [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/ru/env-vars). Передаётся как Boolean, а не как строка. Присутствует в событиях опроса `session`. Фильтруйте по этому атрибуту, чтобы убедиться, что переопределение применено на всём парке машин

1428 1463 

1429<h4 id="retention-sweep-event">1464<h4 id="retention-sweep-event">

1430 Событие развёртки удержания1465 Событие очистки по сроку хранения

1431</h4>1466</h4>

1432 1467 

1433Регистрируется один раз за запуск развёртки очистки удержания, которая удаляет [транскрипты сеансов и другие данные приложения](/docs/ru/claude-directory#cleaned-up-automatically) старше параметра [`cleanupPeriodDays`](/docs/ru/settings-reference#cleanupperioddays). Claude Code запускает развёртку в фоне максимум один раз за сеанс, и запуск, который ничего не удаляет, всё равно выпускает событие. Если Claude Code запустил развёртку в любом сеансе на одной машине в последние 24 часа, он задерживает развёртку этого сеанса как минимум на 10 минут, поэтому сеанс, который выходит раньше, ничего не выпускает. Когда вы запускаете `claude -p` с `--bare`, Claude Code не запускает развёртку и ничего не выпускает.1468Записывается один раз за каждый запуск очистки по сроку хранения, которая удаляет [транскрипты сессий и другие данные приложения](/docs/ru/claude-directory#cleaned-up-automatically) старше значения настройки [`cleanupPeriodDays`](/docs/ru/settings-reference#cleanupperioddays). Claude Code выполняет очистку в фоновом режиме не чаще одного раза за сессию, и запуск, который ничего не удалил, всё равно генерирует событие. Если Claude Code выполнял очистку в любой сессии на той же машине в течение последних 24 часов, он откладывает очистку в этой сессии как минимум на 10 минут, поэтому сессия, завершившаяся раньше, ничего не генерирует. Когда вы запускаете `claude -p` с `--bare`, Claude Code не выполняет очистку и ничего не генерирует.

1434 1469 

1435Как каждое событие OTel на этой странице, оно идёт только на бэкенд телеметрии, который вы настраиваете. Требуется Claude Code v2.1.227 или позже.1470Как и любое событие OTel на этой странице, оно отправляется только в настроенный вами бэкенд телеметрии. Требуется Claude Code v2.1.227 или новее.

1436 1471 

1437Когда Claude Code не может безопасно определить период удержания, он приостанавливает развёртку и выпускает событие с `result`, установленным в `"skipped"` и `skip_reason`. Когда [управляемые параметры](/docs/ru/server-managed-settings) устанавливают `cleanupPeriodDays`, управляемое значение закрепляет период удержания и развёртка работает даже когда файл параметров в более низком приоритете сломан или недействителен. Когда сам `managed-settings.json` не может быть прочитан, Claude Code всё равно приостанавливает развёртку, если только [управляемый уровень](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) не поставляет `cleanupPeriodDays` откуда-то ещё, например из параметров, управляемых сервером, или из `managed-settings.d/` drop-in рядом с повреждённым файлом. Атрибуты счётчика удаления присутствуют только когда `result` — это `"complete"`.1472Когда Claude Code не может надёжно определить срок хранения, он приостанавливает очистку и генерирует событие с `result`, равным `"skipped"`, и атрибутом `skip_reason`. Когда [управляемые настройки](/docs/ru/server-managed-settings) задают `cleanupPeriodDays`, управляемое значение фиксирует срок хранения, и очистка выполняется, даже если файл настроек в области действия с более низким приоритетом повреждён или некорректен. Когда сам `managed-settings.json` не удаётся прочитать, Claude Code всё равно приостанавливает очистку, если только [управляемый уровень](/docs/ru/managed-settings#how-claude-code-combines-managed-sources) не предоставляет `cleanupPeriodDays` из другого места, например из серверных управляемых настроек или из дополнительного файла `managed-settings.d/` рядом с повреждённым файлом. Атрибуты-счётчики удалений присутствуют, только когда `result` равен `"complete"`.

1438 1473 

1439**Имя события**: `claude_code.retention_sweep`1474**Имя события**: `claude_code.retention_sweep`

1440 1475 


1442 1477 

1443* Все [стандартные атрибуты](#standard-attributes)1478* Все [стандартные атрибуты](#standard-attributes)

1444* `event.name`: `"retention_sweep"`1479* `event.name`: `"retention_sweep"`

1445* `event.timestamp`: Временная метка ISO 86011480* `event.timestamp`: временная метка в формате ISO 8601

1446* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1481* `event.sequence`: счётчик в пределах процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1447* `result`: `"complete"`, когда развёртка работала, `"skipped"`, когда Claude Code её приостановил1482* `result`: `"complete"`, если очистка выполнена, `"skipped"`, если Claude Code её приостановил

1448* `period_days`: Значение `cleanupPeriodDays` из объединённых параметров, в днях, или `30`, когда ни один источник его не устанавливает. На пропущенных событиях значение, которое развёртка использовала бы, вычисленное из источников параметров, которые Claude Code мог прочитать1483* `period_days`: значение `cleanupPeriodDays` из объединённых настроек в днях или `30`, если ни один источник его не задаёт. В пропущенных событиях — значение, которое использовала бы очистка, вычисленное из источников настроек, которые Claude Code смог прочитать

1449* `used_default`: `"true"`, когда ни один читаемый источник параметров не устанавливает `cleanupPeriodDays`, `"false"` в противном случае. На полных событиях `"true"` означает, что применён 30-дневный стандарт1484* `used_default`: `"true"`, если ни один доступный для чтения источник настроек не задаёт `cleanupPeriodDays`, иначе `"false"`. В завершённых событиях `"true"` означает, что применено значение по умолчанию в 30 дней

1450* `skip_reason`: Почему Claude Code приостановил развёртку. Присутствует только когда `result` — это `"skipped"`:1485* `skip_reason`: почему Claude Code приостановил очистку. Присутствует, только когда `result` равен `"skipped"`:

1451 * `"user_source_disabled"`: Параметры пользователя исключены, например флагом [`--setting-sources`](/docs/ru/cli-reference#cli-flags) или опцией [`settingSources`](/docs/ru/agent-sdk/typescript#options) SDK, и ни один включённый источник не предоставляет `cleanupPeriodDays`1486 * `"user_source_disabled"`: пользовательские настройки исключены, например флагом [`--setting-sources`](/docs/ru/cli-reference#cli-flags) или параметром SDK [`settingSources`](/docs/ru/agent-sdk/typescript#options), и ни один включённый источник не предоставляет `cleanupPeriodDays`

1452 * `"settings_unknowable"`: Файл параметров не может быть прочитан или разобран, поэтому `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` может быть установлен в значение, которое Claude Code не может видеть1487 * `"settings_unknowable"`: файл настроек не удалось прочитать или разобрать, поэтому `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` может иметь значение, которое Claude Code не видит

1453 * `"settings_invalid_key_set"`: Параметры имеют ошибки валидации и `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` явно установлены, поэтому возврат к стандарту может удалить или сохранить файлы против этого параметра1488 * `"settings_invalid_key_set"`: в настройках есть ошибки валидации, и `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` задан явно, поэтому использование значения по умолчанию могло бы удалить или сохранить файлы вопреки этой настройке

1454* `transcripts_deleted`: Количество транскриптов сеансов, файлы верхнего уровня `~/.claude/projects/*/*.jsonl`, которые развёртка удалила1489* `transcripts_deleted`: количество транскриптов сессий — файлов верхнего уровня `~/.claude/projects/*/*.jsonl`, — удалённых очисткой

1455* `transcripts_exempted_desktop`: Количество транскриптов прошлого периода удержания, которые развёртка сохранила в соответствии с [правилом Claude Desktop и Cowork](/docs/ru/claude-directory#cleaned-up-automatically). Они не считаются в `files_past_cutoff`. Требуется Claude Code v2.1.248 или позже1490* `transcripts_exempted_desktop`: количество транскриптов с истёкшим сроком хранения, которые очистка сохранила согласно [правилу Claude Desktop и Cowork](/docs/ru/claude-directory#cleaned-up-automatically). Они не учитываются в `files_past_cutoff`. Требуется Claude Code v2.1.248 или новее

1456* `session_files_deleted`: Количество артефактов, которые развёртка файлов сеанса удалила: транскрипты плюс файлы-спутники для каждого сеанса, такие как боковые панели, записи и результаты инструментов1491* `session_files_deleted`: количество артефактов, удалённых очисткой файлов сессий: транскрипты плюс сопутствующие файлы каждой сессии, такие как sidecar-файлы, записи и результаты инструментов

1457* `artifacts_deleted`: Общее количество элементов, которые развёртка удалила в каталогах данных, которые она охватывает, включая файлы сеанса. Некоторые развёртки считают целое удалённое дерево каталогов как один элемент и несколько проходов очистки не вносят вклад в счётчик, поэтому рассматривайте значение как нижний предел, а не точный счёт файлов1492* `artifacts_deleted`: общее количество элементов, удалённых очисткой во всех охватываемых ею каталогах данных, включая файлы сессий. Некоторые очистки считают целое удалённое дерево каталогов одним элементом, а несколько проходов очистки не учитываются в счётчике, поэтому рассматривайте значение как нижнюю границу, а не как точное количество файлов

1458* `files_retained_fresh`: Файлы, проверенные и оставленные на месте, потому что они всё ещё находятся в пределах периода удержания. Только развёртки для каждого файла считают эти, поэтому значение — это нижний предел; ненулевое значение — это нормальное устойчивое состояние1493* `files_retained_fresh`: файлы, проверенные и оставленные на месте, поскольку срок их хранения ещё не истёк. Их учитывают только пофайловые очистки, поэтому значение является нижней границей; ненулевое значение — нормальное устойчивое состояние

1459* `files_past_cutoff`: файлы старше срока хранения, которые очистке не удалось удалить, например из-за ошибки прав доступа или из-за того, что файл открыт. Счётчик также включает каждую устаревшую папку, найденную очисткой в `skills/synced/` или `plugins/synced/`, независимо от того, перемещает ли она папку в корзину. Не считая этих папок, значение больше нуля означает, что файлы пережили настроенный срок хранения; ноль не доказывает обратного, поскольку неудачное удаление целого каталога учитывается в `error_count`1494* `files_past_cutoff`: файлы старше срока хранения, которые очистке не удалось удалить, например из-за ошибки прав доступа или из-за того, что файл открыт. Счётчик также включает каждую устаревшую папку, найденную очисткой в `skills/synced/` или `plugins/synced/`, независимо от того, переместила ли она папку в корзину. Не считая этих папок, значение больше нуля означает, что файлы пережили настроенный срок хранения; ноль не доказывает обратного, поскольку неудачное удаление целого каталога учитывается в `error_count`

1460* `error_count`: Количество ошибок, которые развёртка встретила при перечислении или удалении файлов1495* `error_count`: количество ошибок, возникших у очистки при получении списка или удалении файлов

1461 1496 

1462<h4 id="managed-settings-resolved-event">1497<h4 id="managed-settings-resolved-event">

1463 Событие разрешения управляемых параметров1498 Событие определения управляемых настроек

1464</h4>1499</h4>

1465 1500 

1466Регистрируется с [управляемыми параметрами](/docs/ru/managed-settings), которые разрешил сеанс: один раз при запуске сеанса, снова когда либо управляемые параметры, либо состояние [помощника политики](/docs/ru/managed-settings#compute-the-policy-with-a-helper-program) меняется во время сеанса, и когда Claude Code отказывается запускаться или заканчивает сеанс по одной из причин, которые атрибут `error.type` перечисляет.1501Записывается с [управляемыми настройками](/docs/ru/managed-settings), определёнными для сессии: один раз при запуске сессии, повторно, когда в ходе сессии меняются управляемые настройки или состояние [вспомогательной программы политики](/docs/ru/managed-settings#compute-the-policy-with-a-helper-program), а также когда Claude Code отказывается запускаться или завершает сессию по одной из причин, перечисленных в атрибуте `error.type`.

1467Используйте это событие, чтобы найти машины, работающие на неожиданном управляемом источнике, машины, чей помощник политики не работает, и причину, по которой машина отказалась запускаться.1502Используйте это событие, чтобы найти машины, работающие с неожиданным управляемым источником, машины, на которых вспомогательная программа политики завершается ошибкой, и причину, по которой машина отказалась запускаться.

1468Требуется Claude Code v2.1.274 или позже.1503Требуется Claude Code v2.1.274 или новее.

1469 1504 

1470По умолчанию событие содержит управляемые источники и состояние помощника политики, но не сами параметры. Чтобы добавить скрытый атрибут `managed_settings.settings` и дайджест `managed_settings.resolved_sha256`, установите `OTEL_LOG_MANAGED_SETTINGS=1`:1505По умолчанию событие содержит управляемые источники и состояние вспомогательной программы политики, но не сами настройки. Чтобы добавить отредактированный атрибут `managed_settings.settings` и дайджест `managed_settings.resolved_sha256`, задайте `OTEL_LOG_MANAGED_SETTINGS=1`:

1471 1506 

1472* Установите его в блоке `env` управляемых параметров, параметров пользователя или `--settings`, или в среде, в которой вы запускаете Claude Code. Значение в параметрах проекта или локальных параметрах не включает его, потому что клонированный репозиторий может их писать.1507* Задайте её в блоке `env` управляемых настроек, пользовательских настроек или `--settings`, либо в окружении, в котором вы запускаете Claude Code. Значение в настройках проекта или локальных настройках её не включает, поскольку клонированный репозиторий может их записывать.

1473* Параметры, управляемые сервером, могут установить его без отображения [диалога одобрения безопасности](/docs/ru/server-managed-settings#security-approval-dialogs), потому что переменная только добавляет вашу собственную скрытую политику организации к событию, которое ваша организация уже получает.1508* Серверные управляемые настройки могут задать её без показа [диалогового окна подтверждения безопасности](/docs/ru/server-managed-settings#security-approval-dialogs), поскольку переменная лишь добавляет собственную отредактированную политику вашей организации в событие, которое ваша организация уже получает.

1474 1509 

1475В интерактивном сеансе в папке, которую вы не [доверили](/docs/ru/permissions#what-runs-before-you-trust-a-folder), Claude Code не экспортирует событие отказа.1510В интерактивной сессии в папке, которой вы не [доверяете](/docs/ru/permissions#what-runs-before-you-trust-a-folder), Claude Code не экспортирует событие отказа.

1476 1511 

1477**Имя события**: `claude_code.managed_settings_resolved`1512**Имя события**: `claude_code.managed_settings_resolved`

1478 1513 


1480 1515 

1481* Все [стандартные атрибуты](#standard-attributes)1516* Все [стандартные атрибуты](#standard-attributes)

1482* `event.name`: `"managed_settings_resolved"`1517* `event.name`: `"managed_settings_resolved"`

1483* `event.timestamp`: Временная метка ISO 86011518* `event.timestamp`: временная метка в формате ISO 8601

1484* `event.sequence`: счётчик на процесс для упорядочивания событий, описанный в [Атрибуты корреляции событий](#event-correlation-attributes)1519* `event.sequence`: счётчик в пределах процесса для упорядочивания событий, описанный в разделе [Атрибуты корреляции событий](#event-correlation-attributes)

1485* `managed_settings.trigger`: `"startup"` для события запуска сеанса, `"change"`, когда управляемые параметры или состояние помощника политики изменились позже в сеансе, или `"refused"`, когда политика управляемых параметров остановила сеанс. Claude Code отправляет событие `change` только когда атрибут отличается от последнего события, которое он отправил, и изменённое значение параметра считается даже когда `OTEL_LOG_MANAGED_SETTINGS` отключён1520* `managed_settings.trigger`: `"startup"` для события запуска сессии, `"change"`, когда управляемые настройки или состояние вспомогательной программы политики изменились позже в ходе сессии, или `"refused"`, когда политика управляемых настроек остановила сессию. Claude Code отправляет событие `change`, только когда какой-либо атрибут отличается от последнего отправленного события, и изменённое значение настройки учитывается, даже когда `OTEL_LOG_MANAGED_SETTINGS` отключена

1486* `error.type`: почему Claude Code остановил сеанс. Присутствует только на событиях `refused`:1521* `error.type`: почему Claude Code остановил сессию. Присутствует только в событиях `refused`:

1487 * `"helper_failed"`: [запуск помощника политики не удался](/docs/ru/settings-reference#helper-failures)1522 * `"helper_failed"`: [запуск вспомогательной программы политики завершился ошибкой](/docs/ru/settings-reference#helper-failures)

1488 * `"policy_invalid"`: управляемые параметры содержат ошибку, которая останавливает Claude Code от запуска, или источник администратора не смог загрузиться, поэтому Claude Code не может проверить принудительный вход организации1523 * `"policy_invalid"`: управляемые настройки содержат ошибку, из-за которой Claude Code не может запуститься, или административный источник не удалось загрузить по причине, отличной от отказа в чтении, поэтому Claude Code не может проверить вход в организацию или принудительное применение провайдера

1489 *1524 * `"provider_not_allowed"`: сессия использовала бы API-провайдера или отправляла бы трафик провайдера на хост, которые не разрешены управляемым списком [`allowedProviders`](/docs/ru/settings-reference#allowedproviders). Требуется Claude Code v2.1.285 или новее

1490 * `"provider_not_allowed"`: сеанс будет использовать поставщика API или отправлять трафик поставщика на хост, который управляемый список [`allowedProviders`](/docs/ru/settings-reference#allowedproviders) не разрешает. Требуется Claude Code v2.1.285 или позже1525 * `"consent_rejected"`: пользователь отклонил [диалоговое окно подтверждения безопасности](/docs/ru/server-managed-settings#security-approval-dialogs) для серверных управляемых настроек

1491 * `"consent_rejected"`: пользователь отклонил [диалог одобрения безопасности](/docs/ru/server-managed-settings#security-approval-dialogs) для параметров, управляемых сервером1526 * `"force_refresh_failed"`: не удалось получить настройки, которые требует [`forceRemoteSettingsRefresh`](/docs/ru/settings-reference#forceremotesettingsrefresh)

1492 * `"force_refresh_failed"`: выборка параметров, которую требует [`forceRemoteSettingsRefresh`](/docs/ru/settings-reference#forceremotesettingsrefresh), не удалась1527 * `"gateway_rejected"`: [шлюз Claude apps](/docs/ru/claude-apps-gateway) ответил на загрузку управляемых настроек кодом HTTP 403

1493 * `"gateway_rejected"`: [шлюз приложений Claude](/docs/ru/claude-apps-gateway) ответил на загрузку управляемых параметров с HTTP 403

1494 * `"version_below_minimum"`: эта версия Claude Code ниже [`requiredMinimumVersion`](/docs/ru/settings-reference#requiredminimumversion) или выше [`requiredMaximumVersion`](/docs/ru/settings-reference#requiredmaximumversion)1528 * `"version_below_minimum"`: эта версия Claude Code ниже [`requiredMinimumVersion`](/docs/ru/settings-reference#requiredminimumversion) или выше [`requiredMaximumVersion`](/docs/ru/settings-reference#requiredmaximumversion)

1495 * `"_OTHER"`: загрузка управляемых параметров шлюза приложений Claude не удалась по другой причине1529 * `"_OTHER"`: загрузка управляемых настроек шлюза Claude apps завершилась ошибкой по другой причине

1496* `managed_settings.sources`: каждый управляемый источник, который доставляет как минимум один [ключ политики](/docs/ru/managed-settings#how-claude-code-combines-managed-sources), в порядке убывания приоритета, включая источники, чьи ключи не вступают в силу в `first-wins`. Значения — это `"remote"`, `"plist"` или `"hklm"` для политики MDM или уровня ОС, `"file"` для файлов управляемых параметров и drop-ins, `"parent"`, когда [хост встраивания](/docs/ru/managed-settings#let-an-embedding-host-add-policy) поставляет параметры, и `"hkcu"` для [значения реестра Windows HKCU](/docs/ru/managed-settings#where-each-mechanism-stores-the-policy), когда Claude Code [его читает](/docs/ru/managed-settings#how-claude-code-combines-managed-sources). Источник, который содержит только ключи управления или который Claude Code не смог прочитать, не указан. Выпускается как массив строк, пусто, когда ни один управляемый источник не доставляет ключ политики1530* `managed_settings.sources`: каждый управляемый источник, который предоставляет хотя бы один [ключ политики](/docs/ru/managed-settings#how-claude-code-combines-managed-sources), в порядке убывания приоритета, включая источники, ключи которых не вступают в силу при `first-wins`. Возможные значения: `"remote"`, `"plist"` или `"hklm"` для политики MDM или уровня ОС, `"file"` для файлов управляемых настроек и дополнительных файлов, `"parent"`, когда настройки предоставляет [встраивающий хост](/docs/ru/managed-settings#let-an-embedding-host-add-policy), и `"hkcu"` для [значения реестра Windows HKCU](/docs/ru/managed-settings#where-each-mechanism-stores-the-policy), когда Claude Code [его читает](/docs/ru/managed-settings#how-claude-code-combines-managed-sources). Источник, который содержит только управляющие ключи или который Claude Code не смог прочитать, не указывается. Передаётся как массив строк; пуст, если ни один управляемый источник не предоставляет ключ политики

1497* `managed_settings.source_behavior`: значение [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior), которое Claude Code прочитал, `"first-wins"` или `"merge"`. `"first-wins"`, когда ни один источник не устанавливает ключ1531* `managed_settings.source_behavior`: значение [`managedSourcesBehavior`](/docs/ru/settings-reference#managedsourcesbehavior), прочитанное Claude Code: `"first-wins"` или `"merge"`. `"first-wins"`, если ни один источник не задаёт этот ключ

1498* `managed_settings.helper.state`: состояние помощника политики, который выбранный источник MDM или файла настраивает:1532* `managed_settings.helper.state`: состояние вспомогательной программы политики, настроенной выбранным источником MDM или файловым источником:

1499 * `"ok"`: выход помощника служит управляемыми параметрами1533 * `"ok"`: вывод вспомогательной программы используется в качестве управляемых настроек

1500 * `"bad_path"`, `"not_a_file"`, `"exit_nonzero"`, `"timed_out"`, `"oversize"`, `"parse_failed"`, `"envelope_invalid"` или `"schema_rejected"`: последний запуск помощника не удался. [Сбои помощника](/docs/ru/settings-reference#helper-failures) описывает случаи1534 * `"bad_path"`, `"not_a_file"`, `"exit_nonzero"`, `"timed_out"`, `"oversize"`, `"parse_failed"`, `"envelope_invalid"` или `"schema_rejected"`: последний запуск вспомогательной программы завершился ошибкой. Эти случаи описаны в разделе [Ошибки вспомогательной программы](/docs/ru/settings-reference#helper-failures)

1501 * `"none"`: помощник не настроен, или источник, который его настраивает, не является политикой MDM или файлом управляемых параметров1535 * `"none"`: вспомогательная программа не настроена, или источник, который её настраивает, не является политикой MDM или файлом управляемых настроек

1502* `managed_settings.helper.applied`: `"output"`, пока выход помощника служит управляемыми параметрами, `"none"`, когда он не служит1536* `managed_settings.helper.applied`: `"output"`, пока собственный вывод вспомогательной программы используется в качестве управляемых настроек, `"none"`, когда это не так

1503* `managed_settings.helper.entry`: `"policyHelper"`, когда Claude Code выбрал [`policyHelper`](/docs/ru/settings-reference#policyhelper). Отсутствует, когда он не выбрал помощника1537* `managed_settings.helper.entry`: `"policyHelper"`, когда Claude Code выбрал [`policyHelper`](/docs/ru/settings-reference#policyhelper). Отсутствует, если вспомогательная программа не выбрана

1504* `managed_settings.helper.path`: настроенный [`path`](/docs/ru/settings-reference#policyhelper-path) помощника. Присутствует всякий раз, когда Claude Code выбрал помощника, независимо от того, установлен ли `OTEL_LOG_MANAGED_SETTINGS`1538* `managed_settings.helper.path`: настроенный [`path`](/docs/ru/settings-reference#policyhelper-path) вспомогательной программы. Присутствует всякий раз, когда Claude Code выбрал вспомогательную программу, независимо от того, задана ли `OTEL_LOG_MANAGED_SETTINGS`

1505* `managed_settings.resolved_sha256` (когда `OTEL_LOG_MANAGED_SETTINGS=1`): SHA-256 разрешённых управляемых параметров перед скрытием, сериализованных как JSON с ключами, отсортированными рекурсивно и без пробелов. Машины с одинаковым дайджестом работают с одной и той же политикой. Claude Code отправляет дайджест только с opt-in, потому что короткая политика может быть восстановлена путём хеширования предположений. Отсутствует, когда управляемые параметры не разрешены, и на событиях `refused`1539* `managed_settings.resolved_sha256` (при `OTEL_LOG_MANAGED_SETTINGS=1`): SHA-256 определённых управляемых настроек до редактирования, сериализованных как JSON с рекурсивно отсортированными ключами и без пробелов. Машины с одинаковым дайджестом работают с одной и той же политикой. Claude Code отправляет дайджест только при явном включении, поскольку короткую политику можно восстановить, хешируя предполагаемые варианты. Отсутствует, если управляемые настройки не определены, а также в событиях `refused`

1506* `managed_settings.settings` (когда `OTEL_LOG_MANAGED_SETTINGS=1`): имена и форма разрешённых управляемых параметров как строка JSON со скрытыми значениями. Отсутствует на событиях `refused`. Claude Code строит её из своей схемы параметров:1540* `managed_settings.settings` (при `OTEL_LOG_MANAGED_SETTINGS=1`): имена и структура определённых управляемых настроек в виде строки JSON с отредактированными значениями. Отсутствует в событиях `refused`. Claude Code формирует его на основе своей схемы настроек:

1507 1541 

1508 * Имя параметра, которое схема объявляет, экспортируется, и ключ, который она не объявляет, опускается1542 * Имя настройки, объявленное в схеме, экспортируется, а ключ, не объявленный в ней, опускается

1509 * Логические значения, числа и строковые значения, которые схема ограничивает фиксированным набором опций, например `permissions.defaultMode`, экспортируются как есть. `sandbox.network.httpProxyPort` и `sandbox.network.socksProxyPort` экспортируются как `"[REDACTED]"`1543 * Логические значения, числа и строковые значения, которые схема ограничивает фиксированным набором вариантов, например `permissions.defaultMode`, экспортируются как есть. `sandbox.network.httpProxyPort` и `sandbox.network.socksProxyPort` экспортируются как `"[REDACTED]"`

1510 * Каждая другая строка, такая как `model`, `apiKeyHelper`, каждое значение `env`, каждый URL и каждая команда, экспортируется как `"[REDACTED]"`1544 * Все остальные строки, например `model`, `apiKeyHelper`, каждое значение `env`, каждый URL и каждая команда, экспортируются как `"[REDACTED]"`

1511 * Имена записей карт, такие как имена переменных `env` и ID плагинов, экспортируются как есть. Параметр, чьи записи схема не типизирует, например `vimInsertModeRemaps`, экспортируется как одиночный `"[REDACTED]"`, и `sandbox.ignoreViolations` экспортируется как список его списков путей без шаблонов команд1545 * Имена записей в словарях, например имена переменных `env` и идентификаторы плагинов, экспортируются как есть. Настройка, записи которой схема не типизирует, например `vimInsertModeRemaps`, экспортируется как единое `"[REDACTED]"`, а `sandbox.ignoreViolations` экспортируется как список его списков путей без шаблонов команд

1512 * Список сохраняет свою длину, с каждой записью скрытой по тем же правилам1546 * Список сохраняет свою длину, а каждая запись редактируется по тем же правилам

1513 * Правило `permissions.allow`, `permissions.deny` или `permissions.ask` экспортируется как его имя инструмента со скрытым содержанием, например `Read([REDACTED])`, когда инструмент встроен в эту версию Claude Code или является ссылкой `mcp__`, такой как `mcp__jira__create_issue`. Любое другое правило экспортируется как `"[REDACTED]"`1547 * Правило `permissions.allow`, `permissions.deny` или `permissions.ask` экспортируется как имя инструмента с отредактированным содержимым, например `Read([REDACTED])`, если инструмент встроен в эту версию Claude Code или является ссылкой `mcp__`, например `mcp__jira__create_issue`. Любое другое правило экспортируется как `"[REDACTED]"`

1514 * Hooks следуют тем же правилам, поэтому поля с фиксированными опциями и числовые поля, такие как `type` и `timeout`, показываются, пока каждая команда, URL, `matcher` и условие `if` экспортируются как `"[REDACTED]"`1548 * Хуки подчиняются тем же правилам, поэтому поля с фиксированными вариантами и числовые поля, такие как `type` и `timeout`, отображаются, а каждая команда, URL, `matcher` и условие `if` экспортируются как `"[REDACTED]"`

1515 1549 

1516 Например, управляемые параметры с `apiKeyHelper`, двумя переменными `env` и правилом запрета экспортируются как `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}`.1550 Например, управляемые настройки с `apiKeyHelper`, двумя переменными `env` и правилом запрета экспортируются как `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}`.

1517 1551 

1518 Claude Code обрезает значение на 8 КБ UTF-8, и обрезанное значение не является действительным JSON1552 Claude Code обрезает значение до 8 КБ в UTF-8, и обрезанное значение не является корректным JSON

1519* `managed_settings.settings_truncated` (когда присутствует `managed_settings.settings`): `true`, когда Claude Code обрезал `managed_settings.settings` на 8 КБ, иначе `false`. Передаётся как логическое значение, а не строка1553* `managed_settings.settings_truncated` (когда присутствует `managed_settings.settings`): `true`, если Claude Code обрезал `managed_settings.settings` до 8 КБ, иначе `false`. Передаётся как Boolean, а не как строка

1520 1554 

1521<h2 id="interpret-metrics-and-events-data">1555<h2 id="interpret-metrics-and-events-data">

1522 Интерпретация данных метрик и событий1556 Интерпретация данных метрик и событий


1549 Метрики затрат являются приблизительными. Для официальных данных о выставлении счетов обратитесь к вашему поставщику API (Claude Console, Amazon Bedrock или Google Cloud's Agent Platform).1583 Метрики затрат являются приблизительными. Для официальных данных о выставлении счетов обратитесь к вашему поставщику API (Claude Console, Amazon Bedrock или Google Cloud's Agent Platform).

1550</Note>1584</Note>

1551 1585 

1552Claude Code учитывает каждый потоковый ответ в метриках затрат и токенов ровно один раз, включая случаи, когда шлюз или прокси-сервер за `ANTHROPIC_BASE_URL` потоком передает использование прогрессивно через несколько кадров. До версии 2.1.214 потоки, которые содержали использование более чем в одном кадре, завышали `claude_code.cost.usage` и `claude_code.token.usage` примерно на один дополнительный полный запрос на каждый дополнительный кадр.1586Claude Code учитывает каждый потоковый ответ в метриках затрат и токенов ровно один раз, включая случаи, когда шлюз или прокси-сервер за `ANTHROPIC_BASE_URL` потоком передает использование прогрессивно через несколько кадров.

1553 1587 

1554<h3 id="alerting-and-segmentation">1588<h3 id="alerting-and-segmentation">

1555 Оповещения и сегментация1589 Оповещения и сегментация


1571 1605 

1572Claude Code повторяет неудачные запросы API внутри и выдает одно событие `claude_code.api_error` только после того, как сдается, поэтому само событие является терминальным сигналом для этого запроса. Промежуточные повторные попытки не логируются как отдельные события.1606Claude Code повторяет неудачные запросы API внутри и выдает одно событие `claude_code.api_error` только после того, как сдается, поэтому само событие является терминальным сигналом для этого запроса. Промежуточные повторные попытки не логируются как отдельные события.

1573 1607 

1574Атрибут `attempt` на событии записывает количество попыток. `CLAUDE_CODE_MAX_RETRIES` по умолчанию равен 10 и ограничен 15. Начиная с версии 2.1.199, вы можете установить `CLAUDE_CODE_RETRY_WATCHDOG` для повышения значения по умолчанию и снятия ограничения.1608Атрибут `attempt` на событии записывает количество попыток. `CLAUDE_CODE_MAX_RETRIES` по умолчанию равен 10 и ограничен 15; если установлена [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ru/env-vars), значение по умолчанию выше, а ограничение отсутствует.

1575 1609 

1576Когда запрос исчерпывает все повторные попытки при переходной ошибке, `attempt` не более чем на один больше этого эффективного ограничения: 11 по умолчанию.1610Когда запрос исчерпывает все повторные попытки при переходной ошибке, `attempt` не более чем на один больше этого эффективного ограничения: 11 по умолчанию.

1577 1611 


1647 1681 

1648Без `OTEL_LOG_TOOL_DETAILS` эти события опускают идентифицирующую деталь:1682Без `OTEL_LOG_TOOL_DETAILS` эти события опускают идентифицирующую деталь:

1649 1683 

1650* `tool_result`: сохраняет `mcp_server_scope` и `tool_name`, заменённый на буквальное значение `"mcp_tool"` для пользовательских серверов, опускает содержимое аргументов. Для встроенных серверов Claude Desktop в сеансах, которыми владеет Claude Desktop, он также сохраняет пару `mcp_server_name`/`mcp_tool_name` внутри `tool_parameters`, то же исключение, написанное хостом, что и `tool_decision`, требующее Claude Code v2.1.214 или позже1684* `tool_result`: сохраняет `mcp_server_scope` и `tool_name`, заменённый на буквальное значение `"mcp_tool"` для пользовательских серверов, опускает содержимое аргументов. Для встроенных серверов Claude Desktop в сессиях, которыми владеет Claude Desktop, он также сохраняет пару `mcp_server_name`/`mcp_tool_name` внутри `tool_parameters` — то же исключение для данных, заданных хостом, что и у `tool_decision`

1651* `tool_decision`: сохраняет `tool_source` и `tool_name`, заменённый на буквальное значение `"mcp_tool"` для пользовательских серверов, опускает содержимое аргументов. Для встроенных серверов Claude Desktop в сеансах, которыми владеет Claude Desktop, он также сохраняет пару `mcp_server_name`/`mcp_tool_name` внутри `tool_parameters`; `tool_source` и пара имен оба требуют Claude Code v2.1.214 или позже1685* `tool_decision`: сохраняет `tool_source` и `tool_name`, заменённый на буквальное значение `"mcp_tool"` для пользовательских серверов, опускает содержимое аргументов. Для встроенных серверов Claude Desktop в сессиях, которыми владеет Claude Desktop, он также сохраняет пару `mcp_server_name`/`mcp_tool_name` внутри `tool_parameters`

1652* `mcp_server_connection`: опускает `server_name` и сообщение об ошибке, но сохраняет `is_plugin`, `plugin_id_hash` и `plugin.name`, с именами плагинов, не относящихся к Anthropic, заменёнными на буквальное значение `"third-party"`, поэтому серверы, предоставляемые плагинами, остаются различимыми без подробного логирования1686* `mcp_server_connection`: опускает `server_name` и сообщение об ошибке, но сохраняет `is_plugin`, `plugin_id_hash` и `plugin.name`, с именами плагинов, не относящихся к Anthropic, заменёнными на буквальное значение `"third-party"`, поэтому серверы, предоставляемые плагинами, остаются различимыми без подробного логирования

1653 1687 

1654<h3 id="map-security-questions-to-events">1688<h3 id="map-security-questions-to-events">


1659 1693 

1660| Сигнал | Событие | Ключевые атрибуты |1694| Сигнал | Событие | Ключевые атрибуты |

1661| - | - | - |1695| - | - | - |

1662| Вызов инструмента разрешен или отклонен, и почему | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |1696| Вызов инструмента разрешён или отклонён, и откуда пришло решение, например из правила, хука или от пользователя | [`tool_decision`](#tool-decision-event) | `decision`, `source`, `classifier_verdict`, `permission_mode`, `tool_name`; `tool_parameters`, если задать `OTEL_LOG_TOOL_DETAILS=1` |

1697| Классификатор авторежима разрешил или заблокировал вызов инструмента, либо Claude Code отклонил вызов без вердикта классификатора | [`tool_decision`](#tool-decision-event), где присутствует `classifier_verdict`. При отклонении без вердикта `classifier_verdict` имеет значение `"no_verdict"` или `"unavailable"` | `classifier_verdict`, `permission_mode`, `tool_name`; `classifier_category`, если задать `OTEL_LOG_TOOL_DETAILS=1` |

1663| Эскалация режима разрешений | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1698| Эскалация режима разрешений | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

1699| В каком режиме разрешений проверялся каждый вызов инструмента, включая вызовы, которые делают субагенты | [`tool_decision`](#tool-decision-event) | `permission_mode`, `session.id` |

1664| Hook политики заблокировал действие | `hook_execution_complete` | `hook_event`, `num_blocking` |1700| Hook политики заблокировал действие | `hook_execution_complete` | `hook_event`, `num_blocking` |

1665| Вход, выход и сбой аутентификации | `auth` | `action`, `success`, `error_category` |1701| Вход, выход и сбой аутентификации | `auth` | `action`, `success`, `error_category` |

1666| Подключение MCP сервера или сбой | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |1702| Подключение MCP сервера или сбой | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |


1825 1861 

1826 * При детальной бета-трассировке span также содержат новые пользовательские сообщения, результаты инструментов и системные напоминания, отправляемые с каждым запросом, текст системного промпта и выходные данные модели. В разделе [Атрибуты содержимого при детальной бета-трассировке](#new-context-gates) перечислен каждый атрибут. Событие `claude_code.system_prompt` содержит полный системный промпт1862 * При детальной бета-трассировке span также содержат новые пользовательские сообщения, результаты инструментов и системные напоминания, отправляемые с каждым запросом, текст системного промпта и выходные данные модели. В разделе [Атрибуты содержимого при детальной бета-трассировке](#new-context-gates) перечислен каждый атрибут. Событие `claude_code.system_prompt` содержит полный системный промпт

1827* Текст ответа помощника не собирается по умолчанию. Записывается только длина ответа. Чтобы включить текст ответа, установите `OTEL_LOG_ASSISTANT_RESPONSES=1`. Как и все данные OpenTelemetry из Claude Code, текст ответа отправляется только на эндпоинт OTel, который вы настраиваете, никогда на Anthropic. Когда эта переменная не установлена, `OTEL_LOG_USER_PROMPTS` используется как резервный вариант, поэтому установите `OTEL_LOG_ASSISTANT_RESPONSES=0`, если вы хотите получать в событиях содержимое промпта без содержимого ответа. При детальной бета-трассировке span `claude_code.llm_request` всё равно содержит выходные данные модели в [`response.model_output`](#new-context-gates), который управляется `OTEL_LOG_USER_PROMPTS`, а не этой переменной1863* Текст ответа помощника не собирается по умолчанию. Записывается только длина ответа. Чтобы включить текст ответа, установите `OTEL_LOG_ASSISTANT_RESPONSES=1`. Как и все данные OpenTelemetry из Claude Code, текст ответа отправляется только на эндпоинт OTel, который вы настраиваете, никогда на Anthropic. Когда эта переменная не установлена, `OTEL_LOG_USER_PROMPTS` используется как резервный вариант, поэтому установите `OTEL_LOG_ASSISTANT_RESPONSES=0`, если вы хотите получать в событиях содержимое промпта без содержимого ответа. При детальной бета-трассировке span `claude_code.llm_request` всё равно содержит выходные данные модели в [`response.model_output`](#new-context-gates), который управляется `OTEL_LOG_USER_PROMPTS`, а не этой переменной

1828* Аргументы входных данных инструмента и параметры не логируются по умолчанию. Чтобы включить их, установите `OTEL_LOG_TOOL_DETAILS=1`. Для встроенных серверов Claude Desktop в сессиях, которыми владеет Claude Desktop, `tool_decision` и `tool_result` содержат пару `mcp_server_name`/`mcp_tool_name`, имена, созданные хостом, а не содержимое аргументов, даже с отключённым флагом. Исключение требует Claude Code v2.1.214 или позже. Эти данные отправляются только на эндпоинт OTEL, который вы настраиваете, никогда на Anthropic. Аргументы могут по-прежнему содержать конфиденциальные значения, поэтому настройте ваш бэкенд телеметрии для фильтрации или скрытия этих атрибутов по мере необходимости. Когда включено:1864* Аргументы входных данных инструмента и параметры не логируются по умолчанию. Чтобы включить их, установите `OTEL_LOG_TOOL_DETAILS=1`. Для встроенных серверов Claude Desktop в сессиях, которыми владеет Claude Desktop, `tool_decision` и `tool_result` содержат пару `mcp_server_name`/`mcp_tool_name`, имена, созданные хостом, а не содержимое аргументов, даже с отключённым флагом. Эти данные отправляются только на эндпоинт OTEL, который вы настраиваете, никогда на Anthropic. Аргументы могут по-прежнему содержать конфиденциальные значения, поэтому настройте ваш бэкенд телеметрии для фильтрации или скрытия этих атрибутов по мере необходимости. Когда включено:

1829 * События `tool_result` и `tool_decision` включают атрибут `tool_parameters` с командами Bash, именами MCP-сервера и инструмента и именами скиллов. Поля, такие как `full_command`, выдаются неусеченными1865 * События `tool_result` и `tool_decision` включают атрибут `tool_parameters` с командами Bash, именами MCP-сервера и инструмента и именами скиллов. Поля, такие как `full_command`, выдаются неусеченными

1830 * События `tool_result` дополнительно включают атрибут `tool_input` с путями к файлам, URL-адресами, шаблонами поиска и другими аргументами. Отдельные значения более 512 символов усекаются, и общее количество ограничено примерно 4 K символами1866 * События `tool_result` дополнительно включают атрибут `tool_input` с путями к файлам, URL-адресами, шаблонами поиска и другими аргументами. Отдельные значения более 512 символов усекаются, и общее количество ограничено примерно 4 K символами

1831 * События `user_prompt` включают буквальное `command_name` для пользовательских команд, команд плагинов и команд MCP1867 * События `user_prompt` включают буквальное `command_name` для пользовательских команд, команд плагинов и команд MCP

network-config.md +20 −20

Details

200</Note>200</Note>

201 201 

202<h2 id="streaming-idle-watchdogs">202<h2 id="streaming-idle-watchdogs">

203 Streaming idle watchdogs203 Сторожевые таймеры простоя потоковой передачи

204</h2>204</h2>

205 205 

206Claude Code запускает четыре независимых таймера, которые прерывают потоковый ответ модели, когда он затихает, чтобы мёртвое соединение не зависало, а повторило попытку. Запрос, на который вообще не приходят заголовки ответа, завершается одним из двух способов:206Claude Code запускает четыре независимых таймера, которые прерывают потоковый ответ модели, когда он затихает, чтобы оборванное соединение завершалось ошибкой и повторной попыткой, а не зависало. Запрос, на который вообще не приходят заголовки ответа, завершается одним из двух способов:

207 207 

208* **Там, где работает крайний срок первого байта**: первая попытка завершается по истечении этого срока. Чтобы изменить его, задайте `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`. О времени ожидания перед повторной попыткой см. [No response from API](/docs/ru/errors#no-response-from-api).208* **Там, где действует крайний срок первого байта**: первая попытка завершается по истечении этого срока. Чтобы изменить его, задайте `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`. О времени ожидания перед повторной попыткой см. [No response from API](/docs/ru/errors#no-response-from-api).

209* **На других соединениях**: запрос завершается через 5–6 минут, когда срабатывает body idle timeout, если только вы не отключили этот таймаут. Чтобы завершить его раньше, уменьшите `API_TIMEOUT_MS`.209* **На остальных соединениях**: запрос завершается через 5–6 минут, когда срабатывает таймаут простоя тела ответа, если только вы не отключили этот таймаут. Чтобы завершать его раньше, уменьшите `API_TIMEOUT_MS`.

210 210 

211| Таймер | Когда прерывает | Где работает | Тайм-аут по умолчанию |211| Таймер | Прерывает, когда | Где действует | Таймаут по умолчанию |

212| :- | :- | :- | :- |212| :- | :- | :- | :- |

213| First-byte deadline | Заголовки ответа не поступают после отправки запроса Claude Code | Прямой API Anthropic и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), включая через HTTPS-прокси, но не когда `ANTHROPIC_BASE_URL` или `ANTHROPIC_AWS_BASE_URL` маршрутизируют их через [шлюз](/docs/ru/gateways). Opt-in на Amazon Bedrock с `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; не работает на Google Cloud's Agent Platform или Microsoft Foundry, а также в сессии [Claude apps gateway](/docs/ru/claude-apps-gateway) | 180 секунд на прямом API Anthropic, 300 секунд в других местах, плюс одна секунда на 32 КБ тела запроса |213| Крайний срок первого байта | После отправки запроса Claude Code не приходят заголовки ответа | Прямой Anthropic API и [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), в том числе через HTTPS-прокси, но не когда `ANTHROPIC_BASE_URL` или `ANTHROPIC_AWS_BASE_URL` направляет их через [шлюз](/docs/ru/gateways). Включается по желанию на Amazon Bedrock с помощью `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; не действует на Agent Platform от Google Cloud и Microsoft Foundry, а также в сессии [Claude apps gateway](/docs/ru/claude-apps-gateway) | 180 секунд для прямого Anthropic API, 300 секунд в остальных случаях, плюс одна секунда на каждые 32 КБ тела запроса |

214| Event-level watchdog | События ответа не анализируются. На соединениях, где работает byte-level watchdog, поступающие байты, включая keep-alive пинги, также сбрасывают этот watchdog, примерно на пять минут без анализируемого события | Каждый провайдер | 300 секунд |214| Сторожевой таймер уровня событий | Не разбирается ни одно событие ответа. Там, где сторожевой таймер уровня байтов работает на соединении, отличном от Amazon Bedrock, поступающие байты, включая keep-alive-пинги, также сбрасывают этот таймер — в течение примерно пяти минут без разобранного события | Все провайдеры | 300 секунд |

215| Byte-level watchdog | На проводе не поступают байты, включая SSE keep-alive пинги | Прямой API Anthropic, [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) и [шлюзовые](/docs/ru/gateways) соединения, включая пользовательский `ANTHROPIC_BASE_URL`. Opt-in на Amazon Bedrock `vnd.amazon.eventstream` ответы с `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; не работает на Google Cloud's Agent Platform или Microsoft Foundry | 180 секунд на прямом API Anthropic. 300 секунд на Claude Platform on AWS, на Amazon Bedrock, в сессии [Claude apps gateway](/docs/ru/claude-apps-gateway) и через пользовательский `ANTHROPIC_BASE_URL` |215| Сторожевой таймер уровня байтов | По сети не поступает ни одного байта, включая SSE keep-alive-пинги | Прямой Anthropic API, [Claude Platform on AWS](/docs/ru/claude-platform-on-aws) и соединения через [шлюз](/docs/ru/gateways), включая пользовательский `ANTHROPIC_BASE_URL`. Включается по желанию для ответов `vnd.amazon.eventstream` Amazon Bedrock с помощью `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`; не действует на Agent Platform от Google Cloud и Microsoft Foundry | 180 секунд для прямого Anthropic API. 300 секунд на Claude Platform on AWS, на Amazon Bedrock, в сессии [Claude apps gateway](/docs/ru/claude-apps-gateway) и через пользовательский `ANTHROPIC_BASE_URL` |

216| Body idle timeout | Байты не поступают в течение 5 минут, включая время ожидания заголовков ответа | Провайдеры, отличные от прямого API Anthropic, Claude Platform on AWS и Amazon Bedrock с установленным `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, если только [`API_FORCE_IDLE_TIMEOUT`](/docs/ru/env-vars) это не изменит | 5 минут |216| Таймаут простоя тела ответа | В течение 5 минут не поступает ни одного байта, включая ожидание заголовков ответа | Провайдеры, кроме прямого Anthropic API, Claude Platform on AWS и Amazon Bedrock с заданным `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, если только [`API_FORCE_IDLE_TIMEOUT`](/docs/ru/env-vars) не меняет это | 5 минут |

217 217 

218Если вы установите `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, byte-level watchdog заменит body idle timeout на Bedrock вместо того, чтобы работать рядом с ним. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` затем также определяет, как долго поток Bedrock может оставаться молчаливым, прежде чем Claude Code будет рассматривать соединение как мёртвое, в пределах указанных ниже лимитов. Поступающие байты по-прежнему не сбрасывают event-level watchdog на Bedrock. При включённом debug logging каждый поток Bedrock затем регистрирует отладочное сообщение, которое начинается с `wire-heartbeat: _chunkTimes absent`.218Если вы задаёте `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, сторожевой таймер уровня байтов заменяет таймаут простоя тела ответа на Bedrock, а не работает вместе с ним. Тогда `CLAUDE_STREAM_IDLE_TIMEOUT_MS` также определяет, как долго поток Bedrock может молчать, прежде чем Claude Code сочтёт соединение оборванным, в пределах ограничений, перечисленных ниже. Поступающие байты по-прежнему не сбрасывают сторожевой таймер уровня событий на Bedrock. При включённом отладочном логировании каждый поток Bedrock в этом случае записывает в лог отладочное сообщение, начинающееся с `wire-heartbeat: _chunkTimes absent`.

219 219 

220Настройте таймеры с помощью этих переменных, каждая из которых подробно описана в [справочнике переменных окружения](/docs/ru/env-vars):220Настраивайте таймеры с помощью следующих переменных, каждая из которых подробно описана в [справочнике по переменным окружения](/docs/ru/env-vars):

221 221 

222* `CLAUDE_ENABLE_STREAM_WATCHDOG` и `CLAUDE_ENABLE_BYTE_WATCHDOG` принудительно включают соответствующий watchdog с `1` или отключают с `0` в соединениях, которые указаны в таблице; ни одна переменная не расширяет watchdog на тип соединения, который он не охватывает. `CLAUDE_ENABLE_BYTE_WATCHDOG` установленный на `0` также отключает крайний срок первого байта.222* `CLAUDE_ENABLE_STREAM_WATCHDOG` и `CLAUDE_ENABLE_BYTE_WATCHDOG` принудительно включают соответствующий сторожевой таймер значением `1` или отключают значением `0` в пределах соединений, перечисленных в таблице; ни одна из переменных не распространяет сторожевой таймер на тип соединения, который он не охватывает. Значение `0` для `CLAUDE_ENABLE_BYTE_WATCHDOG` также отключает крайний срок первого байта.

223* `CLAUDE_STREAM_IDLE_TIMEOUT_MS` устанавливает timeout обоих watchdogs. Claude Code повышает значения ниже 5 минут до 5 минут и ограничивает значение 30 минутами для byte-level watchdog.223* `CLAUDE_STREAM_IDLE_TIMEOUT_MS` задаёт таймаут обоих сторожевых таймеров. Claude Code повышает значения меньше 5 минут до 5 минут и ограничивает значение 30 минутами для сторожевого таймера уровня байтов.

224* `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` устанавливает timeout byte-level watchdog без изменения timeout event-level watchdog, зажат между 10 секундами и 30 минутами и имеет приоритет над `CLAUDE_STREAM_IDLE_TIMEOUT_MS` для этого watchdog.224* `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` задаёт таймаут сторожевого таймера уровня байтов, не меняя таймаут сторожевого таймера уровня событий, ограничивается диапазоном от 10 секунд до 30 минут и имеет приоритет над `CLAUDE_STREAM_IDLE_TIMEOUT_MS` для этого таймера.

225* `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` устанавливает крайний срок первого байта напрямую. Оставьте его неустановленным, и Claude Code будет использовать timeout byte-level watchdog, поэтому `CLAUDE_STREAM_IDLE_TIMEOUT_MS` и `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` также изменяют крайний срок. Для зажимов, допуска на загрузку, ограничения `API_TIMEOUT_MS` и того, как долго повторная попытка ждёт после прерывания без ответа, см. [No response from API](/docs/ru/errors#no-response-from-api).225* `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` задаёт крайний срок первого байта напрямую. Если эта переменная не задана, Claude Code использует таймаут сторожевого таймера уровня байтов, поэтому `CLAUDE_STREAM_IDLE_TIMEOUT_MS` и `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` также меняют этот срок. Об ограничениях значений, надбавке на загрузку, ограничении `API_TIMEOUT_MS` и о том, сколько длится ожидание перед повторной попыткой после прерывания из-за отсутствия ответа, см. [No response from API](/docs/ru/errors#no-response-from-api).

226* `API_TIMEOUT_MS` ограничивает ожидание заголовков ответа. Там, где крайний срок первого байта не работает, например в сессии Claude apps gateway, установите значение ниже `300000` (это 5 минут), чтобы раньше повторять запрос, оставшийся без ответа. Держите его выше самого долгого ожидания заголовков и самого долгого [непотокового запроса](/docs/ru/errors#streaming-response-ended-before-any-complete-data-was-received), которые вы ожидаете: запрос, которому нужно больше времени, будет снова завершаться по таймауту при каждой повторной попытке.226* `API_TIMEOUT_MS` ограничивает ожидание заголовков ответа, а не то, как долго ответ передаётся потоком после них. Там, где крайний срок первого байта не действует, например в сессии Claude apps gateway, задайте значение меньше `300000`, то есть 5 минут, чтобы раньше повторять попытку для запроса без ответа. Держите его выше самого долгого ожидаемого ожидания заголовков и самого долгого [непотокового запроса](/docs/ru/errors#streaming-response-ended-before-any-complete-data-was-received): запрос, которому нужно больше времени, будет снова завершаться по таймауту при каждой повторной попытке.

227* `API_FORCE_IDLE_TIMEOUT` установленный на `0` отключает body idle timeout, а установленный на `1` включает его для каждого провайдера. Watchdogs работают независимо от него, поэтому, чтобы позволить потоку паузировать дольше, чем их пороги, также повысьте или отключите их.227* `API_FORCE_IDLE_TIMEOUT` со значением `0` отключает таймаут простоя тела ответа, а со значением `1` включает его для всех провайдеров. Сторожевые таймеры работают независимо от него, поэтому, чтобы поток мог делать паузы дольше их порогов, также увеличьте их значения или отключите их.

228 228 

229Когда watchdog прерывает зависший поток, Claude Code рассматривает прерывание как сбой в середине потока, и то, что вы видите, зависит от того, как далеко продвинулся ответ. Claude Code повторяет запрос или завершает ход с ошибкой, сохраняет завершённый вывод и показывает [уведомление о неполном ответе](/docs/ru/errors#the-response-above-may-be-incomplete), или завершает ход нормально. [Automatic retries](/docs/ru/errors#automatic-retries) указывает, где применяется каждый результат.229Когда сторожевой таймер прерывает зависший поток, Claude Code рассматривает прерывание как сбой посреди потока, и то, что вы увидите, зависит от того, насколько далеко продвинулся ответ. Claude Code повторяет запрос или завершает ход с ошибкой, сохраняет завершённый вывод и показывает [уведомление о неполном ответе](/docs/ru/errors#the-response-above-may-be-incomplete) либо завершает ход обычным образом. В разделе [Automatic retries](/docs/ru/errors#automatic-retries) указано, где применяется каждый из этих исходов.

230 230 

231В [неинтерактивной сессии](/docs/ru/headless) и для ответа подагента в любой сессии Claude Code может сначала предложить Claude продолжить обрезанный ответ; [запись этого уведомления](/docs/ru/errors#the-response-above-may-be-incomplete) указывает, когда это происходит и когда вы всё ещё видите уведомление.231В [неинтерактивной сессии](/docs/ru/headless), а также для ответа субагента в любой сессии Claude Code может сначала попросить Claude продолжить оборванный ответ; в [описании этого уведомления](/docs/ru/errors#the-response-above-may-be-incomplete) сказано, когда это происходит и когда вы всё равно видите уведомление.

232 232 

233Когда срабатывает крайний срок первого байта, ответ не начался, поэтому нет частичного вывода для сохранения. О том, как Claude Code повторно отправляет запрос и когда ход заканчивается вместо этого, см. [No response from API](/docs/ru/errors#no-response-from-api).233Когда срабатывает крайний срок первого байта, ответ ещё не начался, поэтому частичного вывода для сохранения нет. О том, как Claude Code повторно отправляет запрос и когда вместо этого завершается ход, см. [No response from API](/docs/ru/errors#no-response-from-api).

234 234 

235<h2 id="network-access-requirements">235<h2 id="network-access-requirements">

236 Требования к доступу в сеть236 Требования к доступу в сеть

Details

86| Как вы запускаете Claude Code | Встроенный начальный режим разрешений |86| Как вы запускаете Claude Code | Встроенный начальный режим разрешений |

87| :- | :- |87| :- | :- |

88| Любой файл настроек устанавливает `disableAutoMode` в значение `"disable"` | `default` |88| Любой файл настроек устанавливает `disableAutoMode` в значение `"disable"` | `default` |

89| `claude -p` или [Agent SDK](/docs/ru/agent-sdk/permissions#permission-modes) | `default` в сессиях, которые [получают флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching). В сессиях, которые их не получают, например при использовании стороннего поставщика или с отключённой телеметрией, `auto` с Claude Code v2.1.285 или новее и `default` в более ранних версиях. Сессия в организации, политика которой не предоставляет значение по умолчанию `auto`, вместо этого начинается в `default` |89| `claude -p` или [Agent SDK](/docs/ru/agent-sdk/permissions#permission-modes) | `default` |

90| К вашей организации применена [конфигурация HIPAA](#hipaa-configuration), и сессия [подпадает под неё](/docs/ru/hipaa-setup#check-how-developers-sign-in-and-connect) | `default` с Claude Code v2.1.285 или новее; на авторежим по-прежнему можно переключиться |90| К вашей организации применена [конфигурация HIPAA](#hipaa-configuration), и сессия [подпадает под неё](/docs/ru/hipaa-setup#check-how-developers-sign-in-and-connect) | `default` с Claude Code v2.1.285 или новее; на авторежим по-прежнему можно переключиться |

91| В терминале или через [расширение VS Code](/docs/ru/vs-code) | `auto` с Claude Code v2.1.283 или новее; в более ранних версиях `auto` на планах Pro, Max или Team в сессиях, которые [получают флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), и `default` в остальных случаях |91| В терминале или через [расширение VS Code](/docs/ru/vs-code) | `auto` с Claude Code v2.1.283 или новее; в более ранних версиях `auto` на планах Pro, Max или Team в сессиях, которые [получают флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), и `default` в остальных случаях |

92 92 

93В вашей [первой сессии после установки или обновления](/docs/ru/env-vars#first-session-after-an-install-or-upgrade) Claude Code может выбрать начальный режим разрешений до того, как поступят его флаги функций. Эта сессия может начаться в режиме разрешений, отличном от указанного в таблице.

94 

95Когда флаг, файл настроек или встроенное значение по умолчанию выбирает `auto`, но авторежим недоступен для сессии, Claude Code вместо этого запускает сессию в режиме Manual. Авторежим недоступен, когда сессия не соответствует [требованиям доступности](#eliminate-prompts-with-auto-mode), например если файл настроек отключает его или модель его не поддерживает, либо когда Anthropic временно отключила его на стороне сервера.93Когда флаг, файл настроек или встроенное значение по умолчанию выбирает `auto`, но авторежим недоступен для сессии, Claude Code вместо этого запускает сессию в режиме Manual. Авторежим недоступен, когда сессия не соответствует [требованиям доступности](#eliminate-prompts-with-auto-mode), например если файл настроек отключает его или модель его не поддерживает, либо когда Anthropic временно отключила его на стороне сервера.

96 94 

97Когда встроенное значение по умолчанию впервые запускает одну из ваших сессий в авторежиме, Claude Code показывает уведомление со ссылкой на эту страницу:95Когда встроенное значение по умолчанию впервые запускает одну из ваших сессий в авторежиме, Claude Code показывает уведомление со ссылкой на эту страницу:


101 99 

102Если ваш `~/.claude/settings.json` устанавливает `defaultMode`, отличный от `auto`, и ни один другой файл настроек его не устанавливает, ваши сессии продолжают запускаться в этом режиме. На планах Pro, Max и Team, а также в сессиях, которые [не получают флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), Claude Code один раз спрашивает в терминале или в расширении VS Code, следует ли изменить настройку на авторежим. Если вы откажетесь, ваша настройка останется без изменений.100Если ваш `~/.claude/settings.json` устанавливает `defaultMode`, отличный от `auto`, и ни один другой файл настроек его не устанавливает, ваши сессии продолжают запускаться в этом режиме. На планах Pro, Max и Team, а также в сессиях, которые [не получают флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), Claude Code один раз спрашивает в терминале или в расширении VS Code, следует ли изменить настройку на авторежим. Если вы откажетесь, ваша настройка останется без изменений.

103 101 

102<h3 id="which-mode-a-non-interactive-run-starts-in">

103 Вызовы инструментов отклоняются в запусках `claude -p` и Agent SDK

104</h3>

105 

106В Claude Code v2.1.302 или новее запуски `claude -p` и [Agent SDK](/docs/ru/agent-sdk/permissions#permission-modes), для которых [не задан режим разрешений](#which-mode-a-session-starts-in), начинаются в режиме Manual. В параметрах SDK и настройках этот режим отображается как `default`. Вызовы, требующие подтверждения, отклоняются, если вы не подтвердите их с помощью правила разрешения, хука, обратного вызова `canUseTool` или `--permission-prompt-tool`.

107 

108Чтобы эти вызовы подтверждались, добавьте правила разрешения или запускайтесь в авторежиме:

109 

110* **[Добавьте правила разрешения](/docs/ru/permissions#manage-permissions)**: Claude выполняет перечисленные вами вызовы. Передайте [`--allowedTools "Bash(npm test)"`](/docs/ru/headless#auto-approve-tools) в `claude -p` или задайте [параметр разрешённых инструментов](/docs/ru/agent-sdk/permissions#allow-and-deny-rules) вашего SDK.

111* **Запускайтесь в [авторежиме](#eliminate-prompts-with-auto-mode)**: модель-классификатор проверяет вызовы, поэтому вам не нужно ничего перечислять заранее. Передайте `--permission-mode auto` в `claude -p` или задайте [параметр режима разрешений](/docs/ru/agent-sdk/permissions#set-permission-mode) вашего SDK.

112 

113В этих примерах показан вариант с авторежимом для CLI и каждого SDK:

114 

115<Tabs>

116 <Tab title="CLI">

117 ```bash theme={null}

118 claude -p "Run the test suite and fix any failures" --permission-mode auto

119 ```

120 </Tab>

121 

122 <Tab title="TypeScript">

123 ```typescript theme={null}

124 const options = {

125 permissionMode: "auto"

126 };

127 ```

128 </Tab>

129 

130 <Tab title="Python">

131 ```python theme={null}

132 from claude_agent_sdk import ClaudeAgentOptions

133 

134 options = ClaudeAgentOptions(permission_mode="auto")

135 ```

136 </Tab>

137</Tabs>

138 

139До v2.1.302 такие запуски могли начинаться в авторежиме, если они не [получали флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), например при использовании [стороннего поставщика](/docs/ru/third-party-integrations) или с `DISABLE_TELEMETRY`.

140 

104<h3 id="start-in-a-different-mode">141<h3 id="start-in-a-different-mode">

105 Запуск в другом режиме разрешений142 Запуск в другом режиме разрешений

106</h3>143</h3>


216 </Tab>253 </Tab>

217 254 

218 <Tab title="Desktop">255 <Tab title="Desktop">

219 **Во время сеанса**: на вкладке Code используйте селектор режима рядом с кнопкой отправки. Не все режимы появляются в селекторе:256 **Во время сессии**: на вкладке Code используйте селектор режима в строке под полем промпта. Не все режимы появляются в селекторе:

220 257 

221 * **Auto**: появляется, когда [режим auto доступен](#eliminate-prompts-with-auto-mode)258 * **Auto**: появляется, когда [режим auto доступен](#eliminate-prompts-with-auto-mode)

222 * **Bypass permissions**: требует переключателя **Allow bypass permissions mode** в параметрах Desktop на планах Pro и Max; на планах Team и Enterprise политика организации контролирует это вместо этого259 * **Bypass permissions**: требует переключателя **Allow bypass permissions mode** в параметрах Desktop на планах Pro и Max; на планах Team и Enterprise политика организации контролирует это вместо этого


345 Авторежим в Bedrock, Agent Platform или Foundry382 Авторежим в Bedrock, Agent Platform или Foundry

346</h3>383</h3>

347 384 

348В [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), [Microsoft Foundry](/docs/ru/microsoft-foundry) и сессиях [Claude apps gateway](/docs/ru/claude-apps-gateway) с выполненным входом авторежим доступен по умолчанию. Если ничто другое не задаёт режим разрешений, он также является [встроенным начальным режимом разрешений](#which-mode-a-session-starts-in) в версиях, перечисленных в таблице того раздела. Чтобы выбрать начальный режим разрешений самостоятельно, установите `permissions.defaultMode`, как описано в разделе [Запуск в другом режиме разрешений](#start-in-a-different-mode), или выберите режим разрешений в индикаторе режима расширения VS Code.385В [Amazon Bedrock](/docs/ru/amazon-bedrock), [Google Cloud's Agent Platform](/docs/ru/google-vertex-ai), [Microsoft Foundry](/docs/ru/microsoft-foundry) и сессиях [Claude apps gateway](/docs/ru/claude-apps-gateway) с выполненным входом авторежим доступен по умолчанию. Если вы не задаёте там режим разрешений, интерактивные сессии запускаются в авторежиме, а запуски `claude -p` или Agent SDK — в режиме Manual, значение которого в конфигурации — `default`:

386 

387* **Интерактивные сессии в терминале и VS Code**: чтобы запускать их в режиме разрешений, отличном от авторежима, установите `permissions.defaultMode`, как описано в разделе [Запуск в другом режиме разрешений](#start-in-a-different-mode), или выберите режим в [индикаторе режима](#switch-permission-modes) расширения VS Code. В разделе [В каком режиме запускается сессия](#which-mode-a-session-starts-in) перечислены версии Claude Code, которые запускают их в авторежиме.

388* **Запуски `claude -p` и Agent SDK**: чтобы запустить их в авторежиме, передайте `--permission-mode auto` в `claude -p` либо передайте `permissionMode: "auto"` в TypeScript или `permission_mode="auto"` в Python. Если вы не передаёте режим разрешений, см. раздел [Вызовы инструментов отклоняются в запусках `claude -p` и Agent SDK](#which-mode-a-non-interactive-run-starts-in), где также описаны более ранние версии Claude Code.

349 389 

350У этих провайдеров поддерживаются только Claude Sonnet 5 или новее, Opus 4.7 или новее, Haiku 5.5 и модели Fable. На любой другой модели сессия вместо этого запускается в режиме Manual. Авторежим с Haiku 5.5 у этих провайдеров требует Claude Code v2.1.293 или новее.390У этих провайдеров поддерживаются только Claude Sonnet 5 или новее, Opus 4.7 или новее, Haiku 5.5 и модели Fable. На любой другой модели сессия вместо этого запускается в режиме Manual. Авторежим с Haiku 5.5 у этих провайдеров требует Claude Code v2.1.293 или новее.

351 391 


368 408 

369Чтобы не запрашивать сервер и всегда использовать собственные запросы классификатора Claude Code, установите [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/ru/env-vars). При прямом подключении к Anthropic API эта переменная требует Claude Code v2.1.281 или новее. Значение `1` в этом случае включает серверную проверку в сессии, где её ещё нет, если только вы также не установили `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Если вы установили `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` и оставили `CLAUDE_CODE_AUTO_MODE_SERVER` незаданной, Claude Code также перестаёт запрашивать сервер, за исключением случаев, описанных в разделе [Отключение предварительных возможностей](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities).409Чтобы не запрашивать сервер и всегда использовать собственные запросы классификатора Claude Code, установите [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/ru/env-vars). При прямом подключении к Anthropic API эта переменная требует Claude Code v2.1.281 или новее. Значение `1` в этом случае включает серверную проверку в сессии, где её ещё нет, если только вы также не установили `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Если вы установили `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` и оставили `CLAUDE_CODE_AUTO_MODE_SERVER` незаданной, Claude Code также перестаёт запрашивать сервер, за исключением случаев, описанных в разделе [Отключение предварительных возможностей](/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities).

370 410 

411<h3 id="default-classifier-model">

412 Модель классификатора по умолчанию

413</h3>

414 

415По умолчанию запросы классификатора отправляются в Claude Sonnet 5. Если `/status` показывает `Auto mode server` как `Enabled`, они отправляются только для вызовов вне [проверки на стороне сервера](#server-side-classifier-review).

416 

417Найдите в этой таблице первую строку, которая соответствует вашей сессии. Вместо Sonnet 5 вы получите модель из этой строки.

418 

419| Ваша сессия | Модель классификатора |

420| - | - |

421| Имеет модель классификатора, настроенную Anthropic | Настроенная модель. [Проверьте отладочный лог](#classifier-model-check), чтобы узнать, какая именно |

422| Работает на Claude Sonnet 4.6 | Sonnet 4.6 |

423| Задана переменная [`ANTHROPIC_DEFAULT_SONNET_MODEL`](/docs/ru/model-config#environment-variables) | Её значение или Sonnet 5, если её значение — Claude Sonnet 5.5 или Claude Opus 5.5 |

424 

425Если Sonnet 5 или модель из `ANTHROPIC_DEFAULT_SONNET_MODEL` недоступна у вашего провайдера или исключена [политикой моделей](/docs/ru/model-config#restrict-model-selection) вашей организации, Claude Code использует резервную модель. Это модель вашей сессии либо модель Opus в [сессии Fable](/docs/ru/model-config#work-with-fable).

426 

427<h3 id="choose-the-classifier-model">

428 Выбор модели классификатора

429</h3>

430 

431В Claude Code v2.1.302 или новее задайте в [`CLAUDE_CODE_AUTO_MODE_MODEL`](/docs/ru/env-vars) полный идентификатор модели, чтобы запускать классификатор на модели, отличной от [модели по умолчанию](#default-classifier-model). Собственные полные идентификаторы моделей вашего облачного провайдера тоже подходят. Этот пример `~/.claude/settings.json` задаёт Claude Sonnet 4.6:

432 

433```json theme={null}

434{

435 "env": {

436 "CLAUDE_CODE_AUTO_MODE_MODEL": "claude-sonnet-4-6"

437 }

438}

439```

440 

441<h4 id="classifier-model-not-reviewing">

442 Когда проверку выполняет не ваша модель

443</h4>

444 

445| Ситуация | Что происходит | Что делать |

446| - | - | - |

447| В сессии `/status` показывает [`Auto mode server`](#server-side-classifier-review) как `Enabled` | Ваша модель проверяет только то, что не проверяет сервер | Ничего не требуется |

448| Вы задали Claude Opus 5, Claude Sonnet 5.5, Claude Opus 5.5 или модель, которую исключает [политика моделей](/docs/ru/model-config#restrict-model-selection) вашей организации | Проверку выполняет [модель классификатора по умолчанию](#default-classifier-model) | Задайте другую модель |

449| Anthropic настроила модель классификатора для вашей сессии | Проверку выполняет эта модель | Ничего не требуется |

450| Ваш провайдер не может обслуживать эту модель | Запросы завершаются сбоем, и Claude Code [отклоняет каждое проверяемое действие](/docs/ru/errors#auto-mode-cannot-determine-the-safety-of-an-action) | Задайте модель, которую он обслуживает, или удалите переменную |

451 

452<h4 id="classifier-model-check">

453 Проверка того, какую модель использовал классификатор

454</h4>

455 

456В оболочке запустите сессию в авторежиме с [`--debug-file`](/docs/ru/cli-reference#cli-flags):

457 

458```bash theme={null}

459claude --permission-mode auto --debug-file classifier-debug.log

460```

461 

462Попросите Claude выполнить shell-команду, которая не является командой только для чтения, затем найдите в логе `classifier_request_started`:

463 

464* **Ваша модель после `model=`**: переменная вступила в силу

465* **Другая модель после `model=`**: найдите в логе `ignoring CLAUDE_CODE_AUTO_MODE_MODEL` — там указаны причина и необходимые действия, если они есть

466* **Такой строки нет**: посмотрите значение `Auto mode server` в `/status` в промпте Claude Code:

467 * **`Enabled`**: [сервер](#server-side-classifier-review) настроен проверять вызовы этой сессии. Ничего менять не нужно.

468 * **`Disabled`**: убедитесь, что [режим разрешений](#switch-permission-modes) — авторежим, затем попросите Claude выполнить ещё одну команду, которая не является командой только для чтения.

469 

371<h3 id="what-the-classifier-blocks-by-default">470<h3 id="what-the-classifier-blocks-by-default">

372 Что классификатор блокирует по умолчанию471 Что классификатор блокирует по умолчанию

373</h3>472</h3>


384* Изменение общей инфраструктуры483* Изменение общей инфраструктуры

385* Необратимое уничтожение файлов, существовавших до начала сессии484* Необратимое уничтожение файлов, существовавших до начала сессии

386* Force push485* Force push

387* Коммит или push изменения, которое при запуске отправит секреты или чувствительные данные за пределы репозитория или расширит то, что раскрывает развёртывание. Сюда относятся CI workflow или конфигурация развёртывания, передающие секрет получателю, который его ещё не получает, скрипт или шаг настройки, который читает хранилище секретов и отправляет данные наружу, а также изменение конфигурации, расширяющее то, что публикует развёртывание, например настройка реестра, видимости, артефакта или sourcemap. Проверка действует на любой ветке, действует даже для общедоступного репозитория и срабатывает при коммите или push изменения независимо от того, запускает ли этот коммит или push конвейер; чтобы снять блокировку, нужно назвать эффект выполнения, а не только коммит или push. До v2.1.211 эта проверка ограничивалась веткой по умолчанию: push в неё блокировался, если он содержал чувствительный контент, изменения, скрытые или описанные не так, как вы просили, контент, перенесённый из-за пределов репозитория, или обходил проверку, которую вы запрашивали486* Коммит или push изменения, которое при запуске отправит секреты или чувствительные данные за пределы репозитория или расширит то, что раскрывает развёртывание. Сюда относятся CI workflow или конфигурация развёртывания, передающие секрет получателю, который его ещё не получает, скрипт или шаг настройки, который читает хранилище секретов и отправляет данные наружу, а также изменение конфигурации, расширяющее то, что публикует развёртывание, например настройка реестра, видимости, артефакта или sourcemap. Проверка действует на любой ветке, действует даже для общедоступного репозитория и срабатывает при коммите или push изменения независимо от того, запускает ли этот коммит или push конвейер; чтобы снять блокировку, нужно назвать эффект выполнения, а не только коммит или push

388* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` или `git stash clear`, которые, по предположению классификатора, отбросят незафиксированные изменения487* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` или `git stash clear`, которые, по предположению классификатора, отбросят незафиксированные изменения

389* `git commit --amend`, если коммит в HEAD был создан не в этой сессии488* `git commit --amend`, если коммит в HEAD был создан не в этой сессии

390* Начиная с v2.1.198 — `git commit --amend`, если коммит в HEAD уже был отправлен через push. Изменение только сообщения не блокируется: `--amend -m` без новых подготовленных изменений для коммита, который Claude создал в этой сессии489* Начиная с v2.1.198 — `git commit --amend`, если коммит в HEAD уже был отправлен через push. Изменение только сообщения не блокируется: `--amend -m` без новых подготовленных изменений для коммита, который Claude создал в этой сессии


568 </Accordion>667 </Accordion>

569 668 

570 <Accordion title="Стоимость и задержка">669 <Accordion title="Стоимость и задержка">

571 По умолчанию классификатор работает на 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, если она не задана.670 Запросы классификатора, которые отправляет Claude Code, могут выполняться на модели, отличной от выбранной через `/model`. См. [на какой модели они выполняются](#default-classifier-model).

572 

573 Первый запрос авторежима в сессии проверяет значение по умолчанию Sonnet 5: если запрос выполняется успешно, Sonnet 5 остаётся моделью классификатора для этой сессии, а если он завершается сбоем из-за недоступности модели, сессия использует резервный вариант.

574 671 

575 На планах Enterprise и в учётных записях, использующих Claude API, [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, вызовы классификатора учитываются в вашем расходе токенов. Каждая проверка отправляет часть транскрипта вместе с ожидающим действием, добавляя один цикл запроса и ответа перед выполнением. Чтение и редактирование в рабочем каталоге вне защищённых путей обходят классификатор, поэтому накладные расходы возникают в основном из-за shell-команд и сетевых операций. Там, где сервер проверяет действия в составе запросов к модели в рамках сессии, отдельных вызовов классификатора, которые нужно учитывать, нет; см. [Проверка классификатором на стороне сервера](#server-side-classifier-review).672 На планах Enterprise и в учётных записях, использующих Claude API, [Claude Platform on AWS](/docs/ru/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, вызовы классификатора учитываются в вашем расходе токенов. Каждая проверка отправляет часть транскрипта вместе с ожидающим действием, добавляя один цикл запроса и ответа перед выполнением. Чтение и редактирование в рабочем каталоге вне защищённых путей обходят классификатор, поэтому накладные расходы возникают в основном из-за shell-команд и сетевых операций. Там, где сервер проверяет действия в составе запросов к модели в рамках сессии, отдельных вызовов классификатора, которые нужно учитывать, нет; см. [Проверка классификатором на стороне сервера](#server-side-classifier-review).

576 673 

permissions.md +3 −3

Details

391 391 

392Claude Code проверяет вставленные пути изображений и списки содержимого каталогов в v2.1.290 и новее.392Claude Code проверяет вставленные пути изображений и списки содержимого каталогов в v2.1.290 и новее.

393 393 

394Правило deny для `Read` также блокирует [инструменты Edit и Write](/docs/ru/errors#file-is-covered-by-a-read-deny-rule) для того же пути, включая создание там нового файла. NotebookEdit не охватывается, поэтому добавьте правило deny для `Edit` для путей, которые не должен изменять ни один инструмент. Проверка требует Claude Code v2.1.208 или новее для правок, и v2.1.228 или новее для записи.394Правило deny для `Read` также блокирует [инструменты Edit и Write](/docs/ru/errors#file-is-covered-by-a-read-deny-rule) для того же пути, включая создание там нового файла. NotebookEdit не охватывается, поэтому добавьте правило deny для `Edit` для путей, которые не должен изменять ни один инструмент. Для инструмента Write проверка требует Claude Code v2.1.228 или новее.

395 395 

396Claude Code проверяет файловые разрешения только по правилам `Edit(path)` и `Read(path)`. Если вместо этого вы напишете правило с путём для `Write`, `NotebookEdit`, `Glob` или устаревшего инструмента `MultiEdit`, Claude Code примет правило, но никогда не будет к нему обращаться и [выдаст предупреждение при запуске](/docs/ru/errors#is-not-matched-by-file-permission-checks), за исключением правила `Glob`, переданного в `--allowedTools`. Используйте `Edit(docs/**)` вместо `Write(docs/**)`, `NotebookEdit(docs/**)` или `MultiEdit(docs/**)`, и `Read(docs/**)` вместо `Glob(docs/**)`. Claude Code не предупреждает о правиле с именем инструмента без пути, например о правиле deny для `Write`; такое правило сопоставляется на уровне инструмента везде. Требуется Claude Code v2.1.210 или новее.396Claude Code проверяет файловые разрешения только по правилам `Edit(path)` и `Read(path)`. Если вместо этого вы напишете правило с путём для `Write`, `NotebookEdit`, `Glob` или устаревшего инструмента `MultiEdit`, Claude Code примет правило, но никогда не будет к нему обращаться и [выдаст предупреждение при запуске](/docs/ru/errors#is-not-matched-by-file-permission-checks), за исключением правила `Glob`, переданного в `--allowedTools`. Используйте `Edit(docs/**)` вместо `Write(docs/**)`, `NotebookEdit(docs/**)` или `MultiEdit(docs/**)`, и `Read(docs/**)` вместо `Glob(docs/**)`. Claude Code не предупреждает о правиле с именем инструмента без пути, например о правиле deny для `Write`; такое правило сопоставляется на уровне инструмента везде.

397 397 

398<Warning>398<Warning>

399 Правила deny для Read и Edit применяются к встроенным файловым инструментам Claude, к файловым командам, которые Claude Code распознаёт в Bash, таким как `cat`, `head`, `tail`, `sed` и `tee`, и к целям [перенаправлений](#redirections) Bash, таким как `> file` и `< file`. Они не применяются к команде, которая читает файлы, не называя их, например `grep -r pattern .`, запущенной из каталога, содержащего файл, или к произвольным подпроцессам, которые читают или записывают файлы косвенно, например к скрипту Python или Node, который сам открывает файлы. Для ограничений на уровне ОС, которые блокируют доступ к пути для всех процессов, [включите песочницу](/docs/ru/sandboxing).399 Правила deny для Read и Edit применяются к встроенным файловым инструментам Claude, к файловым командам, которые Claude Code распознаёт в Bash, таким как `cat`, `head`, `tail`, `sed` и `tee`, и к целям [перенаправлений](#redirections) Bash, таким как `> file` и `< file`. Они не применяются к команде, которая читает файлы, не называя их, например `grep -r pattern .`, запущенной из каталога, содержащего файл, или к произвольным подпроцессам, которые читают или записывают файлы косвенно, например к скрипту Python или Node, который сам открывает файлы. Для ограничений на уровне ОС, которые блокируют доступ к пути для всех процессов, [включите песочницу](/docs/ru/sandboxing).


762 762 

763Когда вы включаете песочницу и оставляете `autoAllowBashIfSandboxed` со значением по умолчанию `true`, команды Bash в песочнице выполняются без запроса даже если ваши разрешения включают простое правило запроса `Bash`, или [эквивалентную форму `Bash(*)`](#match-all-uses-of-a-tool): граница песочницы заменяет этот запрос для всего инструмента.763Когда вы включаете песочницу и оставляете `autoAllowBashIfSandboxed` со значением по умолчанию `true`, команды Bash в песочнице выполняются без запроса даже если ваши разрешения включают простое правило запроса `Bash`, или [эквивалентную форму `Bash(*)`](#match-all-uses-of-a-tool): граница песочницы заменяет этот запрос для всего инструмента.

764 764 

765В [режиме плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) Claude Code пропускает эту замену. Без правила запроса [встроенные команды только для чтения](#read-only-commands) по-прежнему выполняются без запроса, и любая другая команда оболочки проходит через обычный поток разрешений пока вы всё ещё планируете; см. [режим плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) для того, как Claude Code управляет командами там. С простым правилом запроса `Bash`, каждая команда Bash запрашивается, включая команды только для чтения в песочнице, так же как вне песочницы. До версии v2.1.212 замена применялась также в режиме плана.765В [режиме планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) Claude Code пропускает эту замену. Без правила запроса [встроенные команды только для чтения](#read-only-commands) по-прежнему выполняются без запроса, и любая другая команда оболочки проходит через обычный поток разрешений пока вы всё ещё планируете; см. [режим планирования](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) для того, как Claude Code управляет командами там. С простым правилом запроса `Bash`, каждая команда Bash запрашивается, включая команды только для чтения в песочнице, так же как вне песочницы.

766 766 

767Эти проверки по-прежнему применяются:767Эти проверки по-прежнему применяются:

768 768 

Details

95 95 

96 <Steps>96 <Steps>

97 <Step title="Откройте браузер плагинов">97 <Step title="Откройте браузер плагинов">

98 Нажмите кнопку **+** рядом с полем подсказки и выберите **Plugins**, затем **Add plugin**. Браузер плагинов откроется с плагинами из ваших маркетплейсов.98 Нажмите кнопку **+** рядом с полем промпта и выберите **Add plugins**. Если в меню **+** отображается **Plugins** вместо **Add plugins**, выберите **Plugins**, затем **Browse plugins**. Браузер плагинов откроется с плагинами из ваших маркетплейсов.

99 </Step>99 </Step>

100 100 

101 <Step title="Выберите плагин">101 <Step title="Выберите плагин">

102 Найдите `commit-commands` и выберите его.102 Найдите `commit-commands` и выберите его.

103 </Step>103 </Step>

104 104 

105 <Step title="Выберите область">105 <Step title="Выберите область действия">

106 Выберите [область](#choose-an-install-scope): ваш пользовательский аккаунт, этот проект или только локально.106 Выберите [область действия](#choose-an-install-scope): ваш пользовательский аккаунт, этот проект или только локально.

107 </Step>107 </Step>

108 </Steps>108 </Steps>

109 109 

110 Чтобы включить, отключить или удалить позже, используйте **+ > Plugins > Manage plugins**. Браузер плагинов недоступен в облачных сессиях настольного приложения. См. [Install plugins in the desktop app](/docs/ru/desktop#install-plugins).110 Чтобы позже включить, отключить или удалить плагин, см. [Install plugins in the desktop app](/docs/ru/desktop#install-plugins).

111 </Tab>111 </Tab>

112 112 

113 <Tab title="VS Code">113 <Tab title="VS Code">

Details

362 Рисование в расширении VS Code362 Рисование в расширении VS Code

363</h3>363</h3>

364 364 

365В расширении VS Code то, что рисует мод, появляется на панели чата в расширении версии 2.1.299 или новее, в сессии, которая [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching). В хуке `ui.render` для панели чата `e.surface` имеет значение `vscode`. Чтобы проверить, какие точки отрисовки и элементы рисует панель чата и какие пропсы она игнорирует, см. таблицы [точек отрисовки](/docs/ru/plugins/mods/reference#render-sites) и [элементов](/docs/ru/plugins/mods/reference#elements).365В расширении VS Code то, что рисует мод, появляется на панели чата в расширении версии 2.1.299 или новее. Сессии, которая [не получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), например сессии в Amazon Bedrock, требуется версия 2.1.304 или новее. В хуке `ui.render` для панели чата `e.surface` имеет значение `vscode`. Чтобы проверить, какие точки отрисовки и элементы рисует панель чата и какие пропсы она игнорирует, см. таблицы [точек отрисовки](/docs/ru/plugins/mods/reference#render-sites) и [элементов](/docs/ru/plugins/mods/reference#elements).

366 366 

367Чтобы мод работал на панели чата так же, как в терминале, учитывайте следующие различия:367Чтобы мод работал на панели чата так же, как в терминале, учитывайте следующие различия:

368 368 

Details

219| `claude` в терминале, включая встроенный терминал редактора и плагин JetBrains | Да | Да |219| `claude` в терминале, включая встроенный терминал редактора и плагин JetBrains | Да | Да |

220| Вкладка Code приложения Desktop, кроме сессии WSL | Да | Да, кроме элементов, которые [таблица элементов](/docs/ru/plugins/mods/reference#elements) отмечает как только для терминала |220| Вкладка Code приложения Desktop, кроме сессии WSL | Да | Да, кроме элементов, которые [таблица элементов](/docs/ru/plugins/mods/reference#elements) отмечает как только для терминала |

221| [Сессия WSL](/docs/ru/desktop-wsl) в приложении Desktop | Нет, потому что плагины недоступны в сессиях WSL | Нет |221| [Сессия WSL](/docs/ru/desktop-wsl) в приложении Desktop | Нет, потому что плагины недоступны в сессиях WSL | Нет |

222| Панель чата расширения VS Code | Да | Да, с версией расширения 2.1.299 или новее, в сессии, которая [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Таблицы [точек отрисовки](/docs/ru/plugins/mods/reference#render-sites) и [элементов](/docs/ru/plugins/mods/reference#elements) отмечают, что рисует панель. |222| Панель чата расширения VS Code | Да | Да, с версией расширения 2.1.299 или новее. Сессии, которая [не получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), например сессии в Amazon Bedrock, нужна версия 2.1.304 или новее. Таблицы [точек отрисовки](/docs/ru/plugins/mods/reference#render-sites) и [элементов](/docs/ru/plugins/mods/reference#elements) отмечают, что рисует панель. |

223| `claude -p` и [Agent SDK](/docs/ru/agent-sdk/overview) | Да | Нет |223| `claude -p` и [Agent SDK](/docs/ru/agent-sdk/overview) | Да | Нет |

224| [Remote Control](/docs/ru/remote-control) из claude.ai или мобильного приложения | Да, в сессии на вашей машине | В терминале на вашей машине |224| [Remote Control](/docs/ru/remote-control) из claude.ai или мобильного приложения | Да, в сессии на вашей машине | В терминале на вашей машине |

225| [Облачная сессия](/docs/ru/claude-code-on-the-web) | Да, для плагина, который [попадает в облачную сессию](/docs/ru/cloud-environments#what-carries-over-from-your-setup) | Нет |225| [Облачная сессия](/docs/ru/claude-code-on-the-web) | Да, для плагина, который [попадает в облачную сессию](/docs/ru/cloud-environments#what-carries-over-from-your-setup) | Нет |

Details

257 257 

258Точка отрисовки — это точка расширения в интерфейсе Claude Code. Каждая строка — это значение `e.component` в хуке `ui.render` с полями `e.props` и приложениями, которые её отрисовывают. `e.surface` указывает приложение, которое выполняет отрисовку, например `terminal`, `desktop` или `vscode`. В разделе [Изменение того, что уже рисует Claude Code](/docs/ru/plugins/mods/interface#change-what-claude-code-already-draws) показано, что хук может делать в точке отрисовки, с примером для каждого варианта.258Точка отрисовки — это точка расширения в интерфейсе Claude Code. Каждая строка — это значение `e.component` в хуке `ui.render` с полями `e.props` и приложениями, которые её отрисовывают. `e.surface` указывает приложение, которое выполняет отрисовку, например `terminal`, `desktop` или `vscode`. В разделе [Изменение того, что уже рисует Claude Code](/docs/ru/plugins/mods/interface#change-what-claude-code-already-draws) показано, что хук может делать в точке отрисовки, с примером для каждого варианта.

259 259 

260Для отрисовки в расширении VS Code требуется расширение версии 2.1.299 или новее и сессия, которая [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching). В разделе [Рисование в расширении VS Code](/docs/ru/plugins/mods/interface#draw-in-the-vs-code-extension) перечислено, что расширение рисует иначе.260Для отрисовки в расширении VS Code требуется расширение версии 2.1.299 или новее. Сессии, которая [не получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), требуется версия 2.1.304 или новее. В разделе [Рисование в расширении VS Code](/docs/ru/plugins/mods/interface#draw-in-the-vs-code-extension) перечислено, что расширение рисует иначе.

261 261 

262| Точка | `e.props` | `e.requestId` | Отрисовывается в |262| Точка | `e.props` | `e.requestId` | Отрисовывается в |

263| :- | :- | :- | :- |263| :- | :- | :- | :- |

Details

315 315 

316* **Точка отрисовки или элемент не отрисовываются в этом приложении**: найдите вашу точку в таблице [точек отрисовки](/docs/ru/plugins/mods/reference#render-sites), а ваши элементы - в таблице [элементов](/docs/ru/plugins/mods/reference#elements). Для элемента, которого нет в приложении, проверьте `e.surface` в хуке и верните дерево, которое приложение может отрисовать.316* **Точка отрисовки или элемент не отрисовываются в этом приложении**: найдите вашу точку в таблице [точек отрисовки](/docs/ru/plugins/mods/reference#render-sites), а ваши элементы - в таблице [элементов](/docs/ru/plugins/mods/reference#elements). Для элемента, которого нет в приложении, проверьте `e.surface` в хуке и верните дерево, которое приложение может отрисовать.

317* **Расширение VS Code старше 2.1.299**: панель чата отрисовывает содержимое модов начиная с [версии расширения](/docs/ru/vs-code#install-the-extension) 2.1.299. Проверьте версию в представлении Extensions в VS Code и обновите расширение там.317* **Расширение VS Code старше 2.1.299**: панель чата отрисовывает содержимое модов начиная с [версии расширения](/docs/ru/vs-code#install-the-extension) 2.1.299. Проверьте версию в представлении Extensions в VS Code и обновите расширение там.

318* **Сессия VS Code не загружает флаги функций**: это необходимо для отрисовки в панели чата. Сессии в Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry либо через [шлюз приложений Claude](/docs/ru/claude-apps-gateway) пропускают эту загрузку, как и другие сессии, перечисленные в разделе [Функции, которым нужна загрузка флагов функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching). Чтобы увидеть рисунок в такой сессии, запустите `claude` в терминале, например во встроенном терминале VS Code.318* **Расширение старше 2.1.304, и сессия не загружает флаги функций**: обновите расширение или вместо этого запустите `claude` во встроенном терминале VS Code. Сессии в Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry пропускают эту загрузку. О других сессиях, которые ее пропускают, например о сессии через [шлюз приложений Claude](/docs/ru/claude-apps-gateway), см. [Функции, которым нужна загрузка флагов функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching).

319 319 

320<h2 id="an-edit-or-a-value-is-lost">320<h2 id="an-edit-or-a-value-is-lost">

321 Редактирование или значение потеряно321 Редактирование или значение потеряно

Details

40 40 

41Установите плагин с поверхности, на которой вы находитесь:41Установите плагин с поверхности, на которой вы находитесь:

42 42 

43* **Приложение Claude для рабочего стола, локальный или SSH-сеанс**: нажмите кнопку **+** рядом с приглашением, затем **Плагины**, затем **Добавить плагин**, чтобы открыть [браузер плагинов](/docs/ru/desktop#install-plugins)43* **Приложение Claude для рабочего стола, локальная или SSH-сессия**: используйте вкладку **Desktop app** в разделе [Установить плагин](/docs/ru/plugins/install#install-a-plugin)

44* **Расширение VS Code**: используйте вкладку **VS Code** в разделе [Установить плагин](/docs/ru/plugins/install#install-a-plugin)44* **Расширение VS Code**: используйте вкладку **VS Code** в разделе [Установить плагин](/docs/ru/plugins/install#install-a-plugin)

45* **Claude Code в веб-браузере или облачный сеанс рабочего стола**: облачный сеанс не имеет браузера плагинов. См. вкладку **Cloud session** в разделе [Установить плагин](/docs/ru/plugins/install#install-a-plugin), чтобы узнать, что загружает облачный сеанс45* **Claude Code в веб-браузере или облачный сеанс рабочего стола**: облачный сеанс не имеет браузера плагинов. См. вкладку **Cloud session** в разделе [Установить плагин](/docs/ru/plugins/install#install-a-plugin), чтобы узнать, что загружает облачный сеанс

46* **Терминал, к которому у вас есть доступ**: запустите `claude` и введите `/plugin` там, или запустите `claude plugin install <plugin>@<marketplace>` в вашей оболочке без запуска сеанса46* **Терминал, к которому у вас есть доступ**: запустите `claude` и введите `/plugin` там, или запустите `claude plugin install <plugin>@<marketplace>` в вашей оболочке без запуска сеанса

Details

122mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }122mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }

123```123```

124 124 

125После того как файл настроек находится на месте, запустите Claude Code с `npx` и передайте `claude` как команду для обертывания:125Установите среду выполнения глобально, с префиксом вне всех путей, к которым вы разрешаете запись:

126 126 

127```bash theme={null}127```bash theme={null}

128npx @anthropic-ai/sandbox-runtime claude128npm install -g @anthropic-ai/sandbox-runtime

129```129```

130 130 

131Claude Code запускается внутри песочницы с границами файловой системы и сети, которые вы настроили. Та же команда работает для изоляции в песочнице отдельных MCP-серверов или других вспомогательных процессов.131После того как файл настроек находится на месте, запустите Claude Code через среду выполнения из каталога вашего проекта:

132 

133```bash theme={null}

134srt claude

135```

136 

137Claude Code запускается внутри песочницы с границами файловой системы и сети, которые вы настроили. Та же команда `srt` работает для изоляции в песочнице отдельных MCP-серверов или других вспомогательных процессов.

132 138 

133<h3 id="what-the-runtime-blocks-on-its-own">139<h3 id="what-the-runtime-blocks-on-its-own">

134 Что среда выполнения блокирует самостоятельно140 Что среда выполнения блокирует самостоятельно

Details

33 33 

34`/plugin` открывает интерактивную панель в терминальном CLI. Если Claude сообщит, что `/plugin` недоступен в этой среде, установите другим способом:34`/plugin` открывает интерактивную панель в терминальном CLI. Если Claude сообщит, что `/plugin` недоступен в этой среде, установите другим способом:

35 35 

36* **Приложение Claude для рабочего стола, локальный или SSH сеанс**: откройте [браузер плагинов](/docs/ru/desktop#install-plugins), нажав кнопку **+** рядом с приглашением, затем **Plugins**, затем **Add plugin**36* **Приложение Claude для рабочего стола, локальная или SSH-сессия**: используйте вкладку **Desktop app** в разделе [Установка плагина](/docs/ru/plugins/install#install-a-plugin)

37* **Расширение VS Code**: установите из [диалога **Manage plugins**](/docs/ru/vs-code#manage-plugins)37* **Расширение VS Code**: установите из [диалога **Manage plugins**](/docs/ru/vs-code#manage-plugins)

38* **Облачные сеансы**: облачный сеанс не загружает плагины из ваших пользовательских параметров или из файла `.claude/settings.json` репозитория, как объясняется в разделе [What carries over from your setup](/docs/ru/cloud-environments#what-carries-over-from-your-setup). Для плагинов, которые ваша организация распространяет через управляемые параметры, см. [Manage plugins for your organization](/docs/ru/plugins/org)38* **Облачные сеансы**: облачный сеанс не загружает плагины из ваших пользовательских параметров или из файла `.claude/settings.json` репозитория, как объясняется в разделе [What carries over from your setup](/docs/ru/cloud-environments#what-carries-over-from-your-setup). Для плагинов, которые ваша организация распространяет через управляемые параметры, см. [Manage plugins for your organization](/docs/ru/plugins/org)

39 39 

Details

554* **С [`--retire-at`](/docs/ru/self-hosted-environments-reference#runner-cli-flags)**: оставьте между временем retire и временем остановки хоста достаточно времени для завершения типичных ходов, плюс ожидание фоновых задач, которое описывает [Runner lifecycle](/docs/ru/self-hosted-environments#runner-lifecycle), плюс время, записанное в лог. Вычисляйте время retire при каждом запуске, например `date +%s` плюс предполагаемое время жизни runner.554* **С [`--retire-at`](/docs/ru/self-hosted-environments-reference#runner-cli-flags)**: оставьте между временем retire и временем остановки хоста достаточно времени для завершения типичных ходов, плюс ожидание фоновых задач, которое описывает [Runner lifecycle](/docs/ru/self-hosted-environments#runner-lifecycle), плюс время, записанное в лог. Вычисляйте время retire при каждом запуске, например `date +%s` плюс предполагаемое время жизни runner.

555* **С [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal)**: таймаут остановки также должен охватывать настроенные вами минуты и дополнительное ожидание перед началом drain, 75 секунд при настройках по умолчанию. Оба значения объясняются в разделе [Defer the drain past the first signal](#defer-the-drain-past-the-first-signal). Runner также записывает это более длительное время в лог при запуске.555* **С [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal)**: таймаут остановки также должен охватывать настроенные вами минуты и дополнительное ожидание перед началом drain, 75 секунд при настройках по умолчанию. Оба значения объясняются в разделе [Defer the drain past the first signal](#defer-the-drain-past-the-first-signal). Runner также записывает это более длительное время в лог при запуске.

556 556 

557<h3 id="post-a-status-message-before-a-restart">

558 Опубликуйте статусное сообщение перед перезапуском

559</h3>

560 

561Перед перезапуском, который прервёт сессии, попросите [Owner](/docs/ru/cloud-environments#organization-shared-environments) опубликовать статусное сообщение в среде на [странице администратора **Cloud environments**](https://claude.ai/admin-settings/cloud-environments). На [claude.ai/code](https://claude.ai/code) участники видят это сообщение в своих сессиях в этой среде. Попросите Owner указать срок действия при публикации или удалить сообщение, когда runner снова заработают.

562 

557<h3 id="defer-the-drain-past-the-first-signal">563<h3 id="defer-the-drain-past-the-first-signal">

558 Defer the drain past the first signal564 Defer the drain past the first signal

559</h3>565</h3>


632 Закрепите версию638 Закрепите версию

633</h2>639</h2>

634 640 

635Процесс дочернего Claude Code каждого сеанса запускает собственный бинарный файл runner, и runner отключает auto-update внутри сеансов, которые он порождает, поэтому каждый сеанс запускает версию, которую вы установили на хосте или встроили в образ. Обновление на уровне хоста вступает в силу в следующий раз, когда runner запускается.641Дочерний процесс каждой сессии по умолчанию запускает собственный бинарный файл runner, и runner отключает auto-update внутри сессий, которые он порождает. При таком поведении по умолчанию каждая сессия запускает версию, которую вы установили на хосте или встроили в образ. Обновление на уровне хоста вступает в силу в следующий раз, когда runner запускается.

636 642 

637Выберите, какую версию запускают ваши сессии и когда она меняется:643Выберите, какую версию запускают ваши сессии и когда она меняется:

638 644 


640* **Чтобы держать флот на одной версии**: постройте образ с закрепленной версией или на голом хосте установите конкретную версию и [отключите auto-updates](/docs/ru/setup#disable-auto-updates)646* **Чтобы держать флот на одной версии**: постройте образ с закрепленной версией или на голом хосте установите конкретную версию и [отключите auto-updates](/docs/ru/setup#disable-auto-updates)

641* **Чтобы обновить фиксированный флот**: прочитайте записи [журнала изменений](/docs/en/changelog) между вашей версией и той, которую вы устанавливаете, затем установите более новую версию или пересоберите образ и перезапустите runners647* **Чтобы обновить фиксированный флот**: прочитайте записи [журнала изменений](/docs/en/changelog) между вашей версией и той, которую вы устанавливаете, затем установите более новую версию или пересоберите образ и перезапустите runners

642* **Чтобы обновить runners по требованию**: прочитайте записи [журнала изменений](/docs/en/changelog) между вашей версией и той, которую вы устанавливаете, затем измените образ, который запускает ваш [хук `spawn-runner`](/docs/ru/self-hosted-environments-configuration#the-spawn-runner-hook). Каждый новый runner получает новую версию. Runner, который уже запущен, включая резервный runner, запущенный [`--min-idle`](/docs/ru/self-hosted-environments-reference#orchestrator-cli-flags), сохраняет свою версию до завершения работы. Не перезапускайте его, потому что его рабочий заказ одноразовый.648* **Чтобы обновить runners по требованию**: прочитайте записи [журнала изменений](/docs/en/changelog) между вашей версией и той, которую вы устанавливаете, затем измените образ, который запускает ваш [хук `spawn-runner`](/docs/ru/self-hosted-environments-configuration#the-spawn-runner-hook). Каждый новый runner получает новую версию. Runner, который уже запущен, включая резервный runner, запущенный [`--min-idle`](/docs/ru/self-hosted-environments-reference#orchestrator-cli-flags), сохраняет свою версию до завершения работы. Не перезапускайте его, потому что его рабочий заказ одноразовый.

649* **Если сессии запускают другой бинарный файл**: если вы используете [`--exec-path`](/docs/ru/self-hosted-environments-reference#runner-cli-flags) или [хук `command`](/docs/ru/self-hosted-environments-configuration#command), чтобы запускать бинарный файл Claude Code, отличный от собственного бинарного файла runner, сессии запускают версию этого бинарного файла. Обновляйте этот бинарный файл при обновлении runner.

643* **Плагины**: рынки плагинов тоже не auto-update; установите `FORCE_AUTOUPDATE_PLUGINS=1` в окружении runner, чтобы позволить плагинам auto-update, пока бинарный файл остается закрепленным650* **Плагины**: рынки плагинов тоже не auto-update; установите `FORCE_AUTOUPDATE_PLUGINS=1` в окружении runner, чтобы позволить плагинам auto-update, пока бинарный файл остается закрепленным

644 651 

645<h2 id="scale-the-fleet">652<h2 id="scale-the-fleet">


699 * **Перед включением флага**: ограничьте круг тех, кто может выполнять push в refs `claude/*` на исходном удалённом репозитории. При возобновлении runner получает ранее отправленную ветку, не проверяя, кто её отправил.706 * **Перед включением флага**: ограничьте круг тех, кто может выполнять push в refs `claude/*` на исходном удалённом репозитории. При возобновлении runner получает ранее отправленную ветку, не проверяя, кто её отправил.

700* **Репозиторий, добавленный в середине сессии, может не клонироваться**: Claude клонирует его с помощью `git clone` по HTTPS. На runner без [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) клонирование завершается ошибкой аутентификации git, если ничто на хосте не может прочитать репозиторий. По возможности выбирайте все необходимые сессии репозитории при её создании.707* **Репозиторий, добавленный в середине сессии, может не клонироваться**: Claude клонирует его с помощью `git clone` по HTTPS. На runner без [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) клонирование завершается ошибкой аутентификации git, если ничто на хосте не может прочитать репозиторий. По возможности выбирайте все необходимые сессии репозитории при её создании.

701* **Некоторые коннекторы не появляются в самостоятельно размещаемых сеансах**: коннектор, который вы еще не подключили в параметрах claude.ai, не указан в самостоятельно размещаемом сеансе, и сеанс не будет вас приглашать подключить его. Подключите его в параметрах сначала, затем запустите свежий сеанс. Добавление коннектора в уже работающий сеанс тоже не делает его инструменты доступными для Claude; запустите свежий сеанс, чтобы подхватить недавно добавленный коннектор.708* **Некоторые коннекторы не появляются в самостоятельно размещаемых сеансах**: коннектор, который вы еще не подключили в параметрах claude.ai, не указан в самостоятельно размещаемом сеансе, и сеанс не будет вас приглашать подключить его. Подключите его в параметрах сначала, затем запустите свежий сеанс. Добавление коннектора в уже работающий сеанс тоже не делает его инструменты доступными для Claude; запустите свежий сеанс, чтобы подхватить недавно добавленный коннектор.

709* **Когда кто-то архивирует или удаляет сессию либо освобождает её runner из меню сессии**: не рассчитывайте на push через [`--push-outcome-on-release`](/docs/ru/self-hosted-environments-reference#runner-cli-flags). Чтобы сохранить коммиты в этих случаях, отправляйте `HEAD` в резервную ветку из [хука `post-session`](/docs/ru/self-hosted-environments-configuration#post-session). Если вы берёте за основу приведённый там пример, сделайте так, чтобы он выполнял push, даже когда незакоммиченных изменений нет, поскольку он выполняет push только после коммита-снимка.

702 710 

703<h3 id="report-an-issue">711<h3 id="report-an-issue">

704 Сообщите о проблеме712 Сообщите о проблеме


745 Если каждый вызов начинает не удаваться примерно через 30 минут в сеанс, скрипт-обертка, вероятно, разорвал stdin сеанса, поэтому ротации токенов не могут достичь его; см. [Keep stdin and file descriptor 3 attached](/docs/ru/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached).753 Если каждый вызов начинает не удаваться примерно через 30 минут в сеанс, скрипт-обертка, вероятно, разорвал stdin сеанса, поэтому ротации токенов не могут достичь его; см. [Keep stdin and file descriptor 3 attached](/docs/ru/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached).

746 754 

747 До v2.1.274, runner прекратил повторять попытку неудачного fetch после нескольких попыток и ждал следующего запланированного. Неудачный turn не вызвал fetch, поэтому каждый turn не удавался с 401 до следующего запланированного fetch.755 До v2.1.274, runner прекратил повторять попытку неудачного fetch после нескольких попыток и ждал следующего запланированного. Неудачный turn не вызвал fetch, поэтому каждый turn не удавался с 401 до следующего запланированного fetch.

756* **Ход в claude.ai/code завершается ошибкой `This model needs a newer version of Claude Code`**: версия Claude Code, с которой ваши runners запускают сессии, старше той, что требуется модели сессии, поэтому API [отклоняет запрос](/docs/ru/errors#claude-code-does-not-support-this-model). Обновите runners до версии, указанной в сообщении, или более поздней, как описано в разделе [Закрепление версии](#pin-the-version). До тех пор пользователи могут выбрать в сессии другую модель.

748* **Pod убивается в середине осушения**: поднимите `terminationGracePeriodSeconds` по крайней мере на значение, которое runner регистрирует при запуске. См. [Shutdown timing](#shutdown-timing).757* **Pod убивается в середине осушения**: поднимите `terminationGracePeriodSeconds` по крайней мере на значение, которое runner регистрирует при запуске. См. [Shutdown timing](#shutdown-timing).

749 758 

750После инициализации логирования runner записывает лог своего жизненного цикла, включая строки `[runner:fatal]`, в stdout, а отладочный вывод — в stderr, всё в виде обычных текстовых строк, а не JSON. Сбои базового каталога, описанные в пунктах об устранении неполадок выше, выводятся в stderr ещё до этого момента. Сохраняйте оба потока с помощью `--log-file`, что также позволяет `self-hosted-runner doctor` их просматривать, или с помощью сбора логов вашей платформы.759После инициализации логирования runner записывает лог своего жизненного цикла, включая строки `[runner:fatal]`, в stdout, а отладочный вывод — в stderr, всё в виде обычных текстовых строк, а не JSON. Сбои базового каталога, описанные в пунктах об устранении неполадок выше, выводятся в stderr ещё до этого момента. Сохраняйте оба потока с помощью `--log-file`, что также позволяет `self-hosted-runner doctor` их просматривать, или с помощью сбора логов вашей платформы.

Details

201* Кэшированные параметры сохраняются при сбоях сети. Если выборка при запуске не удается, Claude Code предупреждает в интерактивных сеансах, что кэшированная политика действует201* Кэшированные параметры сохраняются при сбоях сети. Если выборка при запуске не удается, Claude Code предупреждает в интерактивных сеансах, что кэшированная политика действует

202* До успешной выборки удерживаемые значения при запуске остаются удерживаемыми202* До успешной выборки удерживаемые значения при запуске остаются удерживаемыми

203 203 

204Claude Code удерживает несколько категорий переменных в кэшированном блоке `env` до подтверждения полезной нагрузки сервером для сеанса. Это предотвращает перенаправление, перехват или повторную аутентификацию кэшированного прокси, центра сертификации, конечной точки или значения учетных данных при выборке параметров, которая подтверждает полезную нагрузку. Усиление применяется только к кэшу параметров, полученных с сервера: [управляемые конечной точкой параметры](/docs/ru/managed-settings#delivery-mechanisms), развернутые через MDM или `managed-settings.json`, не затронуты. Удержание требует Claude Code v2.1.198 или более поздней версии; до v2.1.198 весь кэшированный блок `env` применяется при запуске. Удерживаемые категории включают:204Claude Code удерживает несколько категорий переменных в кэшированном блоке `env`, пока сервер не подтвердит данные для сессии. Это не позволяет кэшированному значению прокси, центра сертификации, эндпоинта или учётных данных перенаправить, перехватить или повторно аутентифицировать получение настроек, которое подтверждает данные. Эта защита применяется только к кэшу настроек, полученных с сервера: [управляемые на эндпоинте настройки](/docs/ru/managed-settings#delivery-mechanisms), развёрнутые через MDM или `managed-settings.json`, не затрагиваются. Удерживаемые категории включают:

205 205 

206* Конфигурация прокси и TLS, такая как `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS` и переменные сертификата клиента mTLS `CLAUDE_CODE_CLIENT_CERT` и `CLAUDE_CODE_CLIENT_KEY`206* Конфигурация прокси и TLS, такая как `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS` и переменные сертификата клиента mTLS `CLAUDE_CODE_CLIENT_CERT` и `CLAUDE_CODE_CLIENT_KEY`

207* Маршрутизация API и выбор поставщика, включая `ANTHROPIC_BASE_URL`, переменные выбора поставщика, такие как `CLAUDE_CODE_USE_BEDROCK` и `CLAUDE_CODE_USE_VERTEX`, и URL-адреса конечных точек поставщика, такие как `ANTHROPIC_BEDROCK_BASE_URL`207* Маршрутизация API и выбор поставщика, включая `ANTHROPIC_BASE_URL`, переменные выбора поставщика, такие как `CLAUDE_CODE_USE_BEDROCK` и `CLAUDE_CODE_USE_VERTEX`, и URL-адреса конечных точек поставщика, такие как `ANTHROPIC_BEDROCK_BASE_URL`


312 312 

313Claude Code не всегда может показать диалог. Каждый случай ниже указывает, какие параметры применяются, когда он не может, и когда вы снова видите диалог:313Claude Code не всегда может показать диалог. Каждый случай ниже указывает, какие параметры применяются, когда он не может, и когда вы снова видите диалог:

314 314 

315* **Интерактивный сеанс, который не может показать диалог**: Claude Code не применяет доставленные параметры и сохраняет последние одобренные параметры. Диалог появляется в следующем сеансе, который может его показать. Требуется Claude Code v2.1.211 или более поздняя версия.315* **Интерактивная сессия, которая не может показать диалог**: Claude Code не применяет доставленные настройки и сохраняет последние подтверждённые. Диалог появляется в следующей сессии, которая может его показать.

316* **`claude install` или `claude update`**: Claude Code не показывает диалог во время любой команды. Команда запускается с последними одобренными параметрами, и диалог появляется в вашем следующем интерактивном сеансе. Если Claude Code ждет выборки параметров при запуске, например с установленным [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) или при развертывании [шлюза приложений Claude](/docs/ru/claude-apps-gateway), он показывает диалог во время команды вместо этого, и запуск установки из трубы не удается; см. [`Raw mode is not supported` during install](/docs/ru/troubleshoot-install#raw-mode-is-not-supported-during-install). До v2.1.246 Claude Code пытался показать диалог во время этих команд тоже.316* **`claude install` или `claude update`**: Claude Code не показывает диалог во время любой команды. Команда запускается с последними одобренными параметрами, и диалог появляется в вашем следующем интерактивном сеансе. Если Claude Code ждет выборки параметров при запуске, например с установленным [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) или при развертывании [шлюза приложений Claude](/docs/ru/claude-apps-gateway), он показывает диалог во время команды вместо этого, и запуск установки из трубы не удается; см. [`Raw mode is not supported` during install](/docs/ru/troubleshoot-install#raw-mode-is-not-supported-during-install). До v2.1.246 Claude Code пытался показать диалог во время этих команд тоже.

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

318* **Неинтерактивный запуск**, такой как `claude -p`, сеанс Agent SDK или сеанс в панели чата расширения VS Code или на вкладке Code настольного приложения: Claude Code не может показать диалог, поэтому когда доставленные параметры требуют одобрения, он применяет их только для этого запуска. Он не записывает их как одобренные и не записывает их в [локальный кэш](#fetch-and-caching-behavior), и следующий интерактивный сеанс показывает диалог. До одобрения пользователем в интерактивном сеансе каждый неинтерактивный запуск выполняет выборку параметров снова при запуске. До v2.1.207 неинтерактивный запуск сохранял параметры как одобренные, поэтому более поздние интерактивные сеансы никогда не показывали диалог для них.318* **Неинтерактивный запуск**, такой как `claude -p`, сеанс Agent SDK или сеанс в панели чата расширения VS Code или на вкладке Code настольного приложения: Claude Code не может показать диалог, поэтому когда доставленные параметры требуют одобрения, он применяет их только для этого запуска. Он не записывает их как одобренные и не записывает их в [локальный кэш](#fetch-and-caching-behavior), и следующий интерактивный сеанс показывает диалог. До одобрения пользователем в интерактивном сеансе каждый неинтерактивный запуск выполняет выборку параметров снова при запуске. До v2.1.207 неинтерактивный запуск сохранял параметры как одобренные, поэтому более поздние интерактивные сеансы никогда не показывали диалог для них.

sessions.md +4 −3

Details

51 51 

52Когда Claude Code загружает диалог из его транскрипта, возобновлённая сессия восстанавливает диалог вместе с сохранённым в нём состоянием:52Когда Claude Code загружает диалог из его транскрипта, возобновлённая сессия восстанавливает диалог вместе с сохранённым в нём состоянием:

53 53 

54* История диалога: полная история, включая вызовы инструментов и их результаты. Инструмент, который всё ещё выполнялся, когда предыдущий процесс завершился, например при сбое, не завершается и не запускается снова при возобновлении. Claude видит вызов, помеченный как прерванный до записи его результата, и получает указание проверить, сработал ли он, прежде чем запускать его снова, если только не установлена переменная [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ru/env-vars#variables).54* История диалога: сообщения, вызовы инструментов и результаты. Если к сессии применялось [сжатие контекста](/docs/ru/context-window#what-survives-compaction), диалог открывается на строке `Conversation compacted`. Claude продолжает работу со сводкой последнего сжатия, сообщениями, которые это сжатие оставило без сводки, и всеми последующими сообщениями. Сообщения, включённые в сводку последнего сжатия, повторно не загружаются.

55* Прерванные вызовы инструментов: инструмент, который всё ещё выполнялся, когда предыдущий процесс завершился, например при сбое, не завершается и не запускается снова при возобновлении. Claude видит вызов, помеченный как прерванный до записи его результата, и получает указание проверить, сработал ли он, прежде чем запускать его снова, если только не установлена переменная [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ru/env-vars#variables).

55* Модель: сессия продолжается на модели, которую она использовала, за исключением случаев, описанных в разделе [Выбор модели](/docs/ru/model-config#setting-your-model).56* Модель: сессия продолжается на модели, которую она использовала, за исключением случаев, описанных в разделе [Выбор модели](/docs/ru/model-config#setting-your-model).

56* Агент: сессия, запущенная с помощью [`--agent`](/docs/ru/sub-agents#invoke-subagents-explicitly) или настройки `agent`, продолжается как этот агент, сохраняя его ограничения инструментов и модель. Передайте `--agent` при возобновлении, чтобы выбрать другого агента; о системном промпте в обоих случаях см. [Флаги системного промпта в возобновлённых диалогах](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code ищет агента в двух местах: в исходном каталоге сессии, при условии что вы [доверяете этому рабочему пространству](/docs/ru/permissions#project-allow-rules-and-workspace-trust), а затем в каталоге, из которого вы возобновляете сессию, поэтому агент уровня проекта загружается и при возобновлении из другого каталога. Если Claude Code не находит агента ни в одном из этих мест, сессия возобновляется с инструментами по умолчанию и показывает [предупреждение с именем агента](/docs/ru/errors#session-agent-no-longer-available).57* Агент: сессия, запущенная с помощью [`--agent`](/docs/ru/sub-agents#invoke-subagents-explicitly) или настройки `agent`, продолжается как этот агент, сохраняя его ограничения инструментов и модель. Передайте `--agent` при возобновлении, чтобы выбрать другого агента; о системном промпте в обоих случаях см. [Флаги системного промпта в возобновлённых диалогах](/docs/ru/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code ищет агента в двух местах: в исходном каталоге сессии, при условии что вы [доверяете этому рабочему пространству](/docs/ru/permissions#project-allow-rules-and-workspace-trust), а затем в каталоге, из которого вы возобновляете сессию, поэтому агент уровня проекта загружается и при возобновлении из другого каталога. Если Claude Code не находит агента ни в одном из этих мест, сессия возобновляется с инструментами по умолчанию и показывает [предупреждение с именем агента](/docs/ru/errors#session-agent-no-longer-available).

57* Режим разрешений: если вы возобновляете сессию из терминала с помощью `claude --continue`, `claude --resume <session-id>` или `claude --resume <name>`, когда имя соответствует одной сессии, без `-p`, Claude Code восстанавливает режим разрешений, в котором находилась сессия, за исключением случаев, описанных в разделе [режим разрешений при возобновлении](#permission-mode-on-resume), который также охватывает средство выбора сессий, `/resume` и возобновление с помощью `claude -p`. Передайте `--permission-mode` или `--dangerously-skip-permissions`, чтобы переопределить восстановленный режим.58* Режим разрешений: если вы возобновляете сессию из терминала с помощью `claude --continue`, `claude --resume <session-id>` или `claude --resume <name>`, когда имя соответствует одной сессии, без `-p`, Claude Code восстанавливает режим разрешений, в котором находилась сессия, за исключением случаев, описанных в разделе [режим разрешений при возобновлении](#permission-mode-on-resume), который также охватывает средство выбора сессий, `/resume` и возобновление с помощью `claude -p`. Передайте `--permission-mode` или `--dangerously-skip-permissions`, чтобы переопределить восстановленный режим.


162| Из средства выбора сессий | Выделите сессию и нажмите `Ctrl+R` |163| Из средства выбора сессий | Выделите сессию и нажмите `Ctrl+R` |

163| При принятии плана | Принятие плана в [режиме плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) дает сессии сгенерированное название на основе плана, если вы еще не назвали её |164| При принятии плана | Принятие плана в [режиме плана](/docs/ru/permission-modes#analyze-before-you-edit-with-plan-mode) дает сессии сгенерированное название на основе плана, если вы еще не назвали её |

164| Из claude.ai или приложения Claude | Переименуйте [сессию удаленного управления](/docs/ru/remote-control#connect-from-another-device); Claude Code применяет то же имя в CLI. Требуется Claude Code v2.1.221 или позже |165| Из claude.ai или приложения Claude | Переименуйте [сессию удаленного управления](/docs/ru/remote-control#connect-from-another-device); Claude Code применяет то же имя в CLI. Требуется Claude Code v2.1.221 или позже |

165| Из приложения для рабочего стола | Переименуйте сессию в [приложении для рабочего стола](/docs/ru/desktop#work-in-parallel-with-sessions) |166| Из приложения для рабочего стола | Переименуйте сессию в [приложении для рабочего стола](/docs/ru/desktop#organize-and-find-sessions) |

166 167 

167После того как вы назовете сессию через маршрут CLI или из claude.ai, вернитесь к ней с помощью `claude --resume <name>` или `/resume <name>`; сессия приложения для рабочего стола возобновляется в [приложении для рабочего стола](/docs/ru/desktop#work-in-parallel-with-sessions). Смотрите [Возобновить сессию](#resume-a-session), чтобы узнать, как разрешение имен работает в worktrees.168После того как вы назовете сессию через маршрут CLI или из claude.ai, вернитесь к ней с помощью `claude --resume <name>` или `/resume <name>`; сессия приложения для рабочего стола возобновляется в [приложении для рабочего стола](/docs/ru/desktop#work-in-parallel-with-sessions). Смотрите [Возобновить сессию](#resume-a-session), чтобы узнать, как разрешение имен работает в worktrees.

168 169 

169Сессии, которые вы не назвали, все еще получают два ярлыка, которые назначает Claude Code. Только сгенерированное название работает как дескриптор возобновления:170Сессии, которые вы не назвали, все еще получают два ярлыка, которые назначает Claude Code. Только сгенерированное название работает как дескриптор возобновления:

170 171 

171* Имя отображения по умолчанию: интерактивные сессии, которые вы никогда не назвали, все еще получают имя отображения по умолчанию при запуске. Требуется Claude Code v2.1.196 или позже. Значение по умолчанию объединяет имя рабочего каталога с двухсимвольным суффиксом, например `my-app-3f`, и идентифицирует сессию в списках запущенных сессий, таких как [представление агента](/docs/ru/agent-view) и вывод `claude agents --json`. Значение по умолчанию не является дескриптором возобновления. Если вы передадите его в `claude --resume` или `/resume`, Claude Code не найдет сессию.172* Имя отображения по умолчанию: интерактивные сессии, которые вы никогда не назвали, все еще получают имя отображения по умолчанию при запуске. Значение по умолчанию объединяет имя рабочего каталога с двухсимвольным суффиксом, например `my-app-3f`, и идентифицирует сессию в списках запущенных сессий, таких как [представление агента](/docs/ru/agent-view) и вывод `claude agents --json`. Значение по умолчанию не является дескриптором возобновления. Если вы передадите его в `claude --resume` или `/resume`, Claude Code не найдет сессию.

172* Сгенерированное название: если вы не назовете сессию, Claude Code генерирует для неё название сессии. Название — это краткое резюме вашей первой подсказки, написанное фоновым запросом к небольшой/быстрой модели, обычно модели класса Haiku. Запуск `claude -p`, который вы запускаете непосредственно из оболочки или скрипта, не получает его.173* Сгенерированное название: если вы не назовете сессию, Claude Code генерирует для неё название сессии. Название — это краткое резюме вашей первой подсказки, написанное фоновым запросом к небольшой/быстрой модели, обычно модели класса Haiku. Запуск `claude -p`, который вы запускаете непосредственно из оболочки или скрипта, не получает его.

173 174 

174 Принятие плана заменяет сгенерированное название на название на основе плана. Вы можете передать любое из названий в `claude --resume` или `/resume`, и Claude Code разрешит его так же, как имя, которое вы установили.175 Принятие плана заменяет сгенерированное название на название на основе плана. Вы можете передать любое из названий в `claude --resume` или `/resume`, и Claude Code разрешит его так же, как имя, которое вы установили.

Details

795| [`spinnerTipsEnabled`](#spinnertipsenabled) | Скройте советы в спиннере, пока Claude работает | Interface and terminal | Any file |795| [`spinnerTipsEnabled`](#spinnertipsenabled) | Скройте советы в спиннере, пока Claude работает | Interface and terminal | Any file |

796| [`spinnerTipsOverride`](#spinnertipsoverride) | Добавьте свои собственные советы к ротации спиннера или замените встроенные советы | Interface and terminal | Any file |796| [`spinnerTipsOverride`](#spinnertipsoverride) | Добавьте свои собственные советы к ротации спиннера или замените встроенные советы | Interface and terminal | Any file |

797| [`spinnerVerbs`](#spinnerverbs) | Добавьте или замените глаголы, показываемые во время выполнения хода | Interface and terminal | Any file |797| [`spinnerVerbs`](#spinnerverbs) | Добавьте или замените глаголы, показываемые во время выполнения хода | Interface and terminal | Any file |

798| [`sshConfigs`](#sshconfigs) | Добавьте [SSH-подключения](/docs/ru/desktop#pre-configure-ssh-connections-for-your-team) в раскрывающееся меню сред Desktop | Remote, desktop, and notifications | User or managed |798| [`sshConfigs`](#sshconfigs) | Добавьте [SSH-подключения](/docs/ru/desktop#pre-configure-ssh-connections-for-your-team) в средство выбора среды Desktop | Remote, desktop, and notifications | User or managed |

799| [`sshHostAllowlist`](#sshhostallowlist) | Ограничьте, к каким хостам могут подключаться [SSH-сессии Desktop](/docs/ru/desktop#restrict-which-ssh-hosts-users-can-connect-to) | Remote, desktop, and notifications | Managed |799| [`sshHostAllowlist`](#sshhostallowlist) | Ограничьте, к каким хостам могут подключаться [SSH-сессии Desktop](/docs/ru/desktop#restrict-which-ssh-hosts-users-can-connect-to) | Remote, desktop, and notifications | Managed |

800| [`statusLine`](#statusline) | Запустите свою собственную команду для отображения [строки состояния](/docs/ru/statusline) под промптом | Interface and terminal | Any file |800| [`statusLine`](#statusline) | Запустите свою собственную команду для отображения [строки состояния](/docs/ru/statusline) под промптом | Interface and terminal | Any file |

801| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Создайте список разрешённых источников [маркетплейсов](/docs/ru/plugins/overview), которые пользователи могут добавлять и из которых могут устанавливать | Plugins and skills | Managed |801| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Создайте список разрешённых источников [маркетплейсов](/docs/ru/plugins/overview), которые пользователи могут добавлять и из которых могут устанавливать | Plugins and skills | Managed |


4096 `vimInsertModeRemaps`4096 `vimInsertModeRemaps`

4097</h3>4097</h3>

4098 4098 

4099Сопоставьте двухклавишные последовательности режима INSERT с Escape в [режиме редактора vim](/docs/ru/interactive-mode#vim-editor-mode). Каждый ключ — это ровно два печатаемых символа, введенные последовательно, и `"<Esc>"` — единственная поддерживаемая цель; Claude Code игнорирует другие записи. Требуется Claude Code v2.1.208 или более поздняя версия.4099Сопоставить двухклавишные последовательности в режиме INSERT с Escape в [режиме редактора vim](/docs/ru/interactive-mode#vim-editor-mode). Каждый ключ — ровно два печатаемых символа, вводимых последовательно, а `"<Esc>"` — единственное поддерживаемое значение; остальные записи Claude Code игнорирует.

4100 4100 

4101* **Область действия**: [`User or managed`](#scopes). Репозиторий не может переназначить ваши нажатия клавиш.4101* **Область действия**: [`User or managed`](#scopes). Репозиторий не может переназначить ваши нажатия клавиш.

4102* **Тип**: объект, сопоставляющий двухсимвольную последовательность с `"<Esc>"`4102* **Тип**: объект, сопоставляющий двухсимвольную последовательность с `"<Esc>"`


4110}4110}

4111```4111```

4112 4112 

4113Не имеет эффекта, если `editorMode` не `"vim"`. См. [Переназначение последовательностей клавиш режима INSERT](/docs/ru/interactive-mode#remap-insert-mode-key-sequences). Требуется Claude Code v2.1.208 или более поздняя версия.4113Действует, только если `editorMode` равен `"vim"`. См. [Переназначение последовательностей клавиш в режиме INSERT](/docs/ru/interactive-mode#remap-insert-mode-key-sequences).

4114 4114 

4115<h3 id="voice">4115<h3 id="voice">

4116 `voice`4116 `voice`


5850 `disableDesktopLocalSessions`5850 `disableDesktopLocalSessions`

5851</h3>5851</h3>

5852 5852 

5853Отключить сеансы Code, которые работают на устройстве в [настольном приложении](/docs/ru/desktop#local-sessions-on-managed-devices), для развёртываний, где разработчики должны работать на удалённых машинах через SSH. На вкладке Code окружение **Local** остаётся в раскрывающемся списке окружений, но отключено и не может быть выбрано, с подсказкой, что ваша организация его отключила; на Windows запись WSL отключена таким же образом, хотя то, работают ли сеансы WSL на управляемом устройстве вообще, [управляется отдельно](/docs/ru/admin-setup#wsl-sessions-in-claude-code-desktop). Новые сеансы по умолчанию используют первое [SSH-соединение](/docs/ru/desktop#ssh-sessions), если оно настроено, и приложение отказывается запускать или возобновлять сеанс на устройстве, включая SSH-соединение обратно на ту же машину. SSH-сеансы на другие хосты и облачные сеансы не затронуты. Настольное приложение читает этот ключ; терминальный CLI его игнорирует. Требуется Claude Desktop v1.37937.0 или позже.5853Отключить сессии Code, которые работают на устройстве в [настольном приложении](/docs/ru/desktop#local-sessions-on-managed-devices), для развёртываний, где разработчики должны работать на удалённых машинах через SSH. Когда ключ установлен в `true`, пользователи видят на вкладке Code следующее:

5854 

5855* **Список выбора окружения**: запись для компьютера пользователя неактивна и недоступна для выбора, с подсказкой **Disabled by your organization**. На Windows запись WSL неактивна таким же образом, хотя то, работают ли сессии WSL на управляемом устройстве вообще, [регулируется отдельно](/docs/ru/admin-setup#wsl-sessions-in-claude-code-desktop).

5856* **Новые сессии**: по умолчанию используют первое [SSH-соединение](/docs/ru/desktop#ssh-sessions), если оно настроено

5857* **Сессии на устройстве**: приложение отказывается запускать или возобновлять сессию на устройстве, включая SSH-соединение обратно на ту же машину

5858* **SSH-сессии на другие хосты и облачные сессии**: не затрагиваются

5859 

5860Настольное приложение читает этот ключ; терминальный CLI его игнорирует. Требуется Claude Desktop v1.37937.0 или новее.

5854 5861 

5855* **Scope**: [`Managed`](#scopes). По умолчанию настольное приложение читает ключ из [одного управляемого источника](/docs/ru/managed-settings#how-claude-code-combines-managed-sources).5862* **Scope**: [`Managed`](#scopes). По умолчанию настольное приложение читает ключ из [одного управляемого источника](/docs/ru/managed-settings#how-claude-code-combines-managed-sources).

5856* **Type**: Boolean; только JSON Boolean `true` имеет эффект5863* **Type**: Boolean; только JSON Boolean `true` имеет эффект


5997 `sshConfigs`6004 `sshConfigs`

5998</h3>6005</h3>

5999 6006 

6000Добавить SSH-соединения в раскрывающийся список окружений [Desktop](/docs/ru/desktop#pre-configure-ssh-connections-for-your-team). Администраторы используют этот ключ для распространения общих соединений в команде. Соединения, определённые в управляемых настройках, отображаются как управляемые. Пользователи могут выбирать их и [задавать для них собственную **Worktree folder**](/docs/ru/desktop#choose-where-ssh-session-worktrees-go), но не могут изменять что-либо ещё или удалять их в приложении.6007Добавить SSH-соединения в список выбора окружения [Desktop](/docs/ru/desktop#pre-configure-ssh-connections-for-your-team). Администраторы используют `sshConfigs` для распространения общих соединений в команде. Пользователи могут выбрать управляемое соединение и [задать для него собственную **Worktree folder**](/docs/ru/desktop#set-the-worktree-folder-on-an-existing-connection). Изменять другие его поля или удалять его в приложении они не могут.

6001 6008 

6002* **Scope**: [`User or managed`](#scopes). Настольное приложение читает этот ключ. По умолчанию оно читает управляемые соединения из [одного управляемого источника](/docs/ru/managed-settings#how-claude-code-combines-managed-sources).6009* **Scope**: [`User or managed`](#scopes). Настольное приложение читает этот ключ. По умолчанию оно читает управляемые соединения из [одного управляемого источника](/docs/ru/managed-settings#how-claude-code-combines-managed-sources).

6003* **Type**: массив объектов, каждый с обязательными `id`, `name` и `sshHost` и опциональными `sshPort` и `sshIdentityFile`6010* **Type**: массив объектов, каждый с обязательными `id`, `name` и `sshHost` и опциональными `sshPort` и `sshIdentityFile`

statusline.md +2 −2

Details

199| `workspace.added_dirs` | Дополнительные каталоги, добавленные через `/add-dir` или `--add-dir`. Пустой массив, если ничего не было добавлено |199| `workspace.added_dirs` | Дополнительные каталоги, добавленные через `/add-dir` или `--add-dir`. Пустой массив, если ничего не было добавлено |

200| `workspace.git_worktree` | Имя Git worktree, когда текущий каталог находится внутри связанного worktree, созданного с помощью `git worktree add`. Отсутствует в основном рабочем дереве. Заполняется для любого git worktree, в отличие от `worktree.*`, который присутствует только во время сеанса в [worktree сеансе](/docs/ru/worktrees) |200| `workspace.git_worktree` | Имя Git worktree, когда текущий каталог находится внутри связанного worktree, созданного с помощью `git worktree add`. Отсутствует в основном рабочем дереве. Заполняется для любого git worktree, в отличие от `worktree.*`, который присутствует только во время сеанса в [worktree сеансе](/docs/ru/worktrees) |

201| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Идентификация репозитория, проанализированная из удалённого хранилища `origin`, например `"github.com"`, `"anthropics"`, `"claude-code"`. Отсутствует вне git репозитория или когда удалённое хранилище `origin` не настроено. Для проекта gitlab.com, вложенного в подгруппы, `owner` — это полный путь пространства имён с косыми чертами, например `"group/subgroup"`. До версии 2.1.260 `workspace.repo` отсутствовал для этих проектов |201| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Идентификация репозитория, проанализированная из удалённого хранилища `origin`, например `"github.com"`, `"anthropics"`, `"claude-code"`. Отсутствует вне git репозитория или когда удалённое хранилище `origin` не настроено. Для проекта gitlab.com, вложенного в подгруппы, `owner` — это полный путь пространства имён с косыми чертами, например `"group/subgroup"`. До версии 2.1.260 `workspace.repo` отсутствовал для этих проектов |

202| `cost.total_cost_usd` | Предполагаемая стоимость сеанса в USD, вычисляется на клиенте по цене списка, если не действует таблица [`modelPricing`](/docs/ru/settings-reference#modelpricing). Может отличаться от вашего фактического счёта. Сбрасывается на \$0 при запуске нового сеанса с помощью `/clear`. До версии 2.1.211 общая стоимость переносилась после `/clear` |202| `cost.total_cost_usd` | Предполагаемая стоимость сессии в USD, вычисляется на клиенте по цене списка, если не действует таблица [`modelPricing`](/docs/ru/settings-reference#modelpricing). Может отличаться от вашего фактического счёта. Сбрасывается на \$0 при запуске новой сессии с помощью `/clear` |

203| `cost.total_duration_ms` | Общее реальное время, в течение которого сеанс работал, в миллисекундах. Накапливается при возобновлении и не включает время, когда сеанс не работает |203| `cost.total_duration_ms` | Общее реальное время, в течение которого сеанс работал, в миллисекундах. Накапливается при возобновлении и не включает время, когда сеанс не работает |

204| `cost.total_api_duration_ms` | Общее время, потраченное на ожидание ответов API в миллисекундах |204| `cost.total_api_duration_ms` | Общее время, потраченное на ожидание ответов API в миллисекундах |

205| `cost.total_lines_added`, `cost.total_lines_removed` | Строки кода, которые были изменены |205| `cost.total_lines_added`, `cost.total_lines_removed` | Строки кода, которые были изменены |


1199| `label` | string | Краткая сводка о ходе выполнения задачи, если она есть у Claude Code, иначе тот же текст, что и в `description` |1199| `label` | string | Краткая сводка о ходе выполнения задачи, если она есть у Claude Code, иначе тот же текст, что и в `description` |

1200| `startTime` | number | Время начала задачи в миллисекундах с начала эпохи Unix |1200| `startTime` | number | Время начала задачи в миллисекундах с начала эпохи Unix |

1201| `model` | string, необязательное | ID разрешённой модели, на которой выполняется задача. Опускается, пока модель не разрешена |1201| `model` | string, необязательное | ID разрешённой модели, на которой выполняется задача. Опускается, пока модель не разрешена |

1202| `effort` | string или number, необязательное | Уровень усилий рассуждения, установленный для субагента в его [frontmatter определения](/docs/ru/sub-agents#supported-frontmatter-fields) или при отдельном вызове: `low`, `medium`, `high`, `xhigh`, `max` или числовой бюджет токенов. Это настроенное значение, и усилия, которые применяет Claude Code, могут отличаться, если модель не поддерживает этот уровень. Опускается, когда уровень усилий не задан. Требует Claude Code v2.1.213 или более поздней версии |1202| `effort` | string или number, необязательное | Уровень усилий рассуждения, установленный для субагента в его [frontmatter определения](/docs/ru/sub-agents#supported-frontmatter-fields) или при отдельном вызове: `low`, `medium`, `high`, `xhigh`, `max` или числовой бюджет токенов. Это настроенное значение, и усилия, которые применяет Claude Code, могут отличаться, если модель не поддерживает этот уровень. Опускается, когда уровень усилий не задан |

1203| `contextWindowSize` | number, необязательное | Контекстное окно `model` в токенах, вычисляемое так же, как [`context_window.context_window_size`](#context-window-fields) основной строки состояния, поэтому вы можете отобразить процент для каждой строки из `tokenCount`. Опускается, когда опущено `model` |1203| `contextWindowSize` | number, необязательное | Контекстное окно `model` в токенах, вычисляемое так же, как [`context_window.context_window_size`](#context-window-fields) основной строки состояния, поэтому вы можете отобразить процент для каждой строки из `tokenCount`. Опускается, когда опущено `model` |

1204| `tokenCount` | number | Текущее количество токенов субагента — значение, которое показывает строка по умолчанию |1204| `tokenCount` | number | Текущее количество токенов субагента — значение, которое показывает строка по умолчанию |

1205| `tokenSamples` | array of numbers | До 16 последних значений `tokenCount`, по одному за цикл обновления, от самого старого к новому, заканчивая текущим |1205| `tokenSamples` | array of numbers | До 16 последних значений `tokenCount`, по одному за цикл обновления, от самого старого к новому, заканчивая текущим |

sub-agents.md +53 −35

Details

287 287 

288Субагент с `isolation: worktree` выполняет свои команды Bash и PowerShell внутри своего worktree. Команда, рабочий каталог которой вместо этого указывает на вашу основную рабочую копию, например потому что каталог worktree был удалён во время работы субагента, завершается с ошибкой.288Субагент с `isolation: worktree` выполняет свои команды Bash и PowerShell внутри своего worktree. Команда, рабочий каталог которой вместо этого указывает на вашу основную рабочую копию, например потому что каталог worktree был удалён во время работы субагента, завершается с ошибкой.

289 289 

290Эта проверка рабочей директории охватывает весь репозиторий, содержащий директорию, из которой вы запустили Claude Code. Когда ваша сессия работает в связанном [worktree](/docs/ru/worktrees) своём собственном, проверка также охватывает основную копию, из которой этот worktree связан. До версии 2.1.210 проверка охватывала только саму директорию запуска. Команда, рабочая директория которой разрешалась в другом месте в том же репозитории, такая как корень репозитория, когда вы запустили Claude Code из подпапки monorepo, запускалась там вместо того, чтобы не выполняться.290Эта проверка рабочего каталога охватывает весь репозиторий, содержащий каталог, из которого вы запустили Claude Code. Если ваша сессия сама работает в связанном [worktree](/docs/ru/worktrees), проверка также охватывает основную рабочую копию, с которой связан этот worktree.

291 291 

292Для команд Bash Claude Code также проверяет саму команду двумя способами:292Для команд Bash Claude Code также проверяет саму команду двумя способами:

293 293 


325| `mcpServers` | Нет | [MCP servers](/docs/ru/mcp) доступные этому subagent. Каждая запись — это либо имя сервера, ссылающееся на уже настроенный сервер (например, `"slack"`), либо встроенное определение с именем сервера в качестве ключа и полной [конфигурацией MCP server](/docs/ru/mcp#installing-mcp-servers) в качестве значения. Игнорируется для [plugin subagents](#choose-the-subagent-scope) |325| `mcpServers` | Нет | [MCP servers](/docs/ru/mcp) доступные этому subagent. Каждая запись — это либо имя сервера, ссылающееся на уже настроенный сервер (например, `"slack"`), либо встроенное определение с именем сервера в качестве ключа и полной [конфигурацией MCP server](/docs/ru/mcp#installing-mcp-servers) в качестве значения. Игнорируется для [plugin subagents](#choose-the-subagent-scope) |

326| `hooks` | Нет | [Lifecycle hooks](#define-hooks-for-subagents) в области этого subagent. Игнорируется для [plugin subagents](#choose-the-subagent-scope) |326| `hooks` | Нет | [Lifecycle hooks](#define-hooks-for-subagents) в области этого subagent. Игнорируется для [plugin subagents](#choose-the-subagent-scope) |

327| `memory` | Нет | [Область постоянной памяти](#enable-persistent-memory): `user`, `project` или `local`. Включает кросс-сессионное обучение |327| `memory` | Нет | [Область постоянной памяти](#enable-persistent-memory): `user`, `project` или `local`. Включает кросс-сессионное обучение |

328| `background` | Нет | Установите на `true`, чтобы держать этот subagent в фоне даже когда Claude просит запустить его на переднем плане. Где [fork mode](#turn-fork-mode-on-or-off) включен, Claude Code уже запускает subagents, которые Claude порождает, [в фоне](#run-subagents-in-foreground-or-background) |328| `background` | Нет | Задайте `true`, чтобы этот субагент оставался в фоне, даже когда Claude просит дождаться его. По умолчанию субагенты, которых Claude создаёт из основного диалога, уже [запускаются в фоне](#run-subagents-in-foreground-or-background) |

329| `omitClaudeMd` | Нет | Задайте `true`, чтобы запускать этого субагента без пользовательских, проектных и локальных файлов CLAUDE.md в его [начальном контексте](#what-loads-at-startup); [файлы управляемых политик](/docs/ru/memory#how-claude-md-files-load) по-прежнему загружаются, кроме как для [управляемых субагентов](#choose-the-subagent-scope). Используйте для субагентов, которые берут всё необходимое из промпта делегирования. Игнорируется, когда агент работает как основной агент сессии через `--agent` или настройку `agent`. Требуется Claude Code v2.1.271 или новее |329| `omitClaudeMd` | Нет | Задайте `true`, чтобы запускать этого субагента без пользовательских, проектных и локальных файлов CLAUDE.md в его [начальном контексте](#what-loads-at-startup); [файлы управляемых политик](/docs/ru/memory#how-claude-md-files-load) по-прежнему загружаются, кроме как для [управляемых субагентов](#choose-the-subagent-scope). Используйте для субагентов, которые берут всё необходимое из промпта делегирования. Игнорируется, когда агент работает как основной агент сессии через `--agent` или настройку `agent`. Требуется Claude Code v2.1.271 или новее |

330| `effort` | Нет | Уровень effort, пока этот субагент активен. Переопределяет уровень effort сессии, но не переменную окружения [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ru/env-vars#variables). Варианты: `low`, `medium`, `high`, `xhigh`, `max`; доступные уровни зависят от модели. См. [Выбор уровня effort](#choose-an-effort-level) |330| `effort` | Нет | Уровень effort, пока этот субагент активен. Переопределяет уровень effort сессии, но не переменную окружения [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ru/env-vars#variables). Варианты: `low`, `medium`, `high`, `xhigh`, `max`; доступные уровни зависят от модели. См. [Выбор уровня effort](#choose-an-effort-level) |

331| `isolation` | Нет | Установите на `worktree`, чтобы запустить subagent во временном [git worktree](/docs/ru/worktrees), дав ему изолированную копию репозитория, разветвлённую по умолчанию от вашей [ветки по умолчанию](/docs/ru/worktrees#choose-the-base-branch), а не от `HEAD` родительской сессии. Worktree автоматически очищается, если subagent не вносит изменения |331| `isolation` | Нет | Установите на `worktree`, чтобы запустить subagent во временном [git worktree](/docs/ru/worktrees), дав ему изолированную копию репозитория, разветвлённую по умолчанию от вашей [ветки по умолчанию](/docs/ru/worktrees#choose-the-base-branch), а не от `HEAD` родительской сессии. Worktree автоматически очищается, если subagent не вносит изменения |


405 405 

406Чтобы проверить, на какой модели работает субагент, выполните [`/tasks`](/docs/ru/commands). Claude Code указывает модель в строке субагента и добавляет [уровень effort](/docs/ru/model-config#adjust-effort-level), заданный для этого субагента, если он есть. Требуется Claude Code v2.1.242 или новее.406Чтобы проверить, на какой модели работает субагент, выполните [`/tasks`](/docs/ru/commands). Claude Code указывает модель в строке субагента и добавляет [уровень effort](/docs/ru/model-config#adjust-effort-level), заданный для этого субагента, если он есть. Требуется Claude Code v2.1.242 или новее.

407 407 

408Параметр `model` для конкретного вызова также применяется, когда subagent [возобновляется или получает последующее сообщение](#resume-subagents), поэтому subagent остаётся на этой модели. До версии 2.1.211 возобновление отбрасывало значение для конкретного вызова и subagent возвращался к полю `model` его определения или, без него, модели основного разговора.408Параметр `model` конкретного вызова также применяется, когда субагент [возобновляется или получает последующее сообщение](#resume-subagents), поэтому субагент остаётся на этой модели.

409 409 

410Начиная с версии 2.1.198, subagents также наследуют конфигурацию [extended thinking](/docs/ru/model-config#extended-thinking) основного разговора: если thinking включен в вашей сессии, он включен для subagent, и если он выключен, он остаётся выключенным. Нет параметра thinking для каждого subagent. До версии 2.1.198 subagents запускались с отключённым extended thinking независимо от параметра основного разговора.410Начиная с версии 2.1.198, subagents также наследуют конфигурацию [extended thinking](/docs/ru/model-config#extended-thinking) основного разговора: если thinking включен в вашей сессии, он включен для subagent, и если он выключен, он остаётся выключенным. Нет параметра thinking для каждого subagent. До версии 2.1.198 subagents запускались с отключённым extended thinking независимо от параметра основного разговора.

411 411 


501---501---

502```502```

503 503 

504Когда ничего в списке `tools` не разрешается в инструмент, например потому что каждая запись неправильно написана или называет инструмент, который недоступен для subagents, Claude Code обычно отказывается запускать subagent и инструмент Agent возвращает ошибку, называющую неразрешённые записи; см. [Agent would be spawned with zero tools](/docs/ru/errors#agent-would-be-spawned-with-zero-tools) для сообщения и как исправить каждую запись. До версии 2.1.208 этот subagent запускался без инструментов и мог вернуть пустой или запутанный результат.504Если ни одна запись в списке `tools` не соответствует инструменту, например потому что каждая запись написана с ошибкой или называет инструмент, недоступный субагентам, Claude Code обычно отказывается запускать субагента, а инструмент Agent возвращает ошибку с перечнем нераспознанных записей; текст сообщения и способы исправить каждую запись см. в разделе [Agent would be spawned with zero tools](/docs/ru/errors#agent-would-be-spawned-with-zero-tools).

505 505 

506Поля `tools` и `disallowedTools` также принимают записи для целого MCP-сервера:506Поля `tools` и `disallowedTools` также принимают записи для целого MCP-сервера:

507 507 


969* **Субагенты на переднем плане** блокируют основной диалог до своего завершения. Запросы разрешений передаются вам по мере их появления.969* **Субагенты на переднем плане** блокируют основной диалог до своего завершения. Запросы разрешений передаются вам по мере их появления.

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

971 971 

972Для каждого субагента, которого Claude порождает с помощью инструмента Agent, Claude Code выбирает передний план или фон по первому подходящему из следующих случаев:972<h4 id="which-subagents-run-in-the-background">

973 Какие субагенты работают в фоне

974</h4>

975 

976Если ничего не настроено, субагент, которого Claude порождает из основного диалога, запускается в фоне.

973 977 

974* Если субагента породил участник [команды агентов](/docs/ru/agent-teams#limitations), работающий в том же процессе, Claude Code запускает его на переднем плане. Claude Code отказывает с ошибкой в порождении субагента участника команды, в определении которого задано [`background: true`](#supported-frontmatter-fields). Если [режим fork](#turn-fork-mode-on-or-off) выключен и вы не [отключили фоновые задачи](/docs/ru/env-vars), Claude Code также отказывает с ошибкой, когда участник команды задаёт `run_in_background: true`.978* **`claude -p` и Agent SDK**: Claude может дождаться субагента — по собственному решению или по вашей просьбе.

975* Если вы установили [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/ru/env-vars) в `1`, Claude Code запускает субагента на переднем плане — в сессии любого вида и независимо от того, включён ли режим fork.979* **Интерактивная сессия в терминале, VS Code и сессии приложения для компьютера на вашей машине**: чтобы Claude мог дождаться субагента, [выключите режим fork](#let-claude-wait-for-a-subagent), который [включён по умолчанию](#turn-fork-mode-on-or-off).

976* Если [режим fork](#turn-fork-mode-on-or-off) включён, как это по умолчанию бывает в интерактивной сессии, Claude Code запускает субагента в фоне — как форки, так и обычных субагентов, — и Claude не может запросить передний план.

977* Если режим fork выключен, Claude по умолчанию запускает субагента в фоне, а на переднем плане — когда ему нужен результат, чтобы продолжить. Режим fork выключен в [неинтерактивном режиме](/docs/ru/headless) с `-p` и в Agent SDK, если вы его не включите. Чтобы определённый субагент оставался в фоне, даже когда Claude нужен результат, установите поле frontmatter [`background`](#supported-frontmatter-fields) этого субагента в `true`.

978 980 

979Для скилла с `context: fork` Claude Code вместо этого следует правилам из раздела [Запуск скиллов в субагенте](/docs/ru/skills#run-skills-in-a-subagent), независимо от того, включён ли режим fork.981Для скилла с `context: fork` Claude Code вместо этого следует правилам из раздела [Запуск скиллов в субагенте](/docs/ru/skills#run-skills-in-a-subagent), независимо от того, включён ли режим fork.

980 982 

983<h4 id="let-claude-wait-for-a-subagent">

984 Как позволить Claude дождаться субагента

985</h4>

986 

9871. Выключите [режим fork](#turn-fork-mode-on-or-off), задав `CLAUDE_CODE_FORK_SUBAGENT` значение `0`, например в [`settings.json`](/docs/ru/settings):

988 

989 ```json theme={null}

990 {

991 "env": {

992 "CLAUDE_CODE_FORK_SUBAGENT": "0"

993 }

994 }

995 ```

996 

9972. Снова запустите `claude` из оболочки или откройте новый диалог в VS Code.

998 

9993. Попросите Claude подождать, когда вам сначала нужен результат, например "run the reviewer subagent and wait for its report".

1000 

1001Чтобы продолжать работу, пока Claude ждёт, нажмите **Ctrl+B** в терминале или нажмите [**Run in background**](/docs/ru/vs-code#move-a-running-command-or-subagent-to-the-background) в VS Code.

1002 

1003Если вместо выключения режима fork вы установите переменную окружения [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/ru/env-vars) в `1`, Claude будет дожидаться каждого субагента, а фоновые задачи будут отключены, включая **Ctrl+B**.

1004 

1005<h4 id="tools-permissions-and-results-of-background-subagents">

1006 Инструменты, разрешения и результаты фоновых субагентов

1007</h4>

1008 

981Фоновые субагенты работают с [меньшим набором встроенных инструментов](#available-tools), чем субагенты на переднем плане, за исключением форков диалога и [возобновлённых](#resume-subagents) субагентов переднего плана.1009Фоновые субагенты работают с [меньшим набором встроенных инструментов](#available-tools), чем субагенты на переднем плане, за исключением форков диалога и [возобновлённых](#resume-subagents) субагентов переднего плана.

982 1010 

983Фоновые субагенты показывают каждый запрос разрешения в вашей основной сессии. Когда вы отвечаете на такой запрос вариантом, действие которого выходит за рамки одного вызова инструмента, например разрешением до конца сессии, Claude Code применяет ваш ответ ко всей сессии, включая основной диалог.1011Фоновые субагенты показывают каждый запрос разрешения в вашей основной сессии. Когда вы отвечаете на такой запрос вариантом, действие которого выходит за рамки одного вызова инструмента, например разрешением до конца сессии, Claude Code применяет ваш ответ ко всей сессии, включая основной диалог.

984 1012 

985Фоновый субагент может оставить фоновую [команду Bash или PowerShell](/docs/ru/tools-reference#background-commands) [работающей после окончания своего хода](/docs/ru/interactive-mode#how-backgrounding-works). Когда эта команда завершается, Claude Code отправляет субагенту уведомление.1013Фоновый субагент может оставить фоновую [команду Bash или PowerShell](/docs/ru/tools-reference#background-commands) [работающей после окончания своего хода](/docs/ru/interactive-mode#how-backgrounding-works). Когда эта команда завершается, Claude Code отправляет субагенту уведомление.

986 1014 

987Результаты фонового субагента поступают к Claude в виде уведомления о завершении в одном из последующих ходов. Claude дожидается этого уведомления, прежде чем сообщить результаты субагента, а если вы сначала спросите о ходе работы, он сообщит, что субагент ещё работает. До v2.1.211 Claude иногда сообщал результаты фонового субагента, который ещё не завершил работу.1015Результаты фонового субагента поступают к Claude в виде уведомления о завершении в одном из последующих ходов. Claude дожидается этого уведомления, прежде чем сообщить результаты субагента, а если вы сначала спросите о ходе работы, он сообщит, что субагент ещё работает.

988 1016 

989Вы также можете управлять этим самостоятельно:1017<h4 id="finished-subagents-in-the-panel-and-task-list">

990 1018 Завершённые субагенты в панели и списке задач

991* Если режим fork выключен, попросите Claude запустить задачу в фоне или на переднем плане1019</h4>

992* Нажмите **Ctrl+B**, чтобы отправить выполняющуюся задачу в фон

993 1020 

994Claude Code убирает строку фонового субагента из панели субагентов под полем ввода промпта одним из двух способов, в зависимости от того, как завершился субагент:1021Claude Code убирает строку фонового субагента из панели субагентов под полем ввода промпта одним из двух способов, в зависимости от того, как завершился субагент:

995 1022 


1036 1063 

1037[Отчёт фонового субагента](#run-subagents-in-foreground-or-background) поступает внутри уведомления о завершении, которое помечено как автоматическое событие, а не как сообщение от вас.1064[Отчёт фонового субагента](#run-subagents-in-foreground-or-background) поступает внутри уведомления о завершении, которое помечено как автоматическое событие, а не как сообщение от вас.

1038 1065 

1039<Note>

1040 Для сканирования вывода субагентов требуется Claude Code v2.1.210 или новее.

1041</Note>

1042 

1043<h3 id="common-patterns">1066<h3 id="common-patterns">

1044 Распространённые паттерны1067 Распространённые паттерны

1045</h3>1068</h3>


1109 1132 

1110По умолчанию субагент может порождать собственных субагентов — до трёх уровней ниже основного диалога. На пределе глубины Claude Code не предоставляет инструмент `Agent` ни одному субагенту, кроме [форка](#fork-the-current-conversation), поэтому субагент на пределе выполняет делегированную работу сам и возвращает одну сводку. Форк на пределе сохраняет `Agent` в унаследованном списке инструментов, но этот инструмент возвращает ошибку вместо порождения субагента.1133По умолчанию субагент может порождать собственных субагентов — до трёх уровней ниже основного диалога. На пределе глубины Claude Code не предоставляет инструмент `Agent` ни одному субагенту, кроме [форка](#fork-the-current-conversation), поэтому субагент на пределе выполняет делегированную работу сам и возвращает одну сводку. Форк на пределе сохраняет `Agent` в унаследованном списке инструментов, но этот инструмент возвращает ошибку вместо порождения субагента.

1111 1134 

1112Вложенные субагенты подходят для делегированной задачи, которая сама разбивается на параллельные подзадачи, например для субагента-ревьюера, который отправляет верификатора на каждую находку. В интерактивной сессии к вам возвращается только сводка субагента верхнего уровня, а промежуточный вывод остаётся за пределами основного диалога: субагент, запускающий фоновых субагентов, дожидается их результатов, прежде чем завершиться. В [неинтерактивном режиме](/docs/ru/headless) и в Agent SDK запускающий субагент не ждёт, поэтому вложенный фоновый субагент, завершившийся после своего запускающего, отчитывается вместо этого в ваш основной диалог.1135Вложенные субагенты подходят для делегированной задачи, которая сама разбивается на параллельные подзадачи, например для субагента-ревьюера, который отправляет верификатора на каждую находку. По умолчанию запускающий субагент дожидается отчёта каждого вложенного субагента:

1136 

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

1138* **`claude -p` и Agent SDK**: запускающий субагент ждёт, пока включён [режим fork](#turn-fork-mode-on-or-off). Если выключить режим fork, вложенные субагенты вместо этого запускаются в [фоне](#run-subagents-in-foreground-or-background). Запускающий субагент не ждёт фонового вложенного субагента, и тот отчитывается в ваш основной диалог, если завершается позже запускающего.

1113 1139 

1114Чтобы изменить лимит, задайте в [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/ru/env-vars) нужное число уровней субагентов ниже основного диалога. Например, эта запись в [`settings.json`](/docs/ru/settings) ограничивает вложенность двумя уровнями:1140Чтобы изменить лимит, задайте в [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/ru/env-vars) нужное число уровней субагентов ниже основного диалога. Например, эта запись в [`settings.json`](/docs/ru/settings) ограничивает вложенность двумя уровнями:

1115 1141 


1277</h2>1303</h2>

1278 1304 

1279<Note>1305<Note>

1280 Запустите разветвленный subagent с помощью `/subtask`, что требует Claude Code v2.1.212 или позже. Когда [представление агента отключено](/docs/ru/agent-view#turn-off-agent-view), `/subtask` недоступен и `/fork` запускает разветвленный subagent вместо этого; в противном случае `/fork` копирует всю сессию в новую [фоновую сессию](/docs/ru/agent-view#from-inside-a-session).1306 Когда [представление агента отключено](/docs/ru/agent-view#turn-off-agent-view), `/subtask` недоступен, а `/fork` вместо этого запускает разветвлённый субагент; в противном случае `/fork` копирует всю сессию в новую [фоновую сессию](/docs/ru/agent-view#from-inside-a-session).

1281</Note>1307</Note>

1282 1308 

1283Fork — это subagent, который наследует весь разговор до сих пор вместо начала с нуля. Это отбрасывает входную изоляцию, которую subagents иначе предоставляют: fork видит то же системное приглашение, инструменты, модель и историю сообщений, что и основная сессия, поэтому вы можете передать ему побочную задачу без переобъяснения ситуации. Вызовы инструментов fork по-прежнему остаются вне вашего разговора и только его окончательный результат возвращается, поэтому ваше основное контекстное окно остаётся чистым. Используйте fork, когда любой другой subagent потребовал бы слишком много фона, чтобы быть полезным, или когда вы хотите попробовать несколько подходов параллельно с одной и той же отправной точки.1309Fork — это subagent, который наследует весь разговор до сих пор вместо начала с нуля. Это отбрасывает входную изоляцию, которую subagents иначе предоставляют: fork видит то же системное приглашение, инструменты, модель и историю сообщений, что и основная сессия, поэтому вы можете передать ему побочную задачу без переобъяснения ситуации. Вызовы инструментов fork по-прежнему остаются вне вашего разговора и только его окончательный результат возвращается, поэтому ваше основное контекстное окно остаётся чистым. Используйте fork, когда любой другой subagent потребовал бы слишком много фона, чтобы быть полезным, или когда вы хотите попробовать несколько подходов параллельно с одной и той же отправной точки.

1284 1310 

1285Claude запускает fork, запрашивая тип subagent `fork` через инструмент Agent. Вы контролируете, может ли он это делать, с помощью [режима fork](#turn-fork-mode-on-or-off), который включен по умолчанию в интерактивных сессиях.1311Claude может самостоятельно запускать fork, пока режим fork включён, а по умолчанию он включён. Чтобы остановить forks, см. [Отключение режима fork](#turn-fork-mode-on-or-off).

1286 1312 

1287Вы можете запустить fork самостоятельно с помощью `/subtask` за которым следует задача, независимо от того, включен ли режим fork или нет. На v2.1.161 через v2.1.211 команда — это `/fork`. Claude Code называет fork из первых слов задачи. Следующий пример разветвляет разговор для черновика тестовых случаев, пока вы продолжаете с реализацией в основной сессии:1313Вы можете запустить fork самостоятельно с помощью `/subtask`, за которым следует задача, независимо от того, включён ли режим fork. Claude Code называет fork по первым словам задачи. В следующем примере диалог разветвляется для черновика тестовых случаев, пока вы продолжаете реализацию в основной сессии:

1288 1314 

1289```text wrap theme={null}1315```text wrap theme={null}

1290/subtask draft unit tests for the parser changes so far1316/subtask draft unit tests for the parser changes so far


1327| Context | Полная история разговора | Свежий контекст с приглашением, которое вы передаёте |1353| Context | Полная история разговора | Свежий контекст с приглашением, которое вы передаёте |

1328| System prompt and tools | Такие же как основная сессия | Из [файла определения](#write-subagent-files) subagent, [отфильтрованные для фоновых запусков](#available-tools) |1354| System prompt and tools | Такие же как основная сессия | Из [файла определения](#write-subagent-files) subagent, [отфильтрованные для фоновых запусков](#available-tools) |

1329| Model | Такая же как основная сессия | Из поля `model` subagent |1355| Model | Такая же как основная сессия | Из поля `model` subagent |

1330| Permissions | Запросы выводятся в вашем терминале | [Запросы выводятся в вашей основной сессии](#run-subagents-in-foreground-or-background) при запуске в фоне |

1331| Prompt cache | Общий с основной сессией | Отдельный кэш |1356| Prompt cache | Общий с основной сессией | Отдельный кэш |

1332 1357 

1333Поскольку системный промпт и определения инструментов fork идентичны родительским, его первый запрос повторно использует [кэш промптов](/docs/ru/prompt-caching#subagents-and-the-cache) родителя. Благодаря этому повторному использованию fork обходится дешевле, чем новый субагент, для задач, которым нужен тот же контекст.1358Поскольку системный промпт и определения инструментов fork идентичны родительским, его первый запрос повторно использует [кэш промптов](/docs/ru/prompt-caching#subagents-and-the-cache) родителя. Благодаря этому повторному использованию fork обходится дешевле, чем новый субагент, для задач, которым нужен тот же контекст.


1335Когда Claude порождает fork через инструмент Agent, он может передать `isolation: "worktree"`, чтобы редактирования файлов fork были написаны в отдельный git worktree вместо вашего checkout. Fork не может порождать дальнейшие forks.1360Когда Claude порождает fork через инструмент Agent, он может передать `isolation: "worktree"`, чтобы редактирования файлов fork были написаны в отдельный git worktree вместо вашего checkout. Fork не может порождать дальнейшие forks.

1336 1361 

1337<h3 id="turn-fork-mode-on-or-off">1362<h3 id="turn-fork-mode-on-or-off">

1338 Включение или отключение режима fork1363 Отключение режима fork

1339</h3>1364</h3>

1340 1365 

1341Claude Code включает режим fork по умолчанию в интерактивных сессиях и оставляет его отключённым по умолчанию в [non-interactive mode](/docs/ru/headless) с `-p` и в Agent SDK. Интерактивное значение по умолчанию требует Claude Code v2.1.232 или позже. На более ранних версиях установите `CLAUDE_CODE_FORK_SUBAGENT` на `1`, чтобы включить режим fork.1366Режим fork позволяет Claude самостоятельно запускать fork. Чтобы Claude не запускал forks:

1342 

1343Вы можете сказать, что режим fork включен, по тому, как Claude Code обрабатывает инструмент Agent:

1344 

1345* Claude может порождать fork, запрашивая тип subagent `fork`. Когда Claude не запрашивает тип, он получает [general-purpose](#built-in-subagents) subagent, если сессия всё ещё имеет этот тип. Subagents, порождённые из определения, такие как Explore, работают как обычно.

1346* Claude Code запускает subagents, которые Claude порождает, в фоне, forks и non-fork subagents в равной степени, кроме [случаев, которые остаются в переднем плане](#run-subagents-in-foreground-or-background). Claude Code также удаляет параметр `run_in_background` инструмента Agent, поэтому Claude не может просить передний план.

1347 

1348Установите переменную окружения [`CLAUDE_CODE_FORK_SUBAGENT`](/docs/ru/env-vars), чтобы переопределить значения по умолчанию:

1349 1367 

1350* `1` включает режим fork в non-interactive mode и Agent SDK также1368* **Остановить только forks**: добавьте `"Agent(fork)"` в `permissions.deny` в ваших [настройках](#disable-specific-subagents).

1351* `0` отключает режим fork в каждом виде сессии1369* **Отключить режим fork**: установите `CLAUDE_CODE_FORK_SUBAGENT` в `0`, следуя шагам в разделе [Разрешите Claude ждать субагента](#let-claude-wait-for-a-subagent).

1352 1370 

1353Чтобы сохранить режим fork включённым, но остановить Claude от порождения forks, [запретите тип subagent `fork`](#disable-specific-subagents) с помощью правила `Agent(fork)`. Claude Code по-прежнему запускает subagents, которые Claude порождает, в фоне, кроме тех же [случаев, которые остаются в переднем плане](#run-subagents-in-foreground-or-background).1371Пока режим fork включён, Claude также не может [ждать субагента](#run-subagents-in-foreground-or-background) в интерактивных сессиях терминала, VS Code или десктопного приложения на вашем компьютере. Режим fork включён по умолчанию начиная с Claude Code v2.1.302, а в интерактивной сессии терминала — начиная с v2.1.232.

1354 1372 

1355<h2 id="example-subagents">1373<h2 id="example-subagents">

1356 Примеры subagents1374 Примеры subagents

Details

58 58 

59 Если вы приняли приглашение Claude Code для первоначальной настройки терминала, это уже сделано. Это приглашение запускает `/terminal-setup` для вас, что включает Option как Meta и отключает звуковой сигнал в вашем профиле Apple Terminal.59 Если вы приняли приглашение Claude Code для первоначальной настройки терминала, это уже сделано. Это приглашение запускает `/terminal-setup` для вас, что включает Option как Meta и отключает звуковой сигнал в вашем профиле Apple Terminal.

60 60 

61 В [режиме чтения с экрана](/docs/ru/accessibility) `/terminal-setup` оставляет параметр звонка без изменений, чтобы звонок терминала оставался слышимым. До версии 2.1.211 `/terminal-setup` отключал звонок даже в режиме чтения с экрана. Если более ранний запуск отключил звонок, включите его снова в Settings → Profiles → Advanced → "Audible bell".61 В [режиме чтения с экрана](/docs/ru/accessibility) `/terminal-setup` оставляет параметр звонка без изменений, чтобы звонок терминала оставался слышимым. Если более ранний запуск отключил звонок, включите его снова в Settings → Profiles → Advanced → "Audible bell".

62 </Tab>62 </Tab>

63 63 

64 <Tab title="iTerm2">64 <Tab title="iTerm2">

tools-reference.md +25 −25

Details

26| `CronDelete` | Отменяет запланированную задачу по ID | No |26| `CronDelete` | Отменяет запланированную задачу по ID | No |

27| `CronList` | Выводит список всех запланированных задач в сеансе | No |27| `CronList` | Выводит список всех запланированных задач в сеансе | No |

28| `Edit` | Вносит целевые изменения в конкретные файлы. См. [Поведение инструмента Edit](#edit-tool-behavior) | Yes |28| `Edit` | Вносит целевые изменения в конкретные файлы. См. [Поведение инструмента Edit](#edit-tool-behavior) | Yes |

29| `EndConversation` | Завершает сеанс в редких случаях постоянного оскорбительного ввода или когда вы просите Claude продемонстрировать инструмент. Требует Claude Code v2.1.213 или позже. См. [Поведение инструмента EndConversation](#endconversation-tool-behavior) | No |29| `EndConversation` | Завершает сессию в редких случаях постоянного оскорбительного ввода или когда вы просите Claude продемонстрировать инструмент. См. [Поведение инструмента EndConversation](#endconversation-tool-behavior) | No |

30| `EnterPlanMode` | Переключается в режим планирования для разработки подхода перед кодированием | No |30| `EnterPlanMode` | Переключается в режим планирования для разработки подхода перед кодированием | No |

31| `EnterWorktree` | Создает изолированный [git worktree](/docs/ru/worktrees) и переключается в него. Передайте `path` для переключения в существующий worktree вместо создания нового. При первом входе целевой путь может быть worktree текущего репозитория или, в многорепозиторном рабочем пространстве, репозитория, вложенного в него. До v2.1.203 worktree вложенного репозитория был отклонен. `path` вне `.claude/worktrees/` запрашивает ваше одобрение перед входом, так как он перемещает рабочий каталог сеанса и доступ на запись в это место. Создание новых worktrees и пути под `.claude/worktrees/` не запрашивают разрешение. До v2.1.206 Claude входил в пути вне `.claude/worktrees/` без запроса. Из сеанса worktree или из подагента с закрепленным рабочим каталогом, таким как [`isolation: worktree`](/docs/ru/sub-agents#supported-frontmatter-fields), доступна только форма `path` и целевой путь должен быть под `.claude/worktrees/` репозитория сеанса | Yes |31| `EnterWorktree` | Создает изолированный [git worktree](/docs/ru/worktrees) и переключается в него. Передайте `path` для переключения в существующий worktree вместо создания нового. При первом входе целевой путь может быть worktree текущего репозитория или, в многорепозиторном рабочем пространстве, репозитория, вложенного в него. До v2.1.203 worktree вложенного репозитория был отклонен. `path` вне `.claude/worktrees/` запрашивает ваше одобрение перед входом, так как он перемещает рабочий каталог сеанса и доступ на запись в это место. Создание новых worktrees и пути под `.claude/worktrees/` не запрашивают разрешение. До v2.1.206 Claude входил в пути вне `.claude/worktrees/` без запроса. Из сеанса worktree или из подагента с закрепленным рабочим каталогом, таким как [`isolation: worktree`](/docs/ru/sub-agents#supported-frontmatter-fields), доступна только форма `path` и целевой путь должен быть под `.claude/worktrees/` репозитория сеанса | Yes |

32| `ExitPlanMode` | Представляет план для одобрения и выходит из режима планирования | Yes |32| `ExitPlanMode` | Представляет план для одобрения и выходит из режима планирования | Yes |


48| `SendFeedback` | Составляет отчет об обратной связи о Claude Code, охватывающий проблему продукта или поведение Claude в сеансе, и ставит его в очередь на вашей машине для вашего просмотра. Claude Code ничего не отправляет, пока вы не выберете отправить черновик. См. [Поведение инструмента SendFeedback](#sendfeedback-tool-behavior). Требует Claude Code v2.1.238 или позже | No |48| `SendFeedback` | Составляет отчет об обратной связи о Claude Code, охватывающий проблему продукта или поведение Claude в сеансе, и ставит его в очередь на вашей машине для вашего просмотра. Claude Code ничего не отправляет, пока вы не выберете отправить черновик. См. [Поведение инструмента SendFeedback](#sendfeedback-tool-behavior). Требует Claude Code v2.1.238 или позже | No |

49| `SendMessage` | Отправляет сообщение другому агенту: товарищу по команде [команды агентов](/docs/ru/agent-teams), [подагенту, который он возобновляет](/docs/ru/sub-agents#resume-subagents) по ID или имени агента, или одному из ваших других сеансов Claude Code, на этой машине или за ее пределами. Обмен сообщениями с другими сеансами требует Claude Code v2.1.224 или позже. [Обмен сообщениями между сеансами](/docs/ru/cross-session-messaging) охватывает, какие сеансы Claude может достичь, [как выглядит сообщение, когда оно прибывает](/docs/ru/cross-session-messaging#what-a-message-looks-like), и [как Claude получает уведомление, когда другой сеанс переходит в режим ожидания](/docs/ru/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude может включить необязательный ввод `summary`, обычно 5-10 слов, который Claude Code показывает как однострочный предпросмотр. Когда Claude опускает его в [простом текстовом сообщении](/docs/ru/cross-session-messaging#limitations), Claude Code использует первую строку сообщения как резюме. Claude Code обрезает резюме длиннее 200 символов с многоточием | No |49| `SendMessage` | Отправляет сообщение другому агенту: товарищу по команде [команды агентов](/docs/ru/agent-teams), [подагенту, который он возобновляет](/docs/ru/sub-agents#resume-subagents) по ID или имени агента, или одному из ваших других сеансов Claude Code, на этой машине или за ее пределами. Обмен сообщениями с другими сеансами требует Claude Code v2.1.224 или позже. [Обмен сообщениями между сеансами](/docs/ru/cross-session-messaging) охватывает, какие сеансы Claude может достичь, [как выглядит сообщение, когда оно прибывает](/docs/ru/cross-session-messaging#what-a-message-looks-like), и [как Claude получает уведомление, когда другой сеанс переходит в режим ожидания](/docs/ru/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude может включить необязательный ввод `summary`, обычно 5-10 слов, который Claude Code показывает как однострочный предпросмотр. Когда Claude опускает его в [простом текстовом сообщении](/docs/ru/cross-session-messaging#limitations), Claude Code использует первую строку сообщения как резюме. Claude Code обрезает резюме длиннее 200 символов с многоточием | No |

50| `SendUserFile` | Отправляет вам файлы из сессии с необязательной подписью, чтобы созданный отчет, диаграмма, снимок экрана или собранный артефакт попал на ваше устройство, а не только упоминался в транскрипте. Необязательный ввод `display` управляет представлением: `render` открывает файл встроенным в клиент, `attach` показывает только карточку загрузки, а если он не задан, клиент решает по типу файла. Доступно, когда подключен клиент [Remote Control](/docs/ru/remote-control), или в [облачной сессии](/docs/ru/claude-code-on-the-web). Доставка осуществляется через инфраструктуру, размещенную Anthropic, поэтому инструмент недоступен на Amazon Bedrock, Agent Platform Google Cloud или Microsoft Foundry | No |50| `SendUserFile` | Отправляет вам файлы из сессии с необязательной подписью, чтобы созданный отчет, диаграмма, снимок экрана или собранный артефакт попал на ваше устройство, а не только упоминался в транскрипте. Необязательный ввод `display` управляет представлением: `render` открывает файл встроенным в клиент, `attach` показывает только карточку загрузки, а если он не задан, клиент решает по типу файла. Доступно, когда подключен клиент [Remote Control](/docs/ru/remote-control), или в [облачной сессии](/docs/ru/claude-code-on-the-web). Доставка осуществляется через инфраструктуру, размещенную Anthropic, поэтому инструмент недоступен на Amazon Bedrock, Agent Platform Google Cloud или Microsoft Foundry | No |

51| `ShareOnboardingGuide` | Загружает `ONBOARDING.md` и возвращает ссылку для общего доступа, которую товарищи по команде могут открыть в Claude Code. Вызывается из `/team-onboarding` после написания руководства. Доступно подписчикам claude.ai в планах Pro, Max, Team и Enterprise | Yes |51| `ShareOnboardingGuide` | Загружает `ONBOARDING.md` и возвращает ссылку для общего доступа, которую участники команды могут открыть в Claude Code. Вызывается из `/team-onboarding` после написания руководства. Доступно подписчикам claude.ai в планах Team и Enterprise | Yes |

52| `Skill` | Выполняет [skill](/docs/ru/skills#control-who-invokes-a-skill) в основном разговоре | Yes |52| `Skill` | Выполняет [skill](/docs/ru/skills#control-who-invokes-a-skill) в основном разговоре | Yes |

53| `SubagentHandback` | Доставляет финальный отчет подагента в разговор, который получает результат этого подагента. Предоставляется только в [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), подагентам, которых запускает инструмент Agent локально, кроме [форков](/docs/ru/sub-agents#fork-the-current-conversation), и доступно в терминальном CLI, расширениях IDE, облачных сеансах и Agent SDK; классификатор проверяет отчет перед его доставкой. Требует Claude Code v2.1.271 или позже | No |53| `SubagentHandback` | Доставляет финальный отчет подагента в разговор, который получает результат этого подагента. Предоставляется только в [режиме auto](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode), подагентам, которых запускает инструмент Agent локально, кроме [форков](/docs/ru/sub-agents#fork-the-current-conversation), и доступно в терминальном CLI, расширениях IDE, облачных сеансах и Agent SDK; классификатор проверяет отчет перед его доставкой. Требует Claude Code v2.1.271 или позже | No |

54| `TaskCreate` | Создает новую задачу в списке задач. Предоставляется по умолчанию только на моделях, перечисленных в [Доступность инструмента Task](#task-tool-availability), и на других моделях, когда вы согласитесь | No |54| `TaskCreate` | Создает новую задачу в списке задач. Предоставляется по умолчанию только на моделях, перечисленных в [Доступность инструмента Task](#task-tool-availability), и на других моделях, когда вы согласитесь | No |


92 92 

93Инструменты, не указанные здесь, такие как `ExitPlanMode` или `ShareOnboardingGuide`, принимают только простое имя инструмента без спецификатора.93Инструменты, не указанные здесь, такие как `ExitPlanMode` или `ShareOnboardingGuide`, принимают только простое имя инструмента без спецификатора.

94 94 

95Правило разрешения `Edit(...)` также предоставляет доступ на чтение к тому же пути, поэтому вам не нужно соответствующее правило `Read(...)`. Правило запрета `Read(...)` также блокирует инструменты Edit и Write на том же пути, включая создание нового файла там, потому что оба инструмента изменяют содержимое, которое Claude должен иметь возможность прочитать обратно. Проверка запрета `Read` требует Claude Code v2.1.208 или более поздней версии при редактировании, и v2.1.228 или более поздней версии при записи.95Разрешающее правило `Edit(...)` также предоставляет доступ на чтение к тому же пути, поэтому вам не нужно соответствующее правило `Read(...)`. Запрещающее правило `Read(...)` также блокирует инструменты Edit и Write на том же пути, включая создание нового файла там, потому что оба инструмента изменяют содержимое, которое Claude должен иметь возможность прочитать обратно. Для инструмента Write проверка запрета `Read` требует Claude Code v2.1.228 или более поздней версии.

96 96 

97Поля `matcher` hook используют простые имена инструментов, а не формат в скобках. Смотрите [шаблоны matcher](/docs/ru/hooks#matcher-patterns) для правил сопоставления. Для имён полей, которые каждый инструмент передаёт в `tool_input` в hooks, смотрите [справочник входных данных PreToolUse](/docs/ru/hooks#pretooluse-input).97Поля `matcher` hook используют простые имена инструментов, а не формат в скобках. Смотрите [шаблоны matcher](/docs/ru/hooks#matcher-patterns) для правил сопоставления. Для имён полей, которые каждый инструмент передаёт в `tool_input` в hooks, смотрите [справочник входных данных PreToolUse](/docs/ru/hooks#pretooluse-input).

98 98 


100 Поведение инструмента Agent100 Поведение инструмента Agent

101</h2>101</h2>

102 102 

103Инструмент Agent запускает подагента в отдельном окне контекста. Подагент самостоятельно выполняет свою задачу, а затем возвращает один текстовый результат в родительский диалог. Родитель не видит промежуточные вызовы инструментов или выходные данные подагента, только этот финальный результат. Если включены [команды агентов](/docs/ru/agent-teams), вызов с параметром `name` может запустить [товарища по команде](/docs/ru/agent-teams#how-claude-starts-agent-teams), который отправляет отчет через сообщения команды, а не путем возврата результата.103Инструмент Agent запускает субагента в отдельном контекстном окне. Субагент самостоятельно выполняет свою задачу, а затем возвращает свой результат в родительский диалог. Родитель не видит промежуточные вызовы инструментов или выходные данные субагента, только этот финальный результат. Тот же инструмент также может запустить участника команды или разветвление:

104 104 

105Чтобы ограничить количество ходов, которые выполняет подагент, установите `maxTurns` в [определении подагента](/docs/ru/sub-agents#supported-frontmatter-fields). Когда подагент достигает лимита, Claude Code отмечает возвращаемый результат как частичный выход, и Claude может [возобновить подагента](/docs/ru/sub-agents#resume-subagents) для продолжения.105* **Участник команды**: если включены [команды агентов](/docs/ru/agent-teams), вызов с параметром `name` может вместо этого запустить [участника команды](/docs/ru/agent-teams#how-claude-starts-agent-teams), который отправляет отчет через сообщения команды, а не путем возврата результата

106* **Разветвление**: везде, где включен [режим fork](/docs/ru/sub-agents#turn-fork-mode-on-or-off), инструмент может запустить [разветвленного субагента](/docs/ru/sub-agents#fork-the-current-conversation), который наследует полный родительский диалог вместо начала с нуля

106 107 

107Тот же инструмент Agent также запускает [разветвленные подагенты](/docs/ru/sub-agents#fork-the-current-conversation) везде, где включен [режим fork](/docs/ru/sub-agents#turn-fork-mode-on-or-off). Разветвление наследует полный родительский диалог вместо начала с нуля, работает в фоновом режиме, кроме [случаев, которые остаются на переднем плане](/docs/ru/sub-agents#run-subagents-in-foreground-or-background), и по-прежнему выводит запросы разрешений в вашем терминале. Остальная часть этого раздела описывает подагентов без разветвления.108Чтобы ограничить количество ходов, которые выполняет подагент, установите `maxTurns` в [определении подагента](/docs/ru/sub-agents#supported-frontmatter-fields). Когда подагент достигает лимита, Claude Code отмечает возвращаемый результат как частичный выход, и Claude может [возобновить подагента](/docs/ru/sub-agents#resume-subagents) для продолжения.

108 109 

109Какие инструменты может использовать подагент без разветвления, зависит от полей `tools` и `disallowedTools` в [определении подагента](/docs/ru/sub-agents):110Какие инструменты может использовать подагент без разветвления, зависит от полей `tools` и `disallowedTools` в [определении подагента](/docs/ru/sub-agents):

110 111 


279 280 

280Инструмент Edit выполняет точную замену строк. Он принимает `old_string` и `new_string` и заменяет первую на вторую. Он не использует регулярные выражения или нечеткое совпадение.281Инструмент Edit выполняет точную замену строк. Он принимает `old_string` и `new_string` и заменяет первую на вторую. Он не использует регулярные выражения или нечеткое совпадение.

281 282 

282Для применения редактирования должны пройти следующие проверки. Перед любой из них путь, соответствующий [правилу отказа `Read`](/docs/ru/permissions#tool-specific-permission-rules), отклоняется, включая создание нового файла там. Отказ требует Claude Code v2.1.208 или позже.283Для применения редактирования должны пройти следующие проверки. Перед любой из них путь, соответствующий [правилу отказа `Read`](/docs/ru/permissions#tool-specific-permission-rules), отклоняется, включая создание нового файла там.

283 284 

284* **Read-before-edit**: Claude читает файл в текущем диалоге перед его редактированием, и чтение, прерванное уведомлением [`PARTIAL view`](#large-files), не учитывается. Claude Opus 4.6, Claude Haiku 4.5 и более старые модели всегда требуют чтения. Более новые модели могут редактировать непрочитанный файл, когда его чтение не потребовало бы запроса разрешения и инструмент Read доступен.285* **Read-before-edit**: Claude читает файл в текущем диалоге перед его редактированием, и чтение, прерванное уведомлением [`PARTIAL view`](#large-files), не учитывается. Claude Opus 4.6, Claude Haiku 4.5 и более старые модели всегда требуют чтения. Более новые модели могут редактировать непрочитанный файл, когда его чтение не потребовало бы запроса разрешения и инструмент Read доступен.

285* **Match**: `old_string` должна появиться в файле ровно так, как написано. Даже одного символа пробела или различия в отступе достаточно, чтобы не совпасть.286* **Match**: `old_string` должна появиться в файле ровно так, как написано. Даже одного символа пробела или различия в отступе достаточно, чтобы не совпасть.

286* **Uniqueness**: `old_string` должна появиться ровно один раз. Когда она появляется более одного раза, Claude либо предоставляет более длинную строку с достаточным окружающим контекстом, чтобы определить одно вхождение, либо устанавливает `replace_all: true` для замены всех вхождений.287* **Uniqueness**: `old_string` должна появиться ровно один раз. Когда она появляется более одного раза, Claude либо предоставляет более длинную строку с достаточным окружающим контекстом, чтобы определить одно вхождение, либо устанавливает `replace_all: true` для замены всех вхождений.

287 288 

288Файл, который изменился на диске после последнего чтения Claude, все еще может быть отредактирован, когда `old_string` точно совпадает с текущим содержимым однозначно и Claude Code может прочитать файл без запроса. Сопоставление с текущим содержимым файла обеспечивает безопасность, и результат отмечает, что файл содержит другие изменения, поэтому Claude перечитывает его перед редактированиями, которые зависят от окружающего содержимого. В любом другом случае, например при устаревшей `old_string` или той, которая совпадает более одного раза без `replace_all`, Claude читает файл снова перед редактированием. Расслабленная обработка непрочитанных и измененных файлов требует Claude Code v2.1.208 или позже; до этого Claude Code отказывал в любом редактировании файла, который он не читал в разговоре или который изменился на диске после чтения.289Файл, который изменился на диске после последнего чтения Claude, все еще может быть отредактирован, когда `old_string` точно совпадает с текущим содержимым однозначно и Claude Code может прочитать файл без запроса. Сопоставление с текущим содержимым файла обеспечивает безопасность, и результат отмечает, что файл содержит другие изменения, поэтому Claude перечитывает его перед редактированиями, которые зависят от окружающего содержимого. В любом другом случае, например при устаревшей `old_string` или той, которая совпадает более одного раза без `replace_all`, Claude читает файл снова перед редактированием.

289 290 

290Claude также может редактировать файл без отдельного вызова Read после того, как просмотрит его с помощью команды Bash, например `cat` или `grep`. Это команды `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep` и `rg`, каждая из которых запускается на одном файле без конвейеров или перенаправлений. Поиск, который не вывел ни одного совпадения, не считается чтением, как и любая команда вне этого списка.291Claude также может редактировать файл без отдельного вызова Read после того, как просмотрит его с помощью команды Bash, например `cat` или `grep`. Это команды `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep` и `rg`, каждая из которых запускается на одном файле без конвейеров или перенаправлений. Поиск, который не вывел ни одного совпадения, не считается чтением, как и любая команда вне этого списка.

291 292 


322 323 

323Инструмент появляется только когда выполняются все следующие условия:324Инструмент появляется только когда выполняются все следующие условия:

324 325 

325* **Версия**: Claude Code v2.1.213 или позже.

326* **Модель**: модель сессии — Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5 или более поздняя версия одного из этих семейств.326* **Модель**: модель сессии — Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5 или более поздняя версия одного из этих семейств.

327* **Поверхность**: интерактивная сессия терминала, включая сессию `claude` в интегрированном терминале IDE, что является тем, как [плагин JetBrains](/docs/ru/jetbrains) его запускает. Другие поверхности не включают инструмент, такие как:327* **Поверхность**: интерактивная сессия терминала, включая сессию `claude` в интегрированном терминале IDE, что является тем, как [плагин JetBrains](/docs/ru/jetbrains) его запускает. Другие поверхности не включают инструмент, такие как:

328 * неинтерактивные запуски `-p`328 * неинтерактивные запуски `-p`


337 Поведение инструмента Glob337 Поведение инструмента Glob

338</h2>338</h2>

339 339 

340Инструмент Glob находит файлы по шаблону имени. На Windows он входит в набор инструментов по умолчанию. На macOS, Linux и WSL Claude Code исключает Glob и [Grep](#grep-tool-behavior) из набора инструментов по умолчанию, и Claude выполняет поиск с помощью `find` и `grep` через инструмент Bash. В оболочке Claude эти две команды запускают встроенные версии `bfs` и `ugrep`, и поиск достигает ваших hooks и правил разрешений как вызовы `Bash`.340Инструмент Glob находит файлы по шаблону имени. На Windows он входит в набор инструментов по умолчанию. На macOS, Linux и WSL Claude Code исключает Glob и [Grep](#grep-tool-behavior) из набора инструментов по умолчанию, и Claude выполняет поиск с помощью `find` и `grep` через инструмент Bash. В оболочке Claude эти две команды запускают встроенные версии `bfs` и `ugrep`, и поиск достигает ваших хуков и правил разрешений как вызовы `Bash`.

341 341 

342На macOS, Linux и WSL вы получаете инструменты Glob и Grep обратно в этих случаях:342На macOS, Linux и WSL вы получаете инструменты Glob и Grep обратно в этих случаях:

343 343 

344* Вы указываете `Glob` или `Grep` в [`--tools` или `--allowedTools`](/docs/ru/cli-reference#cli-flags) при запуске сеанса или в эквивалентных параметрах [Agent SDK](/docs/ru/agent-sdk/overview). С `--tools` вы получаете те, которые указали, а указание любого инструмента в `--allowedTools` восстанавливает оба. Правило разрешения в файле параметров не имеет этого эффекта.344* Вы указываете `Glob` или `Grep` в [`--tools` или `--allowedTools`](/docs/ru/cli-reference#cli-flags) при запуске сессии или в эквивалентных параметрах [Agent SDK](/docs/ru/agent-sdk/overview). С `--tools` вы получаете те, которые указали, а указание любого инструмента в `--allowedTools` восстанавливает оба. Разрешающее правило в файле настроек не имеет этого эффекта.

345* Правило разрешений [deny](/docs/ru/permissions#match-all-uses-of-a-tool), флаг `--disallowedTools` или [`--restricted`](/docs/ru/cli-reference#cli-flags) удаляет `Bash` из сеанса.345* Правило разрешений [deny](/docs/ru/permissions#match-all-uses-of-a-tool), флаг `--disallowedTools` или [`--restricted`](/docs/ru/cli-reference#cli-flags) удаляет `Bash` из сессии.

346* [Подагент](/docs/ru/sub-agents#available-tools) указывает `Glob` или `Grep` в своем поле `tools` и исключает `Bash`. Указанные инструменты возвращаются только для этого подагента или для всего сеанса, когда он запускается как основной агент сеанса через [`--agent`](/docs/ru/sub-agents#invoke-subagents-explicitly) или параметр `agent`.346* [Субагент](/docs/ru/sub-agents#available-tools) указывает `Glob` или `Grep` в своем поле `tools` и исключает `Bash`. Указанные инструменты возвращаются только для этого субагента или для всей сессии, когда он запускается как основной агент сессии через [`--agent`](/docs/ru/sub-agents#invoke-subagents-explicitly) или настройку `agent`.

347 347 

348Glob поддерживает стандартный синтаксис glob, включая `**` для рекурсивного сопоставления каталогов:348Glob поддерживает стандартный синтаксис glob, включая `**` для рекурсивного сопоставления каталогов:

349 349 


357 357 

358Claude Code определяет разрешение для вызова Glob перед проверкой существования каталога поиска. Он по-прежнему выполняет проверку разрешения на чтение для отсутствующего `path` вне [рабочих каталогов](/docs/ru/permissions#working-directories), поэтому запрос разрешения для пути не означает, что путь существует.358Claude Code определяет разрешение для вызова Glob перед проверкой существования каталога поиска. Он по-прежнему выполняет проверку разрешения на чтение для отсутствующего `path` вне [рабочих каталогов](/docs/ru/permissions#working-directories), поэтому запрос разрешения для пути не означает, что путь существует.

359 359 

360Значение `pattern` или `path`, содержащее нулевой байт, возвращает ошибку с просьбой к Claude удалить его.&#x20;360Значение `pattern` или `path`, содержащее нулевой байт, возвращает ошибку с просьбой к Claude удалить его.

361 361 

362<h2 id="grep-tool-behavior">362<h2 id="grep-tool-behavior">

363 Поведение инструмента Grep363 Поведение инструмента Grep


373 373 

374* `files_with_matches`: только пути файлов, без содержимого строк. Это режим по умолчанию.374* `files_with_matches`: только пути файлов, без содержимого строк. Это режим по умолчанию.

375* `content`: совпадающие строки с файлом и номером строки. Когда параметр `offset` инструмента указывает за последнее совпадение для шаблона, который имеет совпадения, Grep возвращает `No entries at this offset`, поэтому Claude расширяет или сбрасывает смещение вместо того, чтобы заключить, что шаблон не совпадает.375* `content`: совпадающие строки с файлом и номером строки. Когда параметр `offset` инструмента указывает за последнее совпадение для шаблона, который имеет совпадения, Grep возвращает `No entries at this offset`, поэтому Claude расширяет или сбрасывает смещение вместо того, чтобы заключить, что шаблон не совпадает.

376* `count`: количество совпадений на файл, за которым следует итого по всем совпадающим файлам. Итого охватывает каждое совпадение, даже когда параметры `head_limit` или `offset` инструмента усекают перечисленные записи для каждого файла. До версии 2.1.208 итого суммировало только перечисленные записи.376* `count`: количество совпадений на файл, за которым следует итого по всем совпадающим файлам. Итого охватывает каждое совпадение, даже когда параметры `head_limit` или `offset` инструмента усекают перечисленные записи для каждого файла.

377 377 

378Claude может ограничить результаты по файлу с помощью параметра `glob`, такого как `**/*.tsx`, или по языку с помощью параметра `type`, такого как `py` или `rust`. По умолчанию шаблоны совпадают в пределах одной строки. Claude может установить `multiline: true` для совпадения через границы строк.378Claude может ограничить результаты по файлу с помощью параметра `glob`, такого как `**/*.tsx`, или по языку с помощью параметра `type`, такого как `py` или `rust`. По умолчанию шаблоны совпадают в пределах одной строки. Claude может установить `multiline: true` для совпадения через границы строк.

379 379 


536 Кодировка Windows и коды выхода536 Кодировка Windows и коды выхода

537</h3>537</h3>

538 538 

539В Windows следующие поведения кодировки PowerShell и кодов выхода требуют Claude Code v2.1.214 или более поздней версии:

540 

541* Перенаправление с `>` и `>>` записывает файлы UTF-8 в PowerShell 5.1539* Перенаправление с `>` и `>>` записывает файлы UTF-8 в PowerShell 5.1

542* Claude Code кодирует текст, переданный в стандартный ввод собственной команды, как UTF-8540* Claude Code кодирует текст, переданный в стандартный ввод собственной команды, как UTF-8

543* Claude Code захватывает вывод ошибок без последовательностей экранирования ANSI541* Claude Code захватывает вывод ошибок без последовательностей экранирования ANSI

544* Команда, дочерний процесс которой ожидает стандартного ввода, получает конец файла вместо зависания542* Команда, дочерний процесс которой ожидает стандартного ввода, получает конец файла вместо зависания

545* Код выхода 1 из `where.exe` означает отсутствие совпадения, а из `fc.exe` и `diff.exe` означает, что файлы отличаются, поэтому когда команда выдает вывод, Claude Code рассматривает этот код выхода как действительный отрицательный ответ, а не ошибку команды. Claude Code по-прежнему сообщает о подавленной форме, такой как `where.exe /Q` или перенаправление в `$null`, как об ошибке при коде выхода 1543* Код выхода 1 из `where.exe` означает отсутствие совпадения, а из `fc.exe` и `diff.exe` означает, что файлы отличаются, поэтому когда команда выдает вывод, Claude Code рассматривает этот код выхода как действительный отрицательный ответ, а не ошибку команды. Claude Code по-прежнему сообщает о подавленной форме, такой как `where.exe /Q` или перенаправление в `$null`, как об ошибке при коде выхода 1

546 544 

547До v2.1.214 `>` в PowerShell 5.1 записывал файлы UTF-16LE, не-ASCII входные данные, переданные по конвейеру, поступали как `?`, и скрипты Python могли аварийно завершиться с `UnicodeEncodeError` при выводе символов не-ASCII.

548 

549<h3 id="preview-limitations">545<h3 id="preview-limitations">

550 Ограничения предварительного просмотра546 Ограничения предварительного просмотра

551</h3>547</h3>


561 557 

562Инструмент Read принимает путь к файлу и возвращает его содержимое с номерами строк. Claude инструктирован всегда передавать абсолютные пути.558Инструмент Read принимает путь к файлу и возвращает его содержимое с номерами строк. Claude инструктирован всегда передавать абсолютные пути.

563 559 

564Чтение пустого файла возвращает уведомление о том, что файл существует, но его содержимое пусто, а `offset` за последней строкой возвращает уведомление, дающее количество строк файла. До версии 2.1.208 чтение пустого файла возвращало уведомление о конце вместо этого.560Чтение пустого файла возвращает уведомление о том, что файл существует, но его содержимое пусто, а `offset` за последней строкой возвращает уведомление, дающее количество строк файла.

565 561 

566Read обрабатывает несколько типов файлов помимо простого текста:562Read обрабатывает несколько типов файлов помимо простого текста:

567 563 

568* **Изображения**: PNG, JPG и другие форматы изображений возвращаются как визуальное содержимое, которое Claude может видеть, а не как необработанные байты. Claude Code изменяет размер и переупаковывает большие изображения, чтобы они соответствовали ограничениям размера изображения модели перед отправкой, поэтому Claude может видеть уменьшенную версию большого снимка экрана. Изображение, которое все еще больше 500 КБ после этого изменения размера, перекодируется в JPEG с пониженным качеством с неизменными размерами в пикселях. Если Claude пропустит мелкие детали на уровне пикселей в большом изображении, попросите его сначала обрезать интересующий регион, например с помощью ImageMagick через Bash.564* **Изображения**: файлы PNG, JPEG, GIF и WebP возвращаются как визуальное содержимое, которое Claude может видеть, а не как необработанные байты. Claude Code изменяет размер и повторно сжимает большие изображения, чтобы они соответствовали ограничениям размера изображения модели перед отправкой, поэтому Claude может видеть уменьшенную версию большого снимка экрана.

565 

566 Если Claude пропустит мелкие детали на уровне пикселей в большом изображении, попросите его обрезать интересующий вас регион, например с помощью ImageMagick через Bash, а затем прочитать обрезанное изображение.

569* **PDF-файлы**: Claude читает короткие файлы `.pdf` целиком. Для PDF-файлов длиннее 10 страниц он читает диапазоны с параметром `pages`, таким как `"1-5"`, до 20 страниц за раз. Чтение диапазонов страниц отображает страницы с помощью `pdftoppm` из poppler-utils, поэтому установите его с помощью `brew install poppler` на macOS или `apt-get install poppler-utils` на Debian и Ubuntu. На Windows и других платформах установите сборку poppler, которая помещает `pdftoppm` в ваш `PATH`. Без этого чтение диапазона страниц завершается ошибкой `pdftoppm is not installed`.567* **PDF-файлы**: Claude читает короткие файлы `.pdf` целиком. Для PDF-файлов длиннее 10 страниц он читает диапазоны с параметром `pages`, таким как `"1-5"`, до 20 страниц за раз. Чтение диапазонов страниц отображает страницы с помощью `pdftoppm` из poppler-utils, поэтому установите его с помощью `brew install poppler` на macOS или `apt-get install poppler-utils` на Debian и Ubuntu. На Windows и других платформах установите сборку poppler, которая помещает `pdftoppm` в ваш `PATH`. Без этого чтение диапазона страниц завершается ошибкой `pdftoppm is not installed`.

570* **Jupyter notebooks**: файлы `.ipynb` возвращают все ячейки с их выводом, включая код, markdown и визуализации. Notebook, ячейки которого в сумме занимают более 256 КБ или превышают [лимит токенов](#large-files), вместо этого возвращает ошибку. Claude Code отказывается читать файл notebook размером более 100 МБ; ошибка сообщает Claude, как прочитать часть notebook вместо этого, например срез ячеек, с помощью команды shell.568* **Jupyter notebooks**: файлы `.ipynb` возвращают все ячейки с их выводом, включая код, markdown и визуализации. Notebook, ячейки которого в сумме занимают более 256 КБ или превышают [лимит токенов](#large-files), вместо этого возвращает ошибку. Claude Code отказывается читать файл notebook размером более 100 МБ; ошибка сообщает Claude, как прочитать часть notebook вместо этого, например срез ячеек, с помощью команды shell.

571 569 

572Read читает только файлы, а не директории. Claude выводит содержимое директории с помощью команды shell, такой как `ls`.570Read читает только файлы, а не директории. Claude выводит содержимое директории с помощью команды shell, такой как `ls`.

573 571 

572Read отказывается читать файл, расширение которого он считает двоичным, например `.xlsx`, `.parquet`, `.heic` или `.zip`. После отказа Claude продолжает работу: ошибка предлагает скилл для этого типа файлов, если он доступен, или же shell-команду или скрипт, который читает этот формат. Если вы [упомянете через `@`](/docs/ru/common-workflows#reference-files-and-directories) файл, который Read отказывается читать, Claude получит путь к файлу, но не его содержимое.

573 

574<h3 id="large-files">574<h3 id="large-files">

575 Большие файлы575 Большие файлы

576</h3>576</h3>


691* WebFetch кэширует каждый ответ на 15 минут по умолчанию, поэтому повторные загрузки одного и того же URL возвращаются быстро. На Claude Code v2.1.233 или позже установите [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/ru/env-vars#variables) для изменения того, как долго WebFetch хранит каждый ответ.691* WebFetch кэширует каждый ответ на 15 минут по умолчанию, поэтому повторные загрузки одного и того же URL возвращаются быстро. На Claude Code v2.1.233 или позже установите [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/ru/env-vars#variables) для изменения того, как долго WebFetch хранит каждый ответ.

692* Страница, которая не завершила загрузку в течение пяти минут, включая любые перенаправления, которые следует WebFetch, завершается ошибкой истечения срока. На Claude Code v2.1.268 или позже установите [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/ru/env-vars#variables) для изменения ограничения или на `0` для его удаления.692* Страница, которая не завершила загрузку в течение пяти минут, включая любые перенаправления, которые следует WebFetch, завершается ошибкой истечения срока. На Claude Code v2.1.268 или позже установите [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/ru/env-vars#variables) для изменения ограничения или на `0` для его удаления.

693* Когда URL перенаправляет на другой хост, WebFetch возвращает текстовый результат, который называет исходный URL и цель перенаправления вместо его следования. Claude затем загружает новый URL со вторым вызовом WebFetch.693* Когда URL перенаправляет на другой хост, WebFetch возвращает текстовый результат, который называет исходный URL и цель перенаправления вместо его следования. Claude затем загружает новый URL со вторым вызовом WebFetch.

694* Когда этап извлечения попадает на перегруженный API, Claude Code повторяет попытку с отступом; загрузка, которая все еще не удается, возвращает результат ошибки. До v2.1.212 текст ошибки API мог достичь Claude как если бы это было извлеченное содержимое страницы.694* Когда этап извлечения сталкивается с перегруженным API, Claude Code повторяет попытку с нарастающей задержкой; загрузка, которая всё равно не удалась, возвращает результат с ошибкой.

695 695 

696В режимах Manual и `acceptEdits` [режимы разрешений](/docs/ru/permission-modes), WebFetch запрашивает перед загрузкой, за исключением доменов, которые ваши [правила разрешений](/docs/ru/permissions#manage-permissions) уже разрешают или запрещают, и встроенный набор предварительно одобренных доменов документации, которые загружаются без запроса. Независимо от того, что разрешают ваши правила, загрузка также проходит [проверку безопасности домена WebFetch](/docs/ru/data-usage#webfetch-domain-safety-check) в первую очередь; этот раздел охватывает то, что отправляет проверка, и параметр, который ее пропускает. Подсказка предлагает три варианта:696В режимах Manual и `acceptEdits` [режимы разрешений](/docs/ru/permission-modes), WebFetch запрашивает перед загрузкой, за исключением доменов, которые ваши [правила разрешений](/docs/ru/permissions#manage-permissions) уже разрешают или запрещают, и встроенный набор предварительно одобренных доменов документации, которые загружаются без запроса. Независимо от того, что разрешают ваши правила, загрузка также проходит [проверку безопасности домена WebFetch](/docs/ru/data-usage#webfetch-domain-safety-check) в первую очередь; этот раздел охватывает то, что отправляет проверка, и параметр, который ее пропускает. Подсказка предлагает три варианта:

697 697 


727 727 

728Инструмент может выполнить до восьми серверных поисков за один вызов, внутренне уточняя поиск перед возвратом результатов. Claude может ограничить результаты с помощью `allowed_domains` для включения только определённых хостов или `blocked_domains` для их исключения. Эти два списка нельзя объединять в одном вызове.728Инструмент может выполнить до восьми серверных поисков за один вызов, внутренне уточняя поиск перед возвратом результатов. Claude может ограничить результаты с помощью `allowed_domains` для включения только определённых хостов или `blocked_domains` для их исключения. Эти два списка нельзя объединять в одном вызове.

729 729 

730Когда запрос поиска попадает на перегруженный API, Claude Code повторяет его с экспоненциальной задержкой; вызов, который всё ещё не удаётся, возвращает результат ошибки. До версии 2.1.212 текст ошибки API мог поступить к Claude как результаты поиска.730Когда запрос поиска попадает на перегруженный API, Claude Code повторяет его с экспоненциальной задержкой; вызов, который всё ещё не удаётся, возвращает результат ошибки.

731 731 

732Правила разрешений WebSearch не требуют спецификатора. Простая запись `WebSearch` в `allow` или `deny` — это единственная форма.732Правила разрешений WebSearch не требуют спецификатора. Простая запись `WebSearch` в `allow` или `deny` — это единственная форма.

733 733 


741 Лимит поиска сеанса741 Лимит поиска сеанса

742</h3>742</h3>

743 743 

744Интерактивная сессия в терминале имеет лимит в 200 вызовов WebSearch. Поиски из основного диалога и из [субагентов](/docs/ru/sub-agents), например при параллельном веерообразном исследовании, учитываются в одном и том же лимите. Лимит требует Claude Code версии 2.1.212 или более поздней.744Интерактивная сессия в терминале имеет лимит в 200 вызовов WebSearch. Поиски из основного диалога и из [субагентов](/docs/ru/sub-agents), например при параллельном веерообразном исследовании, учитываются в одном и том же лимите.

745 745 

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

747 747 

748Чтобы получить больше поисков, повысьте лимит, дождитесь его восполнения или начните новый диалог:748Чтобы получить больше поисков, повысьте лимит, дождитесь его восполнения или начните новый диалог:

749 749 

Details

15| Циклы входа, ошибки OAuth, `403 Forbidden`, "organization disabled", учётные данные Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry | [Troubleshoot installation and login](/docs/ru/troubleshoot-install#login-and-authentication) |15| Циклы входа, ошибки OAuth, `403 Forbidden`, "organization disabled", учётные данные Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry | [Troubleshoot installation and login](/docs/ru/troubleshoot-install#login-and-authentication) |

16| Параметры не применяются, hooks не срабатывают, MCP servers не загружаются | [Debug your configuration](/docs/ru/debug-your-config) |16| Параметры не применяются, hooks не срабатывают, MCP servers не загружаются | [Debug your configuration](/docs/ru/debug-your-config) |

17| Сеанс запущен в режиме auto, или Claude редактирует файлы и выполняет команды без запроса | [Which mode a session starts in](/docs/ru/permission-modes#which-mode-a-session-starts-in) |17| Сеанс запущен в режиме auto, или Claude редактирует файлы и выполняет команды без запроса | [Which mode a session starts in](/docs/ru/permission-modes#which-mode-a-session-starts-in) |

18| После обновления Claude Code или Agent SDK вызовы инструментов отклоняются в `claude -p` или в запусках SDK, которые не передают `--permission-mode`, `permissionMode` или `permission_mode` | [Вызовы инструментов отклоняются в `claude -p` и запусках Agent SDK](/docs/ru/permission-modes#which-mode-a-non-interactive-run-starts-in) |

18| `API Error: 5xx`, `529 Overloaded`, `429`, ошибки валидации запроса | [Error reference](/docs/ru/errors) |19| `API Error: 5xx`, `529 Overloaded`, `429`, ошибки валидации запроса | [Error reference](/docs/ru/errors) |

19| `model not found` или `you may not have access to it` | [Error reference](/docs/ru/errors#theres-an-issue-with-the-selected-model) |20| `model not found` или `you may not have access to it` | [Error reference](/docs/ru/errors#theres-an-issue-with-the-selected-model) |

20| Команда, которую выполняет Claude, не удаётся с `Your disk quota is full`, `is full (ENOSPC)` или `Command output was lost` | [Error reference](/docs/ru/errors#disk-quota-or-temp-filesystem-is-full) |21| Команда, которую выполняет Claude, не удаётся с `Your disk quota is full`, `is full (ENOSPC)` или `Command output was lost` | [Error reference](/docs/ru/errors#disk-quota-or-temp-filesystem-is-full) |

vs-code.md +25 −9

Details

268 268 

269Нажмите кнопку **Session history** вверху панели Claude Code, чтобы получить доступ к истории диалогов. Можно искать по ключевому слову или просматривать по времени.269Нажмите кнопку **Session history** вверху панели Claude Code, чтобы получить доступ к истории диалогов. Можно искать по ключевому слову или просматривать по времени.

270 270 

271Нажмите на любой диалог, чтобы возобновить его с полной историей сообщений. Если диалог уже открыт в другой вкладке текущего окна, нажатие переключит на эту вкладку. Если сообщения поначалу остаются пустыми, см. раздел [почему они пустые и когда появляются](#a-resumed-conversation-is-blank-at-first). Подробнее о возобновлении сессий см. в разделе [Управление сессиями](/docs/ru/sessions).271Нажмите на любой диалог, чтобы возобновить его. Если диалог уже открыт в другой вкладке текущего окна, нажатие переключит на эту вкладку. Если диалог открывается без отображаемых сообщений, см. раздел [почему возобновлённый диалог поначалу пуст](#a-resumed-conversation-is-blank-at-first). Подробнее о возобновлении сессий см. в разделе [Управление сессиями](/docs/ru/sessions).

272 272 

273* **Заголовки сессий**: новые сессии получают сгенерированные ИИ заголовки на основе вашего первого сообщения.273* **Заголовки сессий**: новые сессии получают сгенерированные ИИ заголовки на основе вашего первого сообщения.

274* **Переименование и архивация**: наведите курсор на сессию, чтобы увидеть эти действия. Переименуйте её, чтобы дать описательный заголовок, или заархивируйте, чтобы переместить в группу **Archived sessions** внизу списка.274* **Переименование и архивация**: наведите курсор на сессию, чтобы увидеть эти действия. Переименуйте её, чтобы дать описательный заголовок, или заархивируйте, чтобы переместить в группу **Archived sessions** внизу списка.


414 414 

415Открытие не завершается, если панель аварийно завершает работу или перестаёт отвечать во время загрузки диалога, либо если вы перезагружаете или закрываете окно примерно в течение трёх секунд после его открытия. Диалог не изменяется и остаётся в [истории сессий](#resume-past-conversations).415Открытие не завершается, если панель аварийно завершает работу или перестаёт отвечать во время загрузки диалога, либо если вы перезагружаете или закрываете окно примерно в течение трёх секунд после его открытия. Диалог не изменяется и остаётся в [истории сессий](#resume-past-conversations).

416 416 

417* **Чтобы всё равно открыть его**: нажмите **Open it anyway** или выберите диалог в истории сессий. Если он откроется и панель продолжит работать, при последующих перезагрузках он будет возвращаться как обычно. Если панель снова перестанет отвечать, перезагрузите окно, чтобы вернуться к новому чату с уведомлением.417* **Чтобы всё равно открыть его**: нажмите **Open it anyway** или выберите диалог в истории сессий. Как только диалог завершит открытие, он [будет возвращаться при последующих перезагрузках как обычно](#continue-conversations-after-a-reload).

418* **Если панель перестаёт отвечать во время загрузки диалога**: перезагрузите окно. Откроется новый чат.

418* **Чтобы оставить его закрытым**: продолжайте работать в новом чате. Уведомление исчезнет, как только вы отправите промпт.419* **Чтобы оставить его закрытым**: продолжайте работать в новом чате. Уведомление исчезнет, как только вы отправите промпт.

419 420 

420<h3 id="run-multiple-conversations">421<h3 id="run-multiple-conversations">


556 Плагины, которые отображают содержимое в панели557 Плагины, которые отображают содержимое в панели

557</h3>558</h3>

558 559 

559Плагин, содержащий [мод](/docs/ru/plugins/mods/overview), может отображать содержимое в панели чата. Для этого требуется расширение версии 2.1.299 или новее и сессия, которая [получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching). От такого плагина вы можете увидеть:560Плагин, содержащий [мод](/docs/ru/plugins/mods/overview), может отображать содержимое в панели чата. Для этого требуется расширение версии 2.1.299 или новее. Для сессии, которая [не получает флаги функций](/docs/ru/env-vars#features-that-need-feature-flag-fetching), например сессии в Amazon Bedrock, требуется версия 2.1.304 или новее. От такого плагина вы можете увидеть:

560 561 

561* Панель рядом с диалогом или над полем промпта562* Панель рядом с диалогом или над полем промпта

562* Всплывающее уведомление или строку состояния над полем промпта563* Всплывающее уведомление или строку состояния над полем промпта


624 625 

625Когда команда или [субагент](/docs/ru/sub-agents) заставляет Claude ждать дольше, чем вам хотелось бы, нажмите **Run in background** под соответствующим вызовом инструмента в диалоге. Требуется Claude Code v2.1.287 или новее.626Когда команда или [субагент](/docs/ru/sub-agents) заставляет Claude ждать дольше, чем вам хотелось бы, нажмите **Run in background** под соответствующим вызовом инструмента в диалоге. Требуется Claude Code v2.1.287 или новее.

626 627 

627* **Когда появляется**: действие становится доступным, когда команда выполняется около двух секунд, или сразу после запуска субагента.628* **Когда появляется**: действие становится доступным, когда команда выполняется около двух секунд, или сразу после того, как Claude начинает ждать [субагента](/docs/ru/sub-agents#run-subagents-in-foreground-or-background), которого он запустил из основного диалога.

628* **После нажатия**: Claude перестаёт ждать и продолжает ход. Команда или субагент продолжают работать как [фоновая задача](/docs/ru/tools-reference#background-commands), которая уведомит Claude о завершении.629* **После нажатия**: Claude перестаёт ждать и продолжает ход. Команда или субагент продолжают работать как [фоновая задача](/docs/ru/tools-reference#background-commands), которая уведомит Claude о завершении.

629 630 

630Чтобы тем временем проверить состояние задачи или остановить её, введите `/tasks` в поле ввода промпта, чтобы открыть [карту агентов](#use-the-prompt-box). Субагент сохраняет своё место в дереве агентов, а команда отображается под агентами с [последним выводом на её карточке](#monitor-background-processes).631Чтобы тем временем проверить состояние задачи или остановить её, введите `/tasks` в поле ввода промпта, чтобы открыть [карту агентов](#use-the-prompt-box). Субагент сохраняет своё место в дереве агентов, а команда отображается под агентами с [последним выводом на её карточке](#monitor-background-processes).

631 632 

633<h4 id="the-run-in-background-action-is-missing-under-a-subagent">

634 The Run in background action is missing under a subagent

635</h4>

636 

637По умолчанию в VS Code для субагентов это действие не отображается. Чтобы выяснить причину для конкретного субагента, откройте его карточку в [карте агентов](#use-the-prompt-box) и прочитайте строку `Spawned by`:

638 

639* **`Spawned by the main agent`**: субагент был запущен в фоновом режиме, поэтому Claude его не ждёт, и вам ничего делать не нужно. Чтобы Claude вместо этого ждал субагентов, см. раздел [Как заставить Claude ждать субагента](/docs/ru/sub-agents#let-claude-wait-for-a-subagent).

640* **В `Spawned by` указан другой субагент**: действие появляется только для субагентов, запущенных основным агентом, но не для [вложенного субагента](/docs/ru/sub-agents#let-subagents-spawn-their-own-subagents), которого ждёт другой субагент. Чтобы досрочно завершить вложенного субагента, нажмите **Stop agent** на его карточке. После этого ожидающий субагент продолжит работу без этого результата.

641 

632<h3 id="monitor-background-processes">642<h3 id="monitor-background-processes">

633 Отслеживание фоновых процессов643 Отслеживание фоновых процессов

634</h3>644</h3>


1028 1038 

1029Если одна формула отображается в исходном виде, а соседние — в наборе, проверьте её на следующие причины:1039Если одна формула отображается в исходном виде, а соседние — в наборе, проверьте её на следующие причины:

1030 1040 

1031* **Она читается не как математика**: текст `$…$`, который читается как слово, остаётся в исходном виде, например `$O(n log n)$`. Текст `$…$`, начинающийся с цифры, например `$30$` или `$1/N$`, также остаётся в исходном виде, если только такой символ, как `=`, `+` или `^`, не помечает его как математику. Вместо этого попросите Claude оформить блок `$$` на отдельных строках — панель отображает его в наборе без этой проверки.1041* **Формула встроенная, и панель не считает её математикой**: попросите Claude отправить её ещё раз в виде блока `$$` на отдельных строках. Панель оставляет встроенную формулу в исходном виде, если текст между её разделителями `$…$`:

1032* **Она содержит пробелы по краям, слишком длинная или разбита на строки**: `$ x^2 $` с пробелами внутри знаков доллара, содержимое `$…$` длиннее 60 символов, а также `$…$` или `\(…\)`, разбитые на две строки, не отображаются в наборе. Вместо этого попросите Claude оформить блок `$$` на отдельных строках — у него нет ни одного из этих ограничений.1042 * Сложнее простой арифметики, но не содержит символа вроде `=`, `+` или `^`, который помечал бы его как математику, например `$O(n log n)$`

1033* **TeX невозможно набрать**: формула с синтаксической ошибкой, определением макроса, например `\newcommand` или `\def`, или неэкранированным `%` отображается в исходном виде. Попросите Claude переписать её с исправленной ошибкой, без макроса или с `\%` для знака процента.1043 * Начинается с цифры и не содержит такого символа, например `$30$` и `$1/N$`

1034* **Она слишком большая**: формула длиннее 8 192 символов или формула, которая при отрисовке получилась бы намного больше своего исходного текста, отображается в исходном виде. Попросите Claude разбить её на формулы поменьше или записать компактнее.1044 * Содержит пробелы внутри знаков доллара, например `$ x^2 $`

1035* **Она следует за большим объёмом математики**: в пределах одного текстового блока ответа панель отображает формулы в наборе по порядку до определённого предела. Последующая формула, которая превысила бы этот предел, отображается в исходном виде. Попросите Claude отправить нужную вам формулу ещё раз отдельно.1045 * Длиннее 60 символов

1046 * Разбит на две строки. Формула `\(…\)`, разбитая на две строки, тоже не отображается в наборе.

1047* **В формуле синтаксическая ошибка TeX**: попросите Claude переписать её с исправленной ошибкой.

1048* **Формула определяет макрос**: формула с определением макроса, например `\newcommand` или `\def`, отображается в исходном виде. Попросите Claude переписать её без макроса.

1049* **Формула содержит неэкранированный `%`**: попросите Claude переписать её с `\%` для знака процента.

1050* **Формула слишком большая**: формула длиннее 8 192 символов или формула, которая при отрисовке получилась бы намного больше своего исходного текста TeX, отображается в исходном виде. Попросите Claude разбить её на формулы поменьше или записать компактнее.

1051* **Формула следует за большим объёмом математики**: в пределах одного текстового блока ответа панель отображает формулы в наборе по порядку до определённого предела. Последующая формула, которая превысила бы этот предел, отображается в исходном виде. Попросите Claude отправить нужную вам формулу ещё раз отдельно.

1036 1052 

1037<h3 id="claude-code-never-responds">1053<h3 id="claude-code-never-responds">

1038 Claude Code не отвечает1054 Claude Code не отвечает

Details

78 <p className="digest-wins-title">Другие улучшения</p>78 <p className="digest-wins-title">Другие улучшения</p>

79 79 

80 <div className="digest-wins-grid">80 <div className="digest-wins-grid">

81 <div><code>claude agents</code> получил флаги отправки (<code>--add-dir</code>, <code>--settings</code>, <code>--mcp-config</code>, <code>--plugin-dir</code>, <code>--permission-mode</code>, <code>--model</code>, <code>--effort</code>, <code>--dangerously-skip-permissions</code>) для настройки фоновых сессий, и <code>claude agents --cwd \<path></code> ограничивает список сессий директорией</div>81 <div><code>claude agents</code> получил флаги отправки (`--add-dir`, `--settings`, `--mcp-config`, `--plugin-dir`, `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions`) для настройки фоновых сессий, и `claude agents --cwd <path>` ограничивает список сессий директорией</div>

82 <div>Новый hook <code>args: string\[]</code> форма exec порождает команду напрямую без оболочки, поэтому заполнители пути никогда не нуждаются в кавычках</div>82 <div>Новый hook <code>args: string\[]</code> форма exec порождает команду напрямую без оболочки, поэтому заполнители пути никогда не нуждаются в кавычках</div>

83 <div>Новый параметр конфигурации <code>continueOnBlock</code> для hooks <code>PostToolUse</code> передаёт причину отклонения hook обратно Claude и продолжает ход вместо его завершения</div>83 <div>Новый параметр конфигурации <code>continueOnBlock</code> для hooks <code>PostToolUse</code> передаёт причину отклонения hook обратно Claude и продолжает ход вместо его завершения</div>

84 <div>Новое поле <code>terminalSequence</code> в выводе JSON hook позволяет hooks отправлять уведомления рабочего стола, заголовки окон и звонки без управляющего терминала</div>84 <div>Новое поле <code>terminalSequence</code> в выводе JSON hook позволяет hooks отправлять уведомления рабочего стола, заголовки окон и звонки без управляющего терминала</div>

85 <div>Меню Rewind добавило "Summarize up to here" для сжатия более ранней информации при сохранении недавних ходов</div>85 <div>Меню Rewind добавило "Summarize up to here" для сжатия более ранней информации при сохранении недавних ходов</div>

86 <div>Remote Control, <code>/schedule</code>, соединители Claude.ai MCP и предпочтения уведомлений теперь отключены когда установлены <code>ANTHROPIC\_API\_KEY</code>, <code>apiKeyHelper</code> или <code>ANTHROPIC\_AUTH\_TOKEN</code>, даже наряду с входом Claude.ai; отмените установку ключа API для использования этих функций</div>86 <div>Remote Control, <code>/schedule</code>, соединители claude.ai MCP и предпочтения уведомлений теперь отключены когда установлены <code>ANTHROPIC\_API\_KEY</code>, <code>apiKeyHelper</code> или <code>ANTHROPIC\_AUTH\_TOKEN</code>, даже наряду с входом claude.ai; отмените установку ключа API для использования этих функций</div>

87 <div>Серверы MCP stdio теперь получают <code>CLAUDE\_PROJECT\_DIR</code> в своей среде, соответствуя hooks, и конфигурации плагинов могут ссылаться на <code>\${"{"}CLAUDE\_PROJECT\_DIR{"}"}</code> в командах</div>87 <div>Серверы MCP stdio теперь получают <code>CLAUDE\_PROJECT\_DIR</code> в своей среде, соответствуя hooks, и конфигурации плагинов могут ссылаться на <code>\${"{"}CLAUDE\_PROJECT\_DIR{"}"}</code> в командах</div>

88 <div><code>claude plugin details \<name></code> показывает инвентарь компонентов плагина и прогнозируемую стоимость токена за сессию, и панель деталей <code>/plugin</code> теперь также перечисляет серверы LSP, которые предоставляет плагин</div>88 <div><code>claude plugin details \<name></code> показывает инвентарь компонентов плагина и прогнозируемую стоимость токена за сессию, и панель деталей <code>/plugin</code> теперь также перечисляет серверы LSP, которые предоставляет плагин</div>

89 <div>Плагины с корневым уровнем <code>SKILL.md</code> и без подпапки <code>skills/</code> теперь отображаются как skill</div>89 <div>Плагины с корневым уровнем <code>SKILL.md</code> и без подпапки <code>skills/</code> теперь отображаются как skill</div>

workflows.md +0 −4

Details

153* подсказка запланированной задачи153* подсказка запланированной задачи

154* полезная нагрузка webhook или комментарий pull request, переданные в разговор154* полезная нагрузка webhook или комментарий pull request, переданные в разговор

155 155 

156<Note>

157 До версии 2.1.210 ключевое слово запускало workflow из любого из этих маршрутов, включая полезную нагрузку webhook или комментарий pull request, переданные в разговор.

158</Note>

159 

160<h3 id="let-claude-decide-with-ultracode">156<h3 id="let-claude-decide-with-ultracode">

161 Позволить Claude решить с ultracode157 Позволить Claude решить с ultracode

162</h3>158</h3>

worktrees.md +6 −3

Details

9[git worktree](https://git-scm.com/docs/git-worktree) — это отдельный рабочий каталог с собственными файлами и веткой, использующий ту же историю репозитория и удалённый сервер, что и ваша основная копия. Запуск каждой сессии Claude Code в собственном worktree даёт ей отдельную копию файлов для редактирования, поэтому одна сессия может создавать функцию, а вторая исправлять ошибку.9[git worktree](https://git-scm.com/docs/git-worktree) — это отдельный рабочий каталог с собственными файлами и веткой, использующий ту же историю репозитория и удалённый сервер, что и ваша основная копия. Запуск каждой сессии Claude Code в собственном worktree даёт ей отдельную копию файлов для редактирования, поэтому одна сессия может создавать функцию, а вторая исправлять ошибку.

10 10 

11<Note>11<Note>

12 Worktrees требуют git-репозитория; для других систем контроля версий [настройте hooks для замены логики git](#non-git-version-control). В [десктопном приложении](/docs/ru/desktop#work-in-parallel-with-sessions) выберите опцию **worktree** при запуске сеанса, чтобы дать ему собственный worktree.12 Если вы используете другую систему контроля версий или десктопное приложение, следуйте инструкциям для вашей конфигурации:

13 

14 * **Другие системы контроля версий**: worktrees требуют git-репозитория; [настройте хуки для замены логики git](#non-git-version-control)

15 * **Десктопное приложение**: см. [Запуск сессии в собственном worktree](/docs/ru/desktop#run-a-session-in-its-own-worktree)

13</Note>16</Note>

14 17 

15Worktrees — один из нескольких способов запуска Claude параллельно. Они изолируют правки файлов. [Subagents](/docs/ru/sub-agents) разделяют работу внутри одного сеанса, а [кросс-сеансовая передача сообщений](/docs/ru/cross-session-messaging) позволяет Claude передавать результаты между сеансами в ваших worktrees. См. [Запуск агентов параллельно](/docs/ru/agents), чтобы сравнить подходы, или перейдите к [Изолируйте subagents с помощью worktrees](#isolate-subagents-with-worktrees), чтобы использовать worktrees и subagents вместе.18Worktrees — один из нескольких способов запуска Claude параллельно. Они изолируют правки файлов. [Subagents](/docs/ru/sub-agents) разделяют работу внутри одного сеанса, а [кросс-сеансовая передача сообщений](/docs/ru/cross-session-messaging) позволяет Claude передавать результаты между сеансами в ваших worktrees. См. [Запуск агентов параллельно](/docs/ru/agents), чтобы сравнить подходы, или перейдите к [Изолируйте subagents с помощью worktrees](#isolate-subagents-with-worktrees), чтобы использовать worktrees и subagents вместе.


270 273 

271Всё это применяется независимо от того, создаёте ли вы worktree с `--worktree` или с `git worktree add`.274Всё это применяется независимо от того, создаёте ли вы worktree с `--worktree` или с `git worktree add`.

272 275 

273В сессии worktree, которую вы запускаете из [десктопного приложения](/docs/ru/desktop#work-in-parallel-with-sessions), Claude Code читает конфигурацию проекта, такую как настройки, хуки, скиллы, агенты, команды и серверы [`.mcp.json`](/docs/ru/mcp#project-scope), из корня основной копии, а не из worktree. Команды хуков выполняются в этом корне, и `${CLAUDE_PROJECT_DIR}` указывает на него. Чтобы получить доступ к файлам, с которыми работает Claude, считайте путь worktree из [поля ввода `cwd`](/docs/ru/hooks#common-input-fields) хука. Файлы `CLAUDE.md` и `.claude/rules/` по-прежнему загружаются из worktree.276В сессии worktree, которую вы запускаете из [десктопного приложения](/docs/ru/desktop#run-a-session-in-its-own-worktree), Claude Code читает конфигурацию проекта, такую как настройки, хуки, скиллы, агенты, команды и серверы [`.mcp.json`](/docs/ru/mcp#project-scope), из корня основной копии. Команды хуков выполняются в этом корне, и `${CLAUDE_PROJECT_DIR}` указывает на него. Чтобы получить доступ к файлам, с которыми работает Claude, считайте путь worktree из [поля ввода `cwd`](/docs/ru/hooks#common-input-fields) хука. Файлы `CLAUDE.md` и `.claude/rules/` по-прежнему загружаются из worktree.

274 277 

275<h2 id="manage-worktrees-manually">278<h2 id="manage-worktrees-manually">

276 Управляйте worktrees вручную279 Управляйте worktrees вручную


434* [Cross-session messaging](/docs/ru/cross-session-messaging): позвольте сеансам в ваших worktrees передавать результаты друг другу437* [Cross-session messaging](/docs/ru/cross-session-messaging): позвольте сеансам в ваших worktrees передавать результаты друг другу

435* [Agent teams](/docs/ru/agent-teams): координируйте несколько сеансов Claude автоматически438* [Agent teams](/docs/ru/agent-teams): координируйте несколько сеансов Claude автоматически

436* [Manage sessions](/docs/ru/sessions): назовите, возобновите и переключайтесь между беседами439* [Manage sessions](/docs/ru/sessions): назовите, возобновите и переключайтесь между беседами

437* [Desktop parallel sessions](/docs/ru/desktop#work-in-parallel-with-sessions): сеансы на основе worktree в десктопном приложении440* [Запуск сессии Desktop в собственном worktree](/docs/ru/desktop#run-a-session-in-its-own-worktree): сессии на основе worktree в десктопном приложении