SpyBara
Go Premium

Documentation 2026-10-28 23:57 UTC to 2026-10-29 23:57 UTC

43 files changed +398 −248. 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

75| :- | :- | :- |75| :- | :- | :- |

76| `"project"` | Project `settings.json` и hooks; project CLAUDE.md и `.claude/rules/*.md`; project skills, commands и subagents | `<cwd>/.claude/` для `settings.json` и hooks; `<cwd>` и каждый родительский каталог для CLAUDE.md и rules; `<cwd>` и каждый родительский каталог вверх до корня репозитория для skills, commands и subagents, плюс папки `.claude/skills/`, `.claude/commands/` и `.claude/agents/` каждого каталога, который вы передаёте через параметр `additionalDirectories` или `add_dirs`, который SDK передаёт Claude Code как [`--add-dir`](https://code.claude.com/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) |76| `"project"` | Project `settings.json` и hooks; project CLAUDE.md и `.claude/rules/*.md`; project skills, commands и subagents | `<cwd>/.claude/` для `settings.json` и hooks; `<cwd>` и каждый родительский каталог для CLAUDE.md и rules; `<cwd>` и каждый родительский каталог вверх до корня репозитория для skills, commands и subagents, плюс папки `.claude/skills/`, `.claude/commands/` и `.claude/agents/` каждого каталога, который вы передаёте через параметр `additionalDirectories` или `add_dirs`, который SDK передаёт Claude Code как [`--add-dir`](https://code.claude.com/docs/ru/permissions#additional-directories-grant-file-access-not-configuration) |

77| `"user"` | User `settings.json`; user CLAUDE.md и `~/.claude/rules/*.md`; user skills, commands и subagents | `~/.claude/` для `settings.json`, CLAUDE.md и rules; `~/.claude/skills/`, `~/.claude/commands/` и `~/.claude/agents/` для skills, commands и subagents |77| `"user"` | User `settings.json`; user CLAUDE.md и `~/.claude/rules/*.md`; user skills, commands и subagents | `~/.claude/` для `settings.json`, CLAUDE.md и rules; `~/.claude/skills/`, `~/.claude/commands/` и `~/.claude/agents/` для skills, commands и subagents |

78| `"local"` | CLAUDE.local.md, `.claude/settings.local.json` | `<cwd>/.claude/` для `settings.local.json`; `<cwd>` и каждый родительский каталог для CLAUDE.local.md |78| `"local"` | CLAUDE.local.md, `.claude/settings.local.json` | `<cwd>/.claude/` для `settings.local.json`, который [также может загружаться из корня репозитория](https://code.claude.com/docs/ru/settings.md#where-claude-code-keeps-the-local-file-in-a-git-repository), когда `<cwd>` находится внутри Git-репозитория; `<cwd>` и каждый родительский каталог для CLAUDE.local.md |

79 79 

80Опускание `settingSources` эквивалентно `["user", "project", "local"]`.80Опускание `settingSources` эквивалентно `["user", "project", "local"]`.

81 81 

82Параметр `cwd` определяет, где SDK ищет входные данные уровня проекта. Project `settings.json` и hooks загружаются только из `<cwd>/.claude/` без резервного варианта для родительского каталога.82Параметр `cwd` определяет, где SDK ищет входные данные уровня проекта. Project `settings.json` загружается из `<cwd>/.claude/` без резервного варианта для родительского каталога.

83 83 

84### Что settingSources не контролирует84### Что settingSources не контролирует

85 85 

Details

3322 3322 

3323### TaskStop3323### TaskStop

3324 3324 

3325**Имя инструмента:** `TaskStop`. Предыдущие имена `KillShell` и `KillBash` по-прежнему принимаются как псевдонимы.3325**Имя инструмента:** `TaskStop`. Предыдущие имена `KillShell` и `KillBash` по-прежнему можно использовать в правилах разрешений, в matcher хуков и в параметрах `tools`, `allowed_tools` и `disallowed_tools`.

3326 3326 

3327**Ввод:**3327**Ввод:**

3328 3328 

Details

258 258 

259### Архитектура двойной записи259### Архитектура двойной записи

260 260 

261Подпроцесс Claude Code всегда сначала записывает каждый пакет записей стенограммы на локальный диск, а затем SDK пересылает тот же пакет в `append()` вашего хранилища, поэтому хранилище является зеркалом локальной стенограммы, а не её заменой. Какая копия пережит выполнение, зависит от того, как было запущено выполнение:261Подпроцесс Claude Code всегда сначала записывает каждый пакет записей транскрипта на локальный диск, а затем SDK пересылает тот же пакет в `append()` вашего хранилища, поэтому хранилище является зеркалом локального транскрипта, а не его заменой. Какая копия переживёт выполнение, зависит от того, как было запущено выполнение:

262 262 

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

264* **Выполнение [возобновлено из хранилища](#resume-from-the-store)**: локальная копия удаляется в конце выполнения, поэтому хранилище содержит единственную надёжную копию.264* **Выполнение [возобновлено из хранилища](#resume-from-the-store)**: локальная копия удаляется в конце выполнения, поэтому хранилище содержит единственную надёжную копию.

265 265 

266Если вы не хотите, чтобы новый сеанс оставлял стенограмму на локальном диске, установите `CLAUDE_CONFIG_DIR` на временную директорию в `options.env`. Выполнение, возобновленное из хранилища, уже удаляет свою локальную копию, поэтому ему не требуется такая настройка. В TypeScript распространите `process.env` в `env` также, поскольку [опция `env`](https://code.claude.com/docs/ru/agent-sdk/typescript#options) заменяет окружение подпроцесса.266Если вы не хотите, чтобы новая сессия оставляла транскрипт на локальном диске, установите `CLAUDE_CONFIG_DIR` на новую приватную временную директорию в `options.env`. Выполнение, возобновлённое из хранилища, уже удаляет свою локальную копию, поэтому ему не требуется такая настройка. В TypeScript также разверните `process.env` в `env`, поскольку [опция `env`](https://code.claude.com/docs/ru/agent-sdk/typescript#options) заменяет окружение подпроцесса.

267 267 

268Если ваше приложение входит через файлы в директории конфигурации, такие как учётные данные OAuth или `apiKeyHelper` в вашем пользовательском `settings.json`, сначала скопируйте эти файлы во временную директорию, или установите `ANTHROPIC_API_KEY` в `env` вместо этого. В противном случае выполнение завершится с ошибкой `Not logged in`.268Если вы установите `CLAUDE_CONFIG_DIR` на временную директорию и выполняете вход через [логин claude.ai](https://code.claude.com/docs/ru/authentication.md#credential-management) или [`apiKeyHelper`](https://code.claude.com/docs/ru/settings-reference#apikeyhelper) в вашем пользовательском `settings.json`, выполнение завершится с ошибкой `Not logged in`. Чтобы аутентифицировать выполнение, установите долгосрочный токен, установите API-ключ или скопируйте ваши файлы конфигурации:

269 

270* **Долгосрочный токен**: если вы запускаете агента самостоятельно в рамках своей подписки Claude, установите в `env` переменную `CLAUDE_CODE_OAUTH_TOKEN` со значением токена из [`claude setup-token`](https://code.claude.com/docs/ru/authentication#generate-a-long-lived-token). С этим токеном можно только отправлять запросы к модели, поэтому ваши [коннекторы claude.ai](https://code.claude.com/docs/ru/mcp.md#use-mcp-servers-from-claude-ai) недоступны в таком выполнении.

271* **API-ключ**: установите `ANTHROPIC_API_KEY` в `env`.

272* **Файлы конфигурации**: если вы выполняете вход через файлы в вашей обычной директории конфигурации, такие как учётные данные OAuth или `apiKeyHelper` в вашем пользовательском `settings.json`, скопируйте их во временную директорию.

269 273 

270Две опции конфликтуют с зеркалом, и SDK выбрасывает исключение при запуске, если вы объедините любую из них с хранилищем:274Две опции конфликтуют с зеркалом, и SDK выбрасывает исключение при запуске, если вы объедините любую из них с хранилищем:

271 275 

272* **`persistSession: false`** в TypeScript: отключает локальные записи, на которых построено зеркало. Python SDK не имеет эквивалентной опции.276* **`persistSession: false`** в TypeScript: отключает локальные записи, на которых построено зеркало. Python SDK не имеет эквивалентной опции.

273* **Контрольные точки файлов**, `enableFileCheckpointing` в TypeScript или `enable_file_checkpointing` в Python: записывает резервные копии файлов прямо на локальный диск, и SDK не зеркалирует их в хранилище.277* **Чекпоинты файлов**, `enableFileCheckpointing` в TypeScript или `enable_file_checkpointing` в Python: записывает резервные копии файлов прямо на локальный диск, и SDK не зеркалирует их в хранилище.

274 278 

275### Возобновление из хранилища279### Возобновление из хранилища

276 280 

277Когда вы передаёте `resume`, или `continue: true` в TypeScript или `continue_conversation=True` в Python, вместе с хранилищем, SDK запрашивает у хранилища стенограмму перед тем, как порождает подпроцесс:281Когда вы передаёте `resume`, или `continue: true` в TypeScript, или `continue_conversation=True` в Python вместе с хранилищем, SDK запрашивает у хранилища транскрипт перед тем, как запустить подпроцесс:

278 282 

279* **`resume`**: SDK запрашивает сеанс, чей ID вы передали.283* **`resume`**: SDK запрашивает сессию, ID которой вы передали.

280* **`continue: true`** или **`continue_conversation=True`**: SDK запрашивает самый новый сеанс хранилища.284* **`continue: true`** или **`continue_conversation=True`**: SDK запрашивает самую новую сессию хранилища.

281 285 

282Когда хранилище возвращает стенограмму, SDK записывает её во временную директорию конфигурации, запускает подпроцесс с `CLAUDE_CONFIG_DIR`, указывающим туда, и удаляет директорию по окончании выполнения. Локальная стенограмма, которую записывает это выполнение, удаляется вместе с ней, поэтому хранилище содержит единственную надёжную копию на этом пути.286Когда хранилище возвращает транскрипт, SDK записывает его во временную директорию конфигурации, запускает подпроцесс с `CLAUDE_CONFIG_DIR`, указывающим туда, и удаляет директорию по окончании выполнения. Локальный транскрипт, который записывает это выполнение, удаляется вместе с ней, поэтому на этом пути хранилище содержит единственную надёжную копию.

283 287 

284SDK также заполняет временную директорию файлами из вашей реальной директории конфигурации. Что копируется, отличается по языкам:288SDK также заполняет временную директорию файлами из вашей реальной директории конфигурации. Что копируется, зависит от языка:

285 289 

286* **TypeScript**: учётные данные, `.claude.json` и ваш пользовательский `settings.json`. Из `settings.json` он удаляет ключи, которые ведут себя неправильно во временной директории конфигурации: `enabledPlugins`, `extraKnownMarketplaces`, его [alias `additionalMarketplaces`](https://code.claude.com/docs/ru/settings-reference#extraknownmarketplaces) и любой `CLAUDE_CONFIG_DIR` в блоке `env` файла. До Agent SDK v0.3.232 SDK не удалял alias. Аутентификация, настроенная в settings, такая как [`apiKeyHelper`](https://code.claude.com/docs/ru/settings-reference#apikeyhelper), работает, когда вы возобновляете из хранилища. До Agent SDK v0.3.222 TypeScript SDK копировал только учётные данные и `.claude.json`.290* **TypeScript**: учётные данные, `.claude.json` и ваш пользовательский `settings.json`. Из `settings.json` он удаляет ключи, которые ведут себя неправильно во временной директории конфигурации: `enabledPlugins`, `extraKnownMarketplaces`, его псевдоним [`additionalMarketplaces`](https://code.claude.com/docs/ru/settings-reference#extraknownmarketplaces) и любой `CLAUDE_CONFIG_DIR` в блоке `env` файла. До Agent SDK v0.3.232 SDK не удалял этот псевдоним. Аутентификация, настроенная в настройках, такая как [`apiKeyHelper`](https://code.claude.com/docs/ru/settings-reference#apikeyhelper), работает, когда вы возобновляете из хранилища. До Agent SDK v0.3.222 TypeScript SDK копировал только учётные данные и `.claude.json`.

287* **Python**: только учётные данные и `.claude.json`, поэтому приложение, которое аутентифицируется через `apiKeyHelper` в вашем пользовательском `settings.json`, завершается с ошибкой `Not logged in` при возобновлении из хранилища. `apiKeyHelper` в управляемых или проектных settings всё ещё работает, потому что Claude Code читает эти файлы из местоположений, на которые не влияет `CLAUDE_CONFIG_DIR`.291* **Python**: только учётные данные и `.claude.json`, поэтому приложение, которое аутентифицируется через `apiKeyHelper` в вашем пользовательском `settings.json`, завершается с ошибкой `Not logged in` при возобновлении из хранилища. `apiKeyHelper` в управляемых или проектных настройках всё ещё работает, потому что Claude Code читает эти файлы из местоположений, на которые не влияет `CLAUDE_CONFIG_DIR`.

288 292 

289Когда хранилище не содержит ничего для сеанса, SDK запускается в вашей реальной директории конфигурации вместо этого, и результат зависит от того, какую опцию вы передали:293Когда хранилище не содержит ничего для сессии, SDK вместо этого запускается в вашей реальной директории конфигурации, и результат зависит от того, какую опцию вы передали:

290 294 

291* **`resume`**: оба SDK передают ID через подпроцесс, который возобновляет локальную стенограмму точно так же, как `resume` без хранилища.295* **`resume`**: оба SDK передают ID в подпроцесс, который возобновляет локальный транскрипт точно так же, как `resume` без хранилища.

292* **`continue: true`** в TypeScript: SDK запускает новый сеанс.296* **`continue: true`** в TypeScript: SDK запускает новую сессию.

293* **`continue_conversation=True`** в Python: SDK продолжает с самого нового локального сеанса.297* **`continue_conversation=True`** в Python: SDK продолжает самую новую локальную сессию.

294 298 

295### Зеркальные записи — это лучшие усилия299### Зеркальные записи выполняются по принципу best-effort

296 300 

297Если `append()` отклоняет, SDK повторяет попытку пакета ещё два раза с коротким отступом, всего максимум три попытки. Вызов, который истекает по времени, не повторяется, поскольку исходный вызов может всё ещё приземлиться. Если пакет всё ещё не удаётся, SDK регистрирует ошибку, выдаёт сообщение `{ type: "system", subtype: "mirror_error" }` в итератор, отбрасывает пакет и продолжает запрос. Поскольку повторный пакет может повторно доставить записи, которые уже приземлились, дедублируйте по `entry.uuid` в вашей реализации `append()`.301Если `append()` отклоняет вызов, SDK повторяет попытку для пакета ещё до двух раз с короткой задержкой, всего не более трёх попыток. Вызов, превысивший время ожидания, не повторяется, поскольку исходный вызов всё ещё может завершиться успешно. Если пакет по-прежнему не удаётся записать, SDK записывает ошибку в лог, выдаёт сообщение `{ type: "system", subtype: "mirror_error" }` в итератор, отбрасывает пакет и продолжает запрос. Поскольку повторно отправленный пакет может повторно доставить уже записанные записи, выполняйте дедупликацию по `entry.uuid` в вашей реализации `append()`.

298 302 

299Сбой хранилища не прерывает агента, поскольку подпроцесс записывает локально в первую очередь. Отслеживайте `mirror_error`, если вам нужно обнаружить потерю данных хранилища. При выполнении [возобновленном из хранилища](#resume-from-the-store), отброшенный пакет не имеет выжившей копии по окончании выполнения.303Сбой хранилища не прерывает агента, поскольку подпроцесс сначала записывает данные локально. Отслеживайте `mirror_error`, если вам нужно обнаруживать потерю данных хранилища. При выполнении, [возобновлённом из хранилища](#resume-from-the-store), у отброшенного пакета не остаётся сохранившейся копии после завершения выполнения.

300 304 

301### `getSessionMessages` возвращает цепь после компактирования305### `getSessionMessages` возвращает цепочку после сжатия

302 306 

303`getSessionMessages({ sessionStore })` возвращает связанную цепь сообщений, которую агент видел бы при возобновлении. После автоматического компактирования более ранние ходы заменяются резюме, поэтому сеанс, чье хранилище содержит 503 необработанные записи, может возвращать 18 сообщений из `getSessionMessages`. Для полной необработанной истории, включая ходы до компактирования и записи метаданных, вызовите `store.load(key)` напрямую.307`getSessionMessages({ sessionStore })` возвращает связанную цепочку сообщений, которую агент увидел бы при возобновлении. После автосжатия более ранние ходы заменяются резюме, поэтому сессия, хранилище которой содержит 503 необработанные записи, может возвращать 18 сообщений из `getSessionMessages`. Для полной необработанной истории, включая ходы до сжатия и записи метаданных, вызовите `store.load(key)` напрямую.

304 308 

305### `forkSession` — это не побайтовая копия309### `forkSession` — это не побайтовая копия

306 310 

307`forkSession({ sessionStore })` читает исходные записи, переписывает каждое поле `sessionId` и переназначает UUID сообщений, затем добавляет преобразованные записи под новым ключом. Копия на уровне адаптера или ярлык `CopyObject` создали бы стенограмму, которая всё ещё ссылается на старый ID сеанса, поэтому SDK не использует один.311`forkSession({ sessionStore })` читает исходные записи, переписывает каждое поле `sessionId` и переназначает UUID сообщений, затем добавляет преобразованные записи под новым ключом. Копия на уровне адаптера или сокращённый путь через `CopyObject` создали бы транскрипт, который всё ещё ссылается на старый ID сессии, поэтому SDK их не использует.

308 312 

309### Стенограммы подагентов313### Транскрипты субагентов

310 314 

311Стенограммы подагентов зеркалируются под `subpath: "subagents/agent-<id>"`. `listSubagents({ sessionStore })` требует, чтобы адаптер реализовал `listSubkeys`; `getSubagentMessages({ sessionStore })` использует его, когда доступно, но возвращается к прямому подпути, когда он не определен. Возобновление также вызывает `listSubkeys` для восстановления файлов подагентов; без него материализуется только основная стенограмма.315Транскрипты субагентов зеркалируются под `subpath: "subagents/agent-<id>"`. `listSubagents({ sessionStore })` требует, чтобы адаптер реализовал `listSubkeys`; `getSubagentMessages({ sessionStore })` использует его, когда он доступен, но возвращается к прямому подпути, когда он не определён. Возобновление также вызывает `listSubkeys` для восстановления файлов субагентов; без него материализуется только основной транскрипт.

312 316 

313### Хранение317### Хранение

314 318 

315SDK никогда не удаляет из вашего хранилища самостоятельно. Хранение — это ответственность адаптера: используйте механизм истечения срока действия или жизненного цикла вашего бэкенда, или запустите запланированную очистку, в соответствии с вашими требованиями соответствия. Локальные стенограммы в `CLAUDE_CONFIG_DIR` очищаются независимо параметром `cleanupPeriodDays`, следуя [правилам очистки при сохранении](https://code.claude.com/docs/ru/claude-directory.md#cleaned-up-automatically). Выполнение [возобновленное из хранилища](#resume-from-the-store) не оставляет локальную стенограмму, поэтому для этих выполнений хранение вашего хранилища — это единственное хранение, которое существует.319SDK никогда не удаляет данные из вашего хранилища самостоятельно. Хранение — это ответственность адаптера: используйте механизм истечения срока действия или жизненного цикла вашего бэкенда или запускайте очистку по расписанию в соответствии с вашими требованиями комплаенса.

320 

321Локальные транскрипты в `CLAUDE_CONFIG_DIR` очищаются независимо настройкой `cleanupPeriodDays` согласно [правилам очистки при хранении](https://code.claude.com/docs/ru/claude-directory.md#cleaned-up-automatically). Выполнение, [возобновлённое из хранилища](#resume-from-the-store), не оставляет локального транскрипта, поэтому для таких выполнений политика хранения вашего хранилища — единственная существующая политика хранения.

316 322 

317## Поддерживается на323## Поддерживается на

318 324 

Details

730 730 

731В ходе сессии действуют только некоторые ключи:731В ходе сессии действуют только некоторые ключи:

732 732 

733* **Применяются со следующего хода**: `effortLevel`, `ultracode`, `permissions`, `hooks`, `skillOverrides`, `fastMode`, `agent`. Переключение `agent` также применяет переопределение модели и хуки этого агента со следующего хода. Его системный промпт применяется со следующего хода или, в сессии, которая [повторно использует записанный системный промпт](https://code.claude.com/docs/ru/agent-sdk/modifying-system-prompts.md#change-the-prompt-of-an-existing-session), после сжатия сессии.733* **Применяются на следующем ходе**: `ultracode`, `permissions`, `hooks`, `skillOverrides`, `fastMode`, `agent`. Смена `agent` также применяет переопределение модели и хуки этого агента на следующем ходе. Его системный промпт применяется на следующем ходе. В сессии, которая [повторно использует записанный системный промпт](https://code.claude.com/docs/ru/agent-sdk/modifying-system-prompts.md#change-the-prompt-of-an-existing-session), он применяется после сжатия сессии.

734* **Применяются в течение текущего хода**: `model`. Если вы переключаете `model`, пока Claude работает над ходом, ответ, который Claude уже генерирует, завершается на старой модели, а остальная часть хода, начиная со следующего обращения Claude Code к модели, использует новую. Субагенты сохраняют собственную модель. До v2.1.212 переключение в середине хода вступало в силу только со следующего хода.734* **Применяются в течение текущего хода**: `model`. Если вы переключаете `model`, пока Claude работает над ходом, ответ, который Claude уже генерирует, завершается на старой модели, а остальная часть хода, начиная со следующего обращения Claude Code к модели, использует новую. Субагенты сохраняют собственную модель. До v2.1.212 переключение в середине хода вступало в силу только со следующего хода.

735* **Применяется к следующему ходу**: `effortLevel`. Уровень применяется со следующего обращения Claude Code к модели. Если [смена effort сохраняет кэш промптов](https://code.claude.com/docs/ru/prompt-caching.md#changing-effort-level), как в Claude Opus 5.5 с API-ключом или подпиской Claude, ожидайте применения на следующем ходе.

735* **Не действуют в ходе сессии**: параметры системного промпта. Они определяются один раз при запуске, поэтому работающая сессия сохраняет исходное значение, хотя вызов завершается успешно. Чтобы изменить их, запустите новую сессию.736* **Не действуют в ходе сессии**: параметры системного промпта. Они определяются один раз при запуске, поэтому работающая сессия сохраняет исходное значение, хотя вызов завершается успешно. Чтобы изменить их, запустите новую сессию.

736 737 

737`effortLevel` принимает название [уровня effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level). Он также принимает `"ultracode"`, что запрашивает уровень effort `xhigh` с включённым [ultracode](https://code.claude.com/docs/ru/workflows.md#let-claude-decide-with-ultracode). `applyFlagSettings()` объявляет `effortLevel` без этого значения, поэтому в TypeScript для того же результата передавайте `{ ultracode: true, effortLevel: "xhigh" }` или только ключ [`ultracode`](https://code.claude.com/docs/ru/settings-reference#ultracode), чтобы включить ultracode при текущем уровне effort сессии. Значение `ultracode` требует Claude Code v2.1.203 или новее и принимается только `applyFlagSettings()`, но не ключом `effortLevel` в файле настроек. До v2.1.284 один лишь ключ `ultracode` также устанавливал уровень `xhigh`.738`effortLevel` принимает название [уровня effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level). Он также принимает `"ultracode"`, что запрашивает уровень effort `xhigh` с включённым [ultracode](https://code.claude.com/docs/ru/workflows.md#let-claude-decide-with-ultracode). `applyFlagSettings()` объявляет `effortLevel` без этого значения, поэтому в TypeScript для того же результата передавайте `{ ultracode: true, effortLevel: "xhigh" }` или только ключ [`ultracode`](https://code.claude.com/docs/ru/settings-reference#ultracode), чтобы включить ultracode при текущем уровне effort сессии. Значение `ultracode` требует Claude Code v2.1.203 или новее и принимается только `applyFlagSettings()`, но не ключом `effortLevel` в файле настроек. До v2.1.284 один лишь ключ `ultracode` также устанавливал уровень `xhigh`.

738 739 

739Значения записываются в уровень настроек флагов поверх того, что встроенный параметр `settings` функции `query()` задал при запуске. Это тот же уровень, который [раздел о приоритете на этой странице](#settings-precedence) называет программными параметрами.740Значения записываются в уровень флаговых настроек и объединяются поверх того, что задал при запуске встроенный параметр `settings` функции `query()`. Это тот же уровень, который [раздел о приоритете на этой странице](#settings-precedence) называет программными параметрами. Исключение — `effortLevel`: переданный вами уровень заменяет уровень из `--effort` или настроек, включая управляемые настройки, как показывает [порядок определения effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level).

740 741 

741Последовательные вызовы выполняют поверхностное объединение ключей верхнего уровня. Второй вызов с `{ permissions: {...} }` заменяет весь объект `permissions` из предыдущего вызова, а не объединяется с ним глубоко.742Последовательные вызовы выполняют поверхностное объединение ключей верхнего уровня. Второй вызов с `{ permissions: {...} }` заменяет весь объект `permissions` из предыдущего вызова, а не объединяется с ним глубоко.

742 743 


13272. Настройки проекта (`.claude/settings.json`)13282. Настройки проекта (`.claude/settings.json`)

13283. Пользовательские настройки (`~/.claude/settings.json`)13293. Пользовательские настройки (`~/.claude/settings.json`)

1329 1330 

1330Программные параметры, такие как `agents`, `allowedTools` и `settings`, переопределяют пользовательские, проектные и локальные настройки из файловой системы. Управляемые настройки политик имеют приоритет над программными параметрами.1331Программные параметры, такие как `agents`, `allowedTools` и `settings`, переопределяют пользовательские, проектные и локальные файловые настройки. Если настройка управляемой политики и программный параметр задают один и тот же ключ, применяется управляемое значение, за исключениями, например `effortLevel`, переданного в [`applyFlagSettings()`](#applyflagsettings).

1331 1332 

1332### `PermissionMode`1333### `PermissionMode`

1333 1334 


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

2096 2097 

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

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

2099 2100 

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

2101 2102 

artifacts.md +1 −1

Details

369| Requirement | Available when |369| Requirement | Available when |

370| :- | :- |370| :- | :- |

371| Plan | Pro, Max, Team или Enterprise. На планах Pro и Max артефакты являются приватными для вас до тех пор, пока вы их не поделитесь, и управление администратором не применяется. На планах Team и Enterprise артефакты включены по умолчанию, и владелец может [отключить их для организации](#manage-artifacts-for-your-organization) в параметрах администратора claude.ai. |371| Plan | Pro, Max, Team или Enterprise. На планах Pro и Max артефакты являются приватными для вас до тех пор, пока вы их не поделитесь, и управление администратором не применяется. На планах Team и Enterprise артефакты включены по умолчанию, и владелец может [отключить их для организации](#manage-artifacts-for-your-organization) в параметрах администратора claude.ai. |

372| Authentication | Сеанс поддерживается учётной записью claude.ai: войдите с помощью `/login` в CLI или приложении для рабочего стола. Сеансы Claude Tag вошли через идентификацию агента, поэтому никаких шагов не требуется. Сеансы, использующие ключ API, [токен шлюза](https://code.claude.com/docs/ru/llm-gateway) или учётные данные поставщика облачных услуг, не могут публиковать. |372| Authentication | Сессия поддерживается учётной записью claude.ai: войдите с помощью `/login` в CLI или приложении для рабочего стола. Сессиям Claude Tag не требуется шаг входа. Сессии, использующие API-ключ, [токен шлюза](https://code.claude.com/docs/ru/llm-gateway) или учётные данные поставщика облачных услуг, не могут публиковать. |

373| Model provider | Anthropic API. Недоступно на [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/ru/google-vertex-ai.md) или [Microsoft Foundry](https://code.claude.com/docs/ru/microsoft-foundry.md). |373| Model provider | Anthropic API. Недоступно на [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/ru/google-vertex-ai.md) или [Microsoft Foundry](https://code.claude.com/docs/ru/microsoft-foundry.md). |

374| Organization policy | Ключи шифрования, управляемые клиентом (CMEK), HIPAA и [Zero Data Retention](https://code.claude.com/docs/ru/zero-data-retention.md) не включены для организации. |374| Organization policy | Ключи шифрования, управляемые клиентом (CMEK), HIPAA и [Zero Data Retention](https://code.claude.com/docs/ru/zero-data-retention.md) не включены для организации. |

375| Surface | Claude Code CLI или приложение Claude для рабочего стола версии 1.13576.0 или позже. Сессии [Claude Tag](https://claude.com/docs/claude-tag/overview) также могут публиковать артефакты, когда и Claude Tag, и артефакты включены для организации. Сессии, обслуживаемые [`claude remote-control`](https://code.claude.com/docs/ru/remote-control), могут публиковать артефакты, если вы запустили сессию самостоятельно. Требуется Claude Code v2.1.281 или более поздней версии. По умолчанию отключено в [Agent SDK](https://code.claude.com/docs/ru/agent-sdk/overview.md), GitHub Action и контекстах MCP-сервера, при запуске Claude Code с [`-p`](https://code.claude.com/docs/ru/headless) из вашего собственного терминала или скриптов, а также когда установлен [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ru/env-vars). |375| Surface | Claude Code CLI или приложение Claude для рабочего стола версии 1.13576.0 или позже. Сессии [Claude Tag](https://claude.com/docs/claude-tag/overview) также могут публиковать артефакты, когда и Claude Tag, и артефакты включены для организации. Сессии, обслуживаемые [`claude remote-control`](https://code.claude.com/docs/ru/remote-control), могут публиковать артефакты, если вы запустили сессию самостоятельно. Требуется Claude Code v2.1.281 или более поздней версии. По умолчанию отключено в [Agent SDK](https://code.claude.com/docs/ru/agent-sdk/overview.md), GitHub Action и контекстах MCP-сервера, при запуске Claude Code с [`-p`](https://code.claude.com/docs/ru/headless) из вашего собственного терминала или скриптов, а также когда установлен [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ru/env-vars). |

Details

27* **Claude for Teams или Enterprise**: войдите с помощью учётной записи claude.ai, на которую вас пригласил администратор вашей команды.27* **Claude for Teams или Enterprise**: войдите с помощью учётной записи claude.ai, на которую вас пригласил администратор вашей команды.

28* **Claude Console**: войдите с помощью своих учётных данных Console. Сначала администратор должен [пригласить вас](#claude-console-authentication). Вы можете войти как с [созданием API-ключа](#sign-in-without-an-api-key), так и без него.28* **Claude Console**: войдите с помощью своих учётных данных Console. Сначала администратор должен [пригласить вас](#claude-console-authentication). Вы можете войти как с [созданием API-ключа](#sign-in-without-an-api-key), так и без него.

29* **Облачные провайдеры**: если ваша организация использует [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/ru/google-vertex-ai.md) или [Microsoft Foundry](https://code.claude.com/docs/ru/microsoft-foundry.md), задайте необходимые переменные окружения перед запуском `claude` или выберите **3rd-party platform** в запросе на вход — это запустит интерактивный мастер настройки для Bedrock и Vertex AI. Вход через браузер не требуется.29* **Облачные провайдеры**: если ваша организация использует [Amazon Bedrock](https://code.claude.com/docs/ru/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/ru/google-vertex-ai.md) или [Microsoft Foundry](https://code.claude.com/docs/ru/microsoft-foundry.md), задайте необходимые переменные окружения перед запуском `claude` или выберите **3rd-party platform** в запросе на вход — это запустит интерактивный мастер настройки для Bedrock и Vertex AI. Вход через браузер не требуется.

30* **Облачный шлюз**: если ваша организация использует собственный [шлюз приложений Claude](https://code.claude.com/docs/ru/claude-apps-gateway), войдите через корпоративный SSO с помощью `/login`. Токен, выданный шлюзом, является единственными учётными данными сессии.30* **Cloud gateway**: если ваша организация использует собственный [шлюз приложений Claude](https://code.claude.com/docs/ru/claude-apps-gateway), войдите через корпоративный SSO с помощью `/login`. Токен, выданный шлюзом, является единственными учётными данными сессии.

31 31 

32Администраторы могут определять, какой способ входа используют разработчики, и требовать, чтобы входы через claude.ai принадлежали определённой организации; см. [Ограничение входа вашей организацией](#restrict-login-to-your-organization).32Администраторы могут определять, какой способ входа используют разработчики, и требовать, чтобы входы через claude.ai принадлежали определённой организации; см. [Ограничение входа вашей организацией](#restrict-login-to-your-organization).

33 33 

channels.md +2 −2

Details

353 353 

354| Функция | Что она делает | Хорошо для |354| Функция | Что она делает | Хорошо для |

355| - | - | - |355| - | - | - |

356| [Cloud sessions](https://code.claude.com/docs/ru/claude-code-on-the-web.md) | Запускает задачи в свежей облачной песочнице, клонированной из GitHub | Делегирование самостоятельной асинхронной работы, которую вы проверяете позже |356| [Облачные сессии](https://code.claude.com/docs/ru/claude-code-on-the-web.md) | Запускает задачи в свежей облачной песочнице, клонированной из GitHub | Делегирование самостоятельной асинхронной работы, которую вы проверяете позже |

357| [Claude в Slack](https://code.claude.com/docs/ru/slack.md) | Создает облачный сеанс из упоминания `@Claude` в канале или потоке | Запуск задач непосредственно из контекста командного разговора |357| [Claude в Slack](https://code.claude.com/docs/ru/slack.md) | Создает облачный сеанс из упоминания `@Claude` в канале или потоке | Запуск задач непосредственно из контекста командного разговора |

358| Стандартный [MCP server](https://code.claude.com/docs/ru/mcp.md) | Claude запрашивает его во время задачи; ничего не отправляется в сеанс | Предоставление Claude доступа по требованию для чтения или запроса системы |358| Стандартный [MCP-сервер](https://code.claude.com/docs/ru/mcp.md) | Claude запрашивает его во время задачи; ничего не отправляется в сеанс | Предоставление Claude доступа по требованию для чтения или запроса системы |

359| [Remote Control](https://code.claude.com/docs/ru/remote-control.md) | Вы управляете своим локальным сеансом из claude.ai или мобильного приложения Claude | Управление активным сеансом, пока вас нет за столом |359| [Remote Control](https://code.claude.com/docs/ru/remote-control.md) | Вы управляете своим локальным сеансом из claude.ai или мобильного приложения Claude | Управление активным сеансом, пока вас нет за столом |

360 360 

361Каналы заполняют пробел в этом списке, отправляя события из источников, не связанных с Claude, в ваш уже работающий локальный сеанс.361Каналы заполняют пробел в этом списке, отправляя события из источников, не связанных с Claude, в ваш уже работающий локальный сеанс.

chrome.md +9 −0

Details

107>107>

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

109 109 

110### Ответ на диалоговое окно при запуске

111 

112Если при запуске `claude` появляется диалоговое окно «Claude in Chrome extension detected», ваш ответ изменяет [настройку включения по умолчанию](#enable-chrome-by-default):

113 

114* **Yes, use my browser**: включает настройку и подключает эту сессию

115* **No, keep browser tools off** или Esc: отключает настройку, и Claude Code перестаёт предлагать настроить Chrome

116 

117Чтобы изменить свой ответ для последующих сессий, выполните `/chrome`.

118 

110### Управление разрешениями для сайтов119### Управление разрешениями для сайтов

111 120 

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

Details

35* **Телеметрия**: каждое настроенное назначение получает [метрики OpenTelemetry Protocol (OTLP)](https://code.claude.com/docs/ru/monitoring-usage.md) с подсчётом токенов, моделью, идентификацией пользователя и задержкой по умолчанию, с журналами и трассировками как дополнительные параметры для каждого назначения.35* **Телеметрия**: каждое настроенное назначение получает [метрики OpenTelemetry Protocol (OTLP)](https://code.claude.com/docs/ru/monitoring-usage.md) с подсчётом токенов, моделью, идентификацией пользователя и задержкой по умолчанию, с журналами и трассировками как дополнительные параметры для каждого назначения.

36* **Маршрутизация вышестоящего уровня**: клиенты говорят API Anthropic Messages с шлюзом, и шлюз переводит для каждого вышестоящего уровня, будь то Amazon Bedrock, [Claude Platform on AWS](https://code.claude.com/docs/ru/claude-platform-on-aws.md), Agent Platform Google Cloud, Microsoft Foundry или API Anthropic, с отказоустойчивостью между ними. Вы можете менять регионы, поставщиков или порядок отказоустойчивости без того, чтобы разработчики замечали или переконфигурировали.36* **Маршрутизация вышестоящего уровня**: клиенты говорят API Anthropic Messages с шлюзом, и шлюз переводит для каждого вышестоящего уровня, будь то Amazon Bedrock, [Claude Platform on AWS](https://code.claude.com/docs/ru/claude-platform-on-aws.md), Agent Platform Google Cloud, Microsoft Foundry или API Anthropic, с отказоустойчивостью между ними. Вы можете менять регионы, поставщиков или порядок отказоустойчивости без того, чтобы разработчики замечали или переконфигурировали.

37 37 

38![Диаграмма, показывающая клиентов Claude Code и вкладки Chat, Cowork и Code Claude Desktop, подключающихся по HTTPS с токенами-носителями к самостоятельно размещённому Claude apps gateway внутри вашей инфраструктуры, который входит пользователей в ваш IdP, хранит состояние аутентификации в PostgreSQL, передаёт телеметрию вашему сборщику OTLP и пересылает вывод в Amazon Bedrock, Claude Platform on AWS, Google Cloud, Microsoft Foundry или API Anthropic](https://mintcdn.com/claude-code/VbyXug8hBU9UK6oT/images/claude-gateway-architecture.svg?fit=max\&auto=format\&n=VbyXug8hBU9UK6oT\&q=85\&s=9e4f1190fc56718144190a3db61c63af)38![Диаграмма, показывающая клиентов Claude Code и Claude Desktop, подключающихся по HTTPS с Bearer-токенами к самостоятельно размещённому Claude apps gateway внутри вашей инфраструктуры, который выполняет вход пользователей через ваш IdP, хранит состояние аутентификации в PostgreSQL, передаёт телеметрию вашему сборщику OTLP и пересылает запросы инференса в Amazon Bedrock, Claude Platform on AWS, Google Cloud, Microsoft Foundry или API Anthropic](https://mintcdn.com/claude-code/VbyXug8hBU9UK6oT/images/claude-gateway-architecture.svg?fit=max\&auto=format\&n=VbyXug8hBU9UK6oT\&q=85\&s=9e4f1190fc56718144190a3db61c63af)

39 39 

40> [!NOTE]40> [!NOTE]

41>41>


350 350 

351### Доставка политики в сессии Claude Desktop351### Доставка политики в сессии Claude Desktop

352 352 

353Claude Desktop запускает свои вкладки Cowork и Code, а также вкладку Chat, если вы её включите, на встроенных сессиях Claude Code и отправляет их запросы к модели через шлюз. Он передаёт каждой из этих сессий политику, построенную на основе конфигурации, которую шлюз отдаёт ему по адресу `/user/bootstrap`: список разрешённых моделей, отключённые инструменты и список разрешённых исходящих соединений, полученные из блока `cli` или `code` совпавшей политики, а также [наложение `desktop`](https://code.claude.com/docs/ru/claude-apps-gateway-config#claude-desktop-overlay).353Claude Desktop запускает свои вкладки Cowork и Code, а также Chat, если вы его включите, во встроенных сессиях Claude Code и отправляет их запросы к модели через шлюз. Он передаёт политику каждой из этих сессий, сформированную из конфигурации, которую шлюз предоставляет ему по адресу `/user/bootstrap`: список разрешённых моделей, отключённые инструменты и список разрешённых адресов для исходящего трафика, полученные из блока `cli` или `code` сопоставленной политики, а также [оверлей `desktop`](https://code.claude.com/docs/ru/claude-apps-gateway-config#claude-desktop-overlay).

354 354 

355Другие ключи блока, такие как хуки, `env` и правила разрешений с ограниченной областью действия вроде `Bash(npm *)`, доходят до клиентов, которые входят через `/login`. Если они находятся в `code`, они также доходят до сессии вкладки Code, когда выполняются [условия для вкладки Code](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#apply-code-settings-in-the-code-tab). До сессий Cowork и Chat они не доходят. Claude Desktop читает URL шлюза из своей собственной управляемой конфигурации и выполняет вход по собственной схеме, независимо от ключей `forceLoginMethod` и `forceLoginGatewayUrl` из раздела [Задание URL шлюза](#set-the-gateway-url).355Другие ключи блока, такие как хуки, `env` и правила разрешений с ограниченной областью действия вроде `Bash(npm *)`, доходят до клиентов, которые входят через `/login`. Если они находятся в `code`, они также доходят до сессии вкладки Code, когда выполняются [условия для вкладки Code](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#apply-code-settings-in-the-code-tab). До сессий Cowork и Chat они не доходят. Claude Desktop читает URL шлюза из своей собственной управляемой конфигурации и выполняет вход по собственной схеме, независимо от ключей `forceLoginMethod` и `forceLoginGatewayUrl` из раздела [Задание URL шлюза](#set-the-gateway-url).

356 356 


480 480 

481Claude Desktop выполняет вход разработчика через провайдера удостоверений шлюза с тем же шагом SSO в браузере, а затем получает свою конфигурацию от шлюза, а не от Anthropic. Доступ к моделям и политика подчиняются тем же правилам для групп, что и в CLI. Разработчик, который использует и CLI, и Claude Desktop, входит в каждый из них отдельно; сессия шлюза между ними не разделяется.481Claude Desktop выполняет вход разработчика через провайдера удостоверений шлюза с тем же шагом SSO в браузере, а затем получает свою конфигурацию от шлюза, а не от Anthropic. Доступ к моделям и политика подчиняются тем же правилам для групп, что и в CLI. Разработчик, который использует и CLI, и Claude Desktop, входит в каждый из них отдельно; сессия шлюза между ними не разделяется.

482 482 

483После подключения Claude Desktop отправляет запросы к модели из каждой включённой вкладки через шлюз. По умолчанию он показывает вкладки Cowork и Code. Чтобы включить также вкладку Chat, задайте `chatTabEnabled` равным `true` в [управляемой конфигурации](https://claude.com/docs/third-party/claude-desktop/configuration) Claude Desktop или в [блоке `desktop`](https://code.claude.com/docs/ru/claude-apps-gateway-config#claude-desktop-overlay) политики на шлюзе с Claude Code v2.1.227 или новее.483После подключения Claude Desktop отправляет запросы к модели из каждой включённой вкладки через шлюз. По умолчанию он показывает вкладки Cowork и Code. Чтобы сделать доступной также вкладку Chat, задайте `chatTabEnabled` равным `true` в [блоке `desktop`](https://code.claude.com/docs/ru/claude-apps-gateway-config#claude-desktop-overlay) политики на шлюзе с Claude Code v2.1.227 или новее. Если Cowork включён, Claude Desktop в этом случае показывает Chat и Cowork вместе в одной вкладке.

484 484 

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

486 486 


523| Пересылка вывода (Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, Microsoft Foundry, Anthropic) | Доступно | С переводом модели для каждого вышестоящего уровня и отказоустойчивостью. Вышестоящий уровень Amazon Bedrock использует эндпоинт `bedrock-runtime` и цепь учётных данных AWS по умолчанию. [Вышестоящий уровень Amazon Bedrock Mantle](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#amazon-bedrock-mantle-endpoint) требует Claude Code v2.1.283 или более поздней версии на сервере шлюза, а [вышестоящий уровень Claude Platform on AWS](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#claude-platform-on-aws) требует v2.1.198 или более поздней версии. |523| Пересылка вывода (Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, Microsoft Foundry, Anthropic) | Доступно | С переводом модели для каждого вышестоящего уровня и отказоустойчивостью. Вышестоящий уровень Amazon Bedrock использует эндпоинт `bedrock-runtime` и цепь учётных данных AWS по умолчанию. [Вышестоящий уровень Amazon Bedrock Mantle](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#amazon-bedrock-mantle-endpoint) требует Claude Code v2.1.283 или более поздней версии на сервере шлюза, а [вышестоящий уровень Claude Platform on AWS](https://code.claude.com/docs/ru/claude-apps-gateway-config.md#claude-platform-on-aws) требует v2.1.198 или более поздней версии. |

524| Контекстное окно на 1M токенов | Доступно | Модели Fable, Sonnet 5 и более поздние, а также Opus 4.7 и более поздние по умолчанию работают с контекстным окном 1M; см. [Расширенный контекст](https://code.claude.com/docs/ru/model-config.md#extended-context). Окно 1M по умолчанию для моделей Fable и Opus требует Claude Code v2.1.287 или более поздней версии на компьютере разработчика |524| Контекстное окно на 1M токенов | Доступно | Модели Fable, Sonnet 5 и более поздние, а также Opus 4.7 и более поздние по умолчанию работают с контекстным окном 1M; см. [Расширенный контекст](https://code.claude.com/docs/ru/model-config.md#extended-context). Окно 1M по умолчанию для моделей Fable и Opus требует Claude Code v2.1.287 или более поздней версии на компьютере разработчика |

525| Доступ к модели и управляемые настройки по группе IdP | Доступно | Доступ к модели применяется на стороне сервера; управляемые настройки доставляются для каждой группы IdP и применяются CLI на [уровне управляемых настроек](https://code.claude.com/docs/ru/settings.md#settings-precedence) |525| Доступ к модели и управляемые настройки по группе IdP | Доступно | Доступ к модели применяется на стороне сервера; управляемые настройки доставляются для каждой группы IdP и применяются CLI на [уровне управляемых настроек](https://code.claude.com/docs/ru/settings.md#settings-precedence) |

526| Claude Desktop | Доступно с согласия | Шлюз обслуживает конфигурацию Claude Desktop по адресу `/user/bootstrap` после того, как политика [согласится с ключом `desktop`](https://code.claude.com/docs/ru/claude-apps-gateway-config#claude-desktop-overlay), и Claude Desktop отправляет запросы модели из своих вкладок Cowork и Code, а также из вкладки Chat, когда вы её включите, через шлюз. Чтобы включить вкладку Chat, см. [Подключение Claude Desktop](#connect-claude-desktop). Требует Claude Code v2.1.203 или более поздней версии на сервере шлюза. |526| Claude Desktop | Доступно с согласия | Шлюз обслуживает конфигурацию Claude Desktop по адресу `/user/bootstrap` после того, как политика [согласится с ключом `desktop`](https://code.claude.com/docs/ru/claude-apps-gateway-config#claude-desktop-overlay), и Claude Desktop отправляет свои запросы к модели через шлюз. Чтобы включить Chat, см. [Подключение Claude Desktop](#connect-claude-desktop). Требует Claude Code v2.1.203 или более поздней версии на сервере шлюза. |

527| Телеметрия fan-out (OTLP/HTTP) | Доступно | Идентификация-отмечена для каждого экспорта; оба кодирования protobuf и JSON |527| Телеметрия fan-out (OTLP/HTTP) | Доступно | Идентификация-отмечена для каждого экспорта; оба кодирования protobuf и JSON |

528| Поставщики идентификации OIDC | Доступно | Любой совместимый с OIDC IdP; шлюз запускает стандартное обнаружение OIDC и поток авторизации-кода. См. [Настройка поставщика идентификации](https://code.claude.com/docs/ru/claude-apps-gateway-deploy.md#identity-provider-setup) для конфигурации для каждого IdP |528| Поставщики идентификации OIDC | Доступно | Любой совместимый с OIDC IdP; шлюз запускает стандартное обнаружение OIDC и поток авторизации-кода. См. [Настройка поставщика идентификации](https://code.claude.com/docs/ru/claude-apps-gateway-deploy.md#identity-provider-setup) для конфигурации для каждого IdP |

529| Ограничения расходов для каждого пользователя и группы | Доступно | См. [Ограничения расходов](https://code.claude.com/docs/ru/claude-apps-gateway-spend-limits.md) |529| Ограничения расходов для каждого пользователя и группы | Доступно | См. [Ограничения расходов](https://code.claude.com/docs/ru/claude-apps-gateway-spend-limits.md) |

Details

201 201 

202Вытягивайте облачную сессию в ваш терминал, используя любое из этих:202Вытягивайте облачную сессию в ваш терминал, используя любое из этих:

203 203 

204* **Используя `--teleport`**: из командной строки запустите `claude --teleport` для интерактивного выбора сессии, или `claude --teleport <session-id>` для прямого возобновления конкретной сессии. Если у вас есть незафиксированные изменения, вам будет предложено сначала их спрятать.204* **Используя `--teleport`**: из командной строки запустите `claude --teleport` для интерактивного выбора сессии, или `claude --teleport <session-id>` для прямого возобновления конкретной сессии. Если у вас есть незафиксированные изменения, вам будет предложено сначала их спрятать. [`--resume`](https://code.claude.com/docs/ru/sessions#resume-a-session) переоткрывает диалог из локальной истории этой машины и не показывает облачные сессии.

205* **Используя `/teleport`**: внутри существующей сессии CLI запустите `/teleport` или `/tp` для открытия того же выбора сессии без перезагрузки Claude Code.205* **Используя `/teleport`**: внутри существующей сессии CLI запустите `/teleport` или `/tp` для открытия того же выбора сессии без перезагрузки Claude Code.

206* **Из `/tasks`**: запустите `/tasks` для просмотра ваших фоновых сессий, затем нажмите `t` для телепортирования в одну из них.206* **Из `/tasks`**: запустите `/tasks` для просмотра ваших фоновых сессий, затем нажмите `t` для телепортирования в одну из них.

207* **Из claude.ai/code**: выберите **Open in > Terminal** из меню сессии для копирования команды, которую вы можете вставить в ваш терминал.207* **Из claude.ai/code**: выберите **Open in > Terminal** из меню сессии для копирования команды, которую вы можете вставить в ваш терминал.

208* **Из облачной сессии**: введите `/teleport` и Claude Code ответит точной командой `claude --teleport <session-id>` для этой сессии, готовой к запуску из checkout репозитория. Требует Claude Code v2.1.223 или более поздней версии в окружении сессии.208* **Из облачной сессии**: введите `/teleport` и Claude Code ответит точной командой `claude --teleport <session-id>` для этой сессии, готовой к запуску из checkout репозитория. Требует Claude Code v2.1.223 или более поздней версии в окружении сессии.

209 209 

210Когда вы телепортируете сессию, Claude проверяет, что вы находитесь в правильном репозитории, получает и извлекает ветку из облачной сессии и загружает полную историю разговора в ваш терминал. Терминал получает свою собственную копию сессии: новая работа там остаётся локальной и не появляется в облачной сессии на claude.ai или в мобильном приложении Claude. Чтобы продолжить управление со своего телефона после телепортирования, запустите [`/remote-control`](https://code.claude.com/docs/ru/remote-control) в локальной сессии.210Когда вы телепортируете сессию, Claude проверяет, что вы находитесь в правильном репозитории, получает и извлекает ветку из облачной сессии и загружает диалог в ваш терминал.

211 211 

212`--teleport` отличается от `--resume`. `--resume` переоткрывает разговор из локальной истории этой машины и не перечисляет облачные сессии; `--teleport` вытягивает облачную сессию и её ветку.212> [!NOTE]

213>

214> Если Claude Code [сжал](https://code.claude.com/docs/ru/context-window.md#what-survives-compaction) облачную сессию, что происходит автоматически в длинной сессии, более ранние сообщения, которые он кратко изложил в сводке, не копируются в ваш терминал. Claude продолжает работу на основе сводки. Чтобы прочитать исходные сообщения, прокрутите вверх в облачной сессии на claude.ai или в мобильном приложении Claude.

215 

216Терминал получает свою собственную копию сессии: новая работа там остаётся локальной и не появляется в облачной сессии на claude.ai или в мобильном приложении Claude. Чтобы продолжить управление со своего телефона после телепортирования, запустите [`/remote-control`](https://code.claude.com/docs/ru/remote-control) в локальной сессии.

213 217 

214#### Требования для телепортирования218#### Требования для телепортирования

215 219 


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

496* **Ограничения по времени**: команды, которые запускает Claude, и hooks SessionStart имеют стандартные тайм-ауты, которые вы можете изменить, а скрипт настройки кэшируется только при завершении примерно за пять минут. См. [Time limits](https://code.claude.com/docs/ru/cloud-environments.md#time-limits)500* **Ограничения по времени**: команды, которые запускает Claude, и hooks SessionStart имеют стандартные тайм-ауты, которые вы можете изменить, а скрипт настройки кэшируется только при завершении примерно за пять минут. См. [Time limits](https://code.claude.com/docs/ru/cloud-environments.md#time-limits)

497* **Аутентификация репозитория**: вы можете извлечь облачный сеанс в свой терминал только при аутентификации в одной и той же учётной записи501* **Аутентификация репозитория**: вы можете извлечь облачный сеанс в свой терминал только при аутентификации в одной и той же учётной записи

498* **Ограничения платформы**: клонирование репозитория и создание запросов на слияние требуют GitHub. Экземпляры [GitHub Enterprise Server](https://code.claude.com/docs/ru/github-enterprise-server.md) с собственным размещением поддерживаются для планов Team и Enterprise. Вы можете отправить репозиторий GitLab, Bitbucket или другой репозиторий, не являющийся GitHub, в облачный сеанс как [локальный пакет](#send-local-repositories-without-github), установив `CCR_FORCE_BUNDLE=1`, но сеанс не сможет отправить результаты обратно на этот удалённый сервер502* **Ограничения платформы**: клонирование репозитория в средах, размещённых в Anthropic, и создание pull request требуют GitHub. Экземпляры [GitHub Enterprise Server](https://code.claude.com/docs/ru/github-enterprise-server.md) с собственным размещением поддерживаются для планов Team и Enterprise. Вы можете отправить репозиторий GitLab, Bitbucket или другой репозиторий, не являющийся GitHub, в облачную сессию как [локальный пакет](#send-local-repositories-without-github), установив `CCR_FORCE_BUNDLE=1`, но сессия не сможет отправить результаты обратно на этот удалённый сервер

503 * **Самостоятельно размещённые среды**: для репозитория на другом Git-хостинге см. [требования для запуска сессии с `--environment`](https://code.claude.com/docs/ru/self-hosted-environments-deploy#start-a-session-on-a-repository-outside-github).

499* **Список разрешённых IP-адресов организации**: облачные сессии вызывают API Anthropic из инфраструктуры, управляемой Anthropic, а не из вашей сети, в то время как сессии в [самостоятельно размещённой среде](https://code.claude.com/docs/ru/self-hosted-environments) вызывают его из вашей собственной сети. Если в вашей организации включён [список разрешённых IP-адресов](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting), каждая облачная сессия, размещённая в Anthropic, завершится ошибкой аутентификации.504* **Список разрешённых IP-адресов организации**: облачные сессии вызывают API Anthropic из инфраструктуры, управляемой Anthropic, а не из вашей сети, в то время как сессии в [самостоятельно размещённой среде](https://code.claude.com/docs/ru/self-hosted-environments) вызывают его из вашей собственной сети. Если в вашей организации включён [список разрешённых IP-адресов](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting), каждая облачная сессия, размещённая в Anthropic, завершится ошибкой аутентификации.

500 * **Code Review и запланированные задачи**: то же самое относится к [Code Review](https://code.claude.com/docs/ru/code-review.md) и к [облачным запланированным задачам](https://code.claude.com/docs/ru/routines.md), которые выполняются в средах, размещённых в Anthropic. Запланированная задача, направленная в самостоятельно размещённую среду, вызывает API из вашей собственной сети.505 * **Code Review и запланированные задачи**: то же самое относится к [Code Review](https://code.claude.com/docs/ru/code-review.md) и к [облачным запланированным задачам](https://code.claude.com/docs/ru/routines.md), которые выполняются в средах, размещённых в Anthropic. Запланированная задача, направленная в самостоятельно размещённую среду, вызывает API из вашей собственной сети.

501 * **Получение исключения**: обратитесь в [службу поддержки Anthropic](https://support.claude.com/), чтобы исключить размещённые в Anthropic сервисы из списка разрешённых IP-адресов вашей организации.506 * **Получение исключения**: обратитесь в [службу поддержки Anthropic](https://support.claude.com/), чтобы исключить размещённые в Anthropic сервисы из списка разрешённых IP-адресов вашей организации.

Details

8 8 

9Claude Code читает инструкции, параметры, skills, subagents и память из директории вашего проекта и из `~/.claude` в вашей домашней директории. Зафиксируйте файлы проекта в git, чтобы поделиться ими с вашей командой; файлы в `~/.claude` — это личная конфигурация, которая применяется ко всем вашим проектам.9Claude Code читает инструкции, параметры, skills, subagents и память из директории вашего проекта и из `~/.claude` в вашей домашней директории. Зафиксируйте файлы проекта в git, чтобы поделиться ими с вашей командой; файлы в `~/.claude` — это личная конфигурация, которая применяется ко всем вашим проектам.

10 10 

11На Windows `~/.claude` разрешается в `%USERPROFILE%\.claude`. Если вы установите [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ru/env-vars), каждый путь `~/.claude` на этой странице будет находиться в этой директории вместо этого.11На Windows `~/.claude` разрешается в `%USERPROFILE%\.claude`. Если вы зададите [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ru/env-vars), каждый путь `~/.claude` на этой странице будет находиться в этом каталоге. То же относится к `.claude.json`, который в противном случае находится в `~/.claude.json`.

12 12 

13Большинство пользователей редактируют только `CLAUDE.md` и `settings.json`. Если ваш репозиторий уже содержит `AGENTS.md` для других агентов кодирования, Claude Code [может читать его](https://code.claude.com/docs/ru/memory.md#agents-md) вместо `CLAUDE.md`. Остальная часть директории опциональна: добавляйте skills, rules или subagents по мере необходимости.13Большинство пользователей редактируют только `CLAUDE.md` и `settings.json`. Если ваш репозиторий уже содержит `AGENTS.md` для других агентов кодирования, Claude Code [может читать его](https://code.claude.com/docs/ru/memory.md#agents-md) вместо `CLAUDE.md`. Остальная часть директории опциональна: добавляйте skills, rules или subagents по мере необходимости.

14 14 


76| [`agents/*.md`](#ce-agents) | Проект и глобально | ✓ | Определения subagents с их собственной подсказкой и инструментами | [Subagents](https://code.claude.com/docs/ru/sub-agents.md) |76| [`agents/*.md`](#ce-agents) | Проект и глобально | ✓ | Определения subagents с их собственной подсказкой и инструментами | [Subagents](https://code.claude.com/docs/ru/sub-agents.md) |

77| [`workflows/*.js`](#ce-workflows) | Проект и глобально | ✓ | Динамические скрипты рабочего процесса, написанные Claude и сохранённые из `/workflows`; каждый файл становится командой `/<name>` | [Dynamic workflows](https://code.claude.com/docs/ru/workflows.md) |77| [`workflows/*.js`](#ce-workflows) | Проект и глобально | ✓ | Динамические скрипты рабочего процесса, написанные Claude и сохранённые из `/workflows`; каждый файл становится командой `/<name>` | [Dynamic workflows](https://code.claude.com/docs/ru/workflows.md) |

78| [`agent-memory/<name>/`](#ce-agent-memory) | Проект и глобально | ✓ | Постоянная память для subagents | [Постоянная память](https://code.claude.com/docs/ru/sub-agents.md#enable-persistent-memory) |78| [`agent-memory/<name>/`](#ce-agent-memory) | Проект и глобально | ✓ | Постоянная память для subagents | [Постоянная память](https://code.claude.com/docs/ru/sub-agents.md#enable-persistent-memory) |

79| [`~/.claude.json`](#ce-claude-json) | Только глобально | | Состояние приложения, данные учётной записи, переключатели UI, личные серверы MCP | [Глобальная конфигурация](https://code.claude.com/docs/ru/settings-reference.md#global-config-settings) |79| [`~/.claude.json`](#ce-claude-json) | Только глобально | | Состояние приложения, данные учётной записи, переключатели UI, личные MCP-серверы. Если файл отсутствует, Claude Code создаёт его при запуске сессии или выполнении подкоманды, например `claude auth status`, но не при `--version` или `--help`. | [Глобальная конфигурация](https://code.claude.com/docs/ru/settings-reference.md#global-config-settings) |

80| [`projects/<project>/memory/`](#ce-global-projects) | Только глобально | | Auto memory: заметки Claude самому себе между сеансами | [Auto memory](https://code.claude.com/docs/ru/memory.md#auto-memory) |80| [`projects/<project>/memory/`](#ce-global-projects) | Только глобально | | Auto memory: заметки Claude самому себе между сеансами | [Auto memory](https://code.claude.com/docs/ru/memory.md#auto-memory) |

81| [`keybindings.json`](#ce-keybindings) | Только глобально | | Пользовательские сочетания клавиш | [Keybindings](https://code.claude.com/docs/ru/keybindings.md) |81| [`keybindings.json`](#ce-keybindings) | Только глобально | | Пользовательские сочетания клавиш | [Keybindings](https://code.claude.com/docs/ru/keybindings.md) |

82| [`themes/*.json`](#ce-themes) | Только глобально | | Пользовательские цветовые темы | [Пользовательские темы](https://code.claude.com/docs/ru/terminal-config.md#create-a-custom-theme) |82| [`themes/*.json`](#ce-themes) | Только глобально | | Пользовательские цветовые темы | [Пользовательские темы](https://code.claude.com/docs/ru/terminal-config.md#create-a-custom-theme) |

Details

411 411 

412Проект использует ваши лимиты быстрее, чем один сеанс, и на плане Pro в частности вы должны ожидать достичь ваш лимит раньше в дни, когда вы запускаете один. Это части проекта, которые используют ваш план:412Проект использует ваши лимиты быстрее, чем один сеанс, и на плане Pro в частности вы должны ожидать достичь ваш лимит раньше в дни, когда вы запускаете один. Это части проекта, которые используют ваш план:

413 413 

414* **Работающие потоки**: каждый — это полный сеанс, и несколько могут работать одновременно. Нет фиксированного числа; Claude запускает столько, сколько требует работа, и лимит, который вы [просите](#tune-how-claude-runs-a-project), — это предпочтение, а не ограничение. Принудительный лимит — 200 новых потоков в день во всех ваших проектах.414* **Работающие потоки**: каждый — это полноценная сессия, и несколько могут работать одновременно. Нет фиксированного числа; Claude запускает столько, сколько требует работа, и лимит, который вы [просите](#tune-how-claude-runs-a-project), — это предпочтение, а не ограничение. Принудительный лимит — 500 новых потоков в день во всех ваших проектах.

415* **Разговор**: Claude использует токены самостоятельно, читая то, что сообщают потоки и решая, что делать дальше.415* **Разговор**: Claude использует токены самостоятельно, читая то, что сообщают потоки и решая, что делать дальше.

416* **Потоки, наблюдающие за pull request**: неактивный поток просыпается и использует ваш план снова, когда CI не работает или приходит комментарий проверки на его pull request. Чтобы остановить это, попросите в потоке остановить наблюдение за pull request.416* **Потоки, наблюдающие за pull request**: неактивный поток просыпается и использует ваш план снова, когда CI не работает или приходит комментарий проверки на его pull request. Чтобы остановить это, попросите в потоке остановить наблюдение за pull request.

417 417 

Details

126| `--resume`, `-r` | Возобновить конкретный сеанс по ID или имени, или показать интерактивный выбор для выбора сеанса. Вместо ID вы можете передать абсолютный путь к [файлу транскрипта `.jsonl` сеанса](https://code.claude.com/docs/ru/sessions#where-transcripts-are-stored). Выбор и поиск по имени включают сеансы, которые добавили этот каталог с `/add-dir`. Когда вы передаёте ID сеанса, Claude Code ищет текущий каталог проекта и его git worktrees, затем каждый другой проект на этой машине. До v2.1.223 поиск ID охватывал только текущий каталог проекта и его git worktrees. [Фоновые сеансы](https://code.claude.com/docs/ru/agent-view.md) появляются в выборе, отмеченные с `bg`. Возобновление того, который всё ещё работает, [открывает этот сеанс](https://code.claude.com/docs/ru/sessions.md#resume-a-running-background-session) в этом терминале через `claude attach`, и приглашение, которое вы передаёте в командной строке, идёт ему как его следующий ход. До v2.1.285 Claude Code отказывал и выводил команду `claude attach` для запуска вместо этого | `claude --resume auth-refactor` |126| `--resume`, `-r` | Возобновить конкретный сеанс по ID или имени, или показать интерактивный выбор для выбора сеанса. Вместо ID вы можете передать абсолютный путь к [файлу транскрипта `.jsonl` сеанса](https://code.claude.com/docs/ru/sessions#where-transcripts-are-stored). Выбор и поиск по имени включают сеансы, которые добавили этот каталог с `/add-dir`. Когда вы передаёте ID сеанса, Claude Code ищет текущий каталог проекта и его git worktrees, затем каждый другой проект на этой машине. До v2.1.223 поиск ID охватывал только текущий каталог проекта и его git worktrees. [Фоновые сеансы](https://code.claude.com/docs/ru/agent-view.md) появляются в выборе, отмеченные с `bg`. Возобновление того, который всё ещё работает, [открывает этот сеанс](https://code.claude.com/docs/ru/sessions.md#resume-a-running-background-session) в этом терминале через `claude attach`, и приглашение, которое вы передаёте в командной строке, идёт ему как его следующий ход. До v2.1.285 Claude Code отказывал и выводил команду `claude attach` для запуска вместо этого | `claude --resume auth-refactor` |

127| `--safe-mode` | Запустить со всеми отключенными настройками для устранения неполадок в нарушенной конфигурации: CLAUDE.md, skills, plugins, hooks, MCP серверы, пользовательские команды и агенты, стили вывода, рабочие процессы, пользовательские темы, пользовательские сочетания клавиш, строка состояния и команды предложения файлов, LSP серверы и автоматическая память не загружаются. Аутентификация, выбор модели, встроенные инструменты и разрешения работают нормально, что отличается от [`--bare`](https://code.claude.com/docs/ru/headless#start-faster-with-bare-mode). Политика управляемых параметров всё ещё применяется, включая настроенные политикой hooks, строку состояния и команды предложения файлов; управляемые plugins, управляемые skills, управляемый CLAUDE.md и настроенные политикой MCP серверы не загружаются. Полезно для проверки того, является ли настройка причиной [автоматического переключения модели](https://code.claude.com/docs/ru/model-config.md#automatic-model-fallback). Устанавливает [`CLAUDE_CODE_SAFE_MODE`](https://code.claude.com/docs/ru/env-vars) | `claude --safe-mode` |127| `--safe-mode` | Запустить со всеми отключенными настройками для устранения неполадок в нарушенной конфигурации: CLAUDE.md, skills, plugins, hooks, MCP серверы, пользовательские команды и агенты, стили вывода, рабочие процессы, пользовательские темы, пользовательские сочетания клавиш, строка состояния и команды предложения файлов, LSP серверы и автоматическая память не загружаются. Аутентификация, выбор модели, встроенные инструменты и разрешения работают нормально, что отличается от [`--bare`](https://code.claude.com/docs/ru/headless#start-faster-with-bare-mode). Политика управляемых параметров всё ещё применяется, включая настроенные политикой hooks, строку состояния и команды предложения файлов; управляемые plugins, управляемые skills, управляемый CLAUDE.md и настроенные политикой MCP серверы не загружаются. Полезно для проверки того, является ли настройка причиной [автоматического переключения модели](https://code.claude.com/docs/ru/model-config.md#automatic-model-fallback). Устанавливает [`CLAUDE_CODE_SAFE_MODE`](https://code.claude.com/docs/ru/env-vars) | `claude --safe-mode` |

128| `--session-id` | Использовать конкретный ID сеанса для беседы (должен быть действительным UUID) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |128| `--session-id` | Использовать конкретный ID сеанса для беседы (должен быть действительным UUID) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

129| `--setting-sources` | Разделённый запятыми список источников параметров для загрузки (`user`, `project`, `local`). См. [agent view](https://code.claude.com/docs/ru/agent-view.md#what-carries-over-when-you-background) и [agent teams](https://code.claude.com/docs/ru/agent-teams.md#context-and-communication) для сеансов, которые вы запускаете из этого, которые наследуют список | `claude --setting-sources user,project` |129| `--setting-sources` | Разделённый запятыми список источников параметров для загрузки (`user`, `project`, `local`). См. [agent view](https://code.claude.com/docs/ru/agent-view.md#what-carries-over-when-you-background) и [команды агентов](https://code.claude.com/docs/ru/agent-teams.md#context-and-communication) для сеансов, которые вы запускаете из текущего и которые наследуют этот список | `claude --setting-sources user,project` |

130| `--settings` | Путь к файлу параметров JSON или встроенная строка JSON. Значения, которые вы устанавливаете здесь, переопределяют те же ключи в ваших файлах `settings.json` для этого сеанса. Ключи, которые вы опускаете, сохраняют свои значения на основе файла. Файл должен быть обычным файлом размером не более 2 МиБ. См. [приоритет параметров](https://code.claude.com/docs/ru/settings.md#settings-precedence) | `claude --settings ./settings.json` |130| `--settings` | Путь к файлу параметров JSON или встроенная строка JSON. Значения, которые вы устанавливаете здесь, переопределяют те же ключи в ваших файлах `settings.json` для этого сеанса. Ключи, которые вы опускаете, сохраняют свои значения на основе файла. Файл должен быть обычным файлом размером не более 2 МиБ. См. [приоритет параметров](https://code.claude.com/docs/ru/settings.md#settings-precedence) | `claude --settings ./settings.json` |

131| `--strict-mcp-config` | Использовать только MCP серверы из `--mcp-config`, игнорируя все остальные конфигурации MCP. См. [Исключительный контроль с managed-mcp.json](https://code.claude.com/docs/ru/managed-mcp.md#exclusive-control-with-managed-mcp-json) для того, что флаг делает под управляемым файлом MCP | `claude --strict-mcp-config --mcp-config ./mcp.json` |131| `--strict-mcp-config` | Использовать только MCP серверы из `--mcp-config`, игнорируя все остальные конфигурации MCP. См. [Исключительный контроль с managed-mcp.json](https://code.claude.com/docs/ru/managed-mcp.md#exclusive-control-with-managed-mcp-json) для того, что флаг делает под управляемым файлом MCP | `claude --strict-mcp-config --mcp-config ./mcp.json` |

132| `--system-prompt` | Заменить весь системный запрос пользовательским текстом | `claude --system-prompt "You are a Python expert"` |132| `--system-prompt` | Заменить весь системный запрос пользовательским текстом | `claude --system-prompt "You are a Python expert"` |

Details

25 25 

26> [!NOTE]26> [!NOTE]

27>27>

28> Сеансы [Remote Control](https://code.claude.com/docs/ru/remote-control.md) подключают веб-интерфейс и мобильный интерфейс к сеансу на вашей собственной машине, которая использует сеть и файлы вашей машины, а не облачную среду. Сеансы канала Claude Tag используют только среды уровня организации, либо [общие среды](#organization-shared-environments), либо [самостоятельно размещённые среды](https://code.claude.com/docs/ru/self-hosted-environments).28> Сессии [Remote Control](https://code.claude.com/docs/ru/remote-control.md) подключают веб-интерфейс и мобильный интерфейс к сессии на вашей собственной машине, которая использует сеть и файлы вашей машины, а не облачную среду. Чтобы выбрать среду, которую использует канал Claude Tag, см. раздел [Настройка среды, используемой каналом Claude Tag](#set-the-environment-a-claude-tag-channel-uses).

29 29 

30## Среда Default30## Среда Default

31 31 

Details

64| PRs reviewed | Ежедневное количество pull request, прошедших ревью, за выбранный период |64| PRs reviewed | Ежедневное количество pull request, прошедших ревью, за выбранный период |

65| Code Review cost | Расходы на Code Review с начала текущего месяца |65| Code Review cost | Расходы на Code Review с начала текущего месяца |

66| Feedback | Количество комментариев ревью, которые были автоматически закрыты, потому что разработчик устранил проблему |66| Feedback | Количество комментариев ревью, которые были автоматически закрыты, потому что разработчик устранил проблему |

67| Code Review findings | Ежедневное количество [находок по уровню серьёзности](https://code.claude.com/docs/ru/code-review-pull-requests.md#severity-levels) из ревью, которые Claude опубликовал за выбранный период |

67| Repository breakdown | Количество PR, прошедших ревью, закрытых комментариев и запусков ревью по каждому репозиторию с оценочной стоимостью и представлением по каждому PR |68| Repository breakdown | Количество PR, прошедших ревью, закрытых комментариев и запусков ревью по каждому репозиторию с оценочной стоимостью и представлением по каждому PR |

68 69 

69Карточка Code Review cost показывает сумму, только когда выбран текущий месяц. Данные о стоимости в аналитике могут отличаться от вашего счёта. Стоимость в Repository breakdown рассчитывается по прейскурантной цене, без учёта скидок и кредитов, и охватывает только ревью, которые Claude опубликовал в pull request. Для получения точных данных о расходах обращайтесь к своему счёту Anthropic.70Карточка Code Review cost показывает сумму, только когда выбран текущий месяц. Данные о стоимости в аналитике могут отличаться от вашего счёта. Стоимость в Repository breakdown рассчитывается по прейскурантной цене, без учёта скидок и кредитов, и охватывает только ревью, которые Claude опубликовал в pull request. Для получения точных данных о расходах обращайтесь к своему счёту Anthropic.

commands.md +2 −1

Details

111| `/mcp [reconnect (<server>\|all)\|enable\|disable [<server>\|all]]` | Управлять подключениями к MCP-серверам и аутентификацией OAuth. Запустите без аргумента, чтобы открыть интерактивный список, или передайте `reconnect`, `enable` или `disable` с именем сервера или `all`, чтобы изменить состояние подключения, не открывая его. `reconnect all` [повторяет попытку для каждого сервера, который завершился ошибкой или требует аутентификации](https://code.claude.com/docs/ru/mcp.md#retry-failed-servers-yourself). В неинтерактивном режиме (`-p`) запуск без аргумента выводит текстовую сводку состояния серверов вместо открытия списка |111| `/mcp [reconnect (<server>\|all)\|enable\|disable [<server>\|all]]` | Управлять подключениями к MCP-серверам и аутентификацией OAuth. Запустите без аргумента, чтобы открыть интерактивный список, или передайте `reconnect`, `enable` или `disable` с именем сервера или `all`, чтобы изменить состояние подключения, не открывая его. `reconnect all` [повторяет попытку для каждого сервера, который завершился ошибкой или требует аутентификации](https://code.claude.com/docs/ru/mcp.md#retry-failed-servers-yourself). В неинтерактивном режиме (`-p`) запуск без аргумента выводит текстовую сводку состояния серверов вместо открытия списка |

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

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

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

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

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

117| `/permissions` | Управлять правилами allow, ask и deny для разрешений инструментов. Открывает интерактивное диалоговое окно, где можно просматривать правила по области действия, добавлять или удалять правила, управлять рабочими каталогами и просматривать [недавние отказы авторежима](https://code.claude.com/docs/ru/auto-mode-config.md#review-denials). Вы также можете просматривать и редактировать [правила классификатора авторежима](https://code.claude.com/docs/ru/auto-mode-config.md#edit-rules-from-permissions) на вкладке **Auto mode** диалогового окна. Если вы запускаете команду, пока Claude отвечает, Claude Code сразу открывает диалоговое окно и применяет ваши изменения начиная со следующего вызова инструмента Claude в том же ходе. До v2.1.234 Claude Code ставил команду в очередь до завершения хода. Псевдоним: `/allowed-tools` |117| `/permissions` | Управлять правилами allow, ask и deny для разрешений инструментов. Открывает интерактивное диалоговое окно, где можно просматривать правила по области действия, добавлять или удалять правила, управлять рабочими каталогами и просматривать [недавние отказы авторежима](https://code.claude.com/docs/ru/auto-mode-config.md#review-denials). Вы также можете просматривать и редактировать [правила классификатора авторежима](https://code.claude.com/docs/ru/auto-mode-config.md#edit-rules-from-permissions) на вкладке **Auto mode** диалогового окна. Если вы запускаете команду, пока Claude отвечает, Claude Code сразу открывает диалоговое окно и применяет ваши изменения начиная со следующего вызова инструмента Claude в том же ходе. До v2.1.234 Claude Code ставил команду в очередь до завершения хода. Псевдоним: `/allowed-tools` |


130| `/remote-control` | Сделать эту сессию доступной для [Remote Control](https://code.claude.com/docs/ru/remote-control.md) с claude.ai. При запуске без входа в систему выводит сообщение о том, что для Remote Control требуется подписка claude.ai, и объясняет, как войти. Псевдоним: `/rc` |130| `/remote-control` | Сделать эту сессию доступной для [Remote Control](https://code.claude.com/docs/ru/remote-control.md) с claude.ai. При запуске без входа в систему выводит сообщение о том, что для Remote Control требуется подписка claude.ai, и объясняет, как войти. Псевдоним: `/rc` |

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

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

133| `/restart` | Перезапустить Claude Code и возобновить эту сессию, что применяет установленное обновление. Запускайте команду, когда нижняя строка предлагает это после установки обновления. Требуется тариф Pro или Max и нативная установка на macOS или Linux, но не в WSL. Требуется Claude Code v2.1.288 или новее. Псевдоним: `/update` |

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

134| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | Псевдоним [`/code-review`](https://code.claude.com/docs/ru/code-review-local): проверяет текущий diff либо переданные номер PR, ветку или путь, например `/review 1234`, и принимает те же уровни effort и флаги. Если уровень не указан, ревью повторно использует последний введённый вами уровень от `low` до `max`; точные правила см. в разделе [Локальное код-ревью с помощью `/code-review`](https://code.claude.com/docs/ru/code-review-local). Для глубокого облачного ревью используйте [`/code-review ultra`](https://code.claude.com/docs/ru/ultrareview). До v2.1.223 `/review` была отдельной командой, которая выполняла однопроходное ревью pull request на GitHub по номеру в режиме только для чтения и при запуске без аргумента показывала список открытых PR для выбора; с v2.1.186 по v2.1.201 она использовала тот же мультиагентный движок, что и `/code-review medium` |135| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | Псевдоним [`/code-review`](https://code.claude.com/docs/ru/code-review-local): проверяет текущий diff либо переданные номер PR, ветку или путь, например `/review 1234`, и принимает те же уровни effort и флаги. Если уровень не указан, ревью повторно использует последний введённый вами уровень от `low` до `max`; точные правила см. в разделе [Локальное код-ревью с помощью `/code-review`](https://code.claude.com/docs/ru/code-review-local). Для глубокого облачного ревью используйте [`/code-review ultra`](https://code.claude.com/docs/ru/ultrareview). До v2.1.223 `/review` была отдельной командой, которая выполняла однопроходное ревью pull request на GitHub по номеру в режиме только для чтения и при запуске без аргумента показывала список открытых PR для выбора; с v2.1.186 по v2.1.201 она использовала тот же мультиагентный движок, что и `/code-review medium` |

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

costs.md +1 −6

Details

375 375 

376## Использование токенов в фоновом режиме376## Использование токенов в фоновом режиме

377 377 

378Claude Code использует токены для некоторой фоновой функциональности даже когда неактивен:378Краткое содержание сессии и сжатие контекста при бездействии могут расходовать токены, пока вы неактивны. Подробнее о том, когда запускается каждая из этих функций и как её отключить, см. в разделах [краткое содержание сессии](https://code.claude.com/docs/ru/interactive-mode.md#session-recap) и [сжатие контекста при бездействии](https://code.claude.com/docs/ru/settings-reference.md#idlecompaction).

379 

380* **Суммирование разговора**: Фоновые задания, которые суммируют предыдущие разговоры для функции `claude --resume`

381* **Обработка команд**: Некоторые команды, такие как `/usage`, могут генерировать запросы для проверки статуса

382 

383Эти фоновые процессы потребляют небольшое количество токенов (обычно менее \$0.04 за сессию) даже без активного взаимодействия.

384 379 

385Когда предложения подсказок включены, Claude Code также отправляет короткий запрос к модели, которую использует ваша сессия, после ответа Claude, чтобы [предложить вашу следующую подсказку](https://code.claude.com/docs/ru/interactive-mode.md#prompt-suggestions). Этот запрос повторно использует кэш подсказок разговора, поэтому он в основном состоит из чтений кэша плюс несколько выходных токенов. Claude Code [пропускает его, когда ваш аккаунт близок к лимиту использования или достиг его](https://code.claude.com/docs/ru/interactive-mode.md#when-claude-code-skips-suggestions). Чтобы остановить эти запросы, [отключите предложения подсказок](https://code.claude.com/docs/ru/interactive-mode.md#turn-prompt-suggestions-off).380Когда предложения подсказок включены, Claude Code также отправляет короткий запрос к модели, которую использует ваша сессия, после ответа Claude, чтобы [предложить вашу следующую подсказку](https://code.claude.com/docs/ru/interactive-mode.md#prompt-suggestions). Этот запрос повторно использует кэш подсказок разговора, поэтому он в основном состоит из чтений кэша плюс несколько выходных токенов. Claude Code [пропускает его, когда ваш аккаунт близок к лимиту использования или достиг его](https://code.claude.com/docs/ru/interactive-mode.md#when-claude-code-skips-suggestions). Чтобы остановить эти запросы, [отключите предложения подсказок](https://code.claude.com/docs/ru/interactive-mode.md#turn-prompt-suggestions-off).

386 381 

desktop.md +18 −0

Details

1930* **Windows**: настройте через реестр в `SOFTWARE\Policies\Claude`1930* **Windows**: настройте через реестр в `SOFTWARE\Policies\Claude`

1931* **Linux**: настройте через принадлежащий root файл `/etc/claude-desktop/managed-settings.json`, который содержит ключи политики в виде объекта JSON. Desktop отклоняет этот файл, если записывать в него или в его папку может кто-либо, кроме root. Это другой файл, отличный от [файла управляемых настроек](https://code.claude.com/docs/ru/managed-settings.md) Claude Code.1931* **Linux**: настройте через принадлежащий root файл `/etc/claude-desktop/managed-settings.json`, который содержит ключи политики в виде объекта JSON. Desktop отклоняет этот файл, если записывать в него или в его папку может кто-либо, кроме root. Это другой файл, отличный от [файла управляемых настроек](https://code.claude.com/docs/ru/managed-settings.md) Claude Code.

1932 1932 

1933#### Ограничение входа только вашей организацией

1934 

1935Чтобы ограничить, какие организации claude.ai могут входить в Claude Desktop, задайте `forceLoginOrgUUID` в политике Claude Desktop.

1936 

1937Для этого ключа требуется Claude Desktop v1.2581.0 или новее.

1938 

1939В Linux файл политики, задающий только этот ключ, выглядит так:

1940 

1941```json /etc/claude-desktop/managed-settings.json theme={null}

1942{

1943 "forceLoginOrgUUID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

1944}

1945```

1946 

1947Замените заполнитель идентификатором вашей организации claude.ai, который отображается в [настройках администратора claude.ai](https://claude.ai/admin-settings/organization). Это тот же идентификатор, который принимает настройка [`forceLoginOrgUUID`](https://code.claude.com/docs/ru/settings-reference#forceloginorguuid) Claude Code. Примеры для macOS и Windows, задающие этот ключ, см. в разделе [Deploy the Claude Desktop policy](https://claude.com/docs/cowork/hipaa-setup#deploy-the-claude-desktop-policy) руководства по Cowork для организаций, готовых к HIPAA.

1948 

1949Если вы задаёте `forceLoginMethod` и `forceLoginOrgUUID` в [управляемых настройках](https://code.claude.com/docs/ru/managed-settings.md) Claude Code, экран входа Claude Desktop от этого не меняется.

1950 

1933### Требования к доступу к сети1951### Требования к доступу к сети

1934 1952 

1935Desktop загружает код приложения и пользовательское содержимое с хостов CDN Anthropic.1953Desktop загружает код приложения и пользовательское содержимое с хостов CDN Anthropic.

env-vars.md +2 −1

Details

428| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Верхний предел в миллисекундах для времени, в течение которого агент [рабочего процесса](https://code.claude.com/docs/ru/workflows.md) ждёт начала первого ответа родственного агента с тем же префиксом, прежде чем отправить собственный первый запрос. Когда разветвление запускает несколько агентов с общим [префиксом кэша промптов](https://code.claude.com/docs/ru/workflows.md#prompt-caching-in-a-fan-out), Claude Code задерживает всех агентов, кроме первого, не дольше этого времени, чтобы остальные считывали кэшированный префикс, а не обрабатывали его каждый без кэша. По умолчанию `5000`. Установите `0`, чтобы отключить ожидание. Когда задана `DISABLE_PROMPT_CACHING`, агенты никогда не ждут. Требуется Claude Code v2.1.229 или новее |428| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Верхний предел в миллисекундах для времени, в течение которого агент [рабочего процесса](https://code.claude.com/docs/ru/workflows.md) ждёт начала первого ответа родственного агента с тем же префиксом, прежде чем отправить собственный первый запрос. Когда разветвление запускает несколько агентов с общим [префиксом кэша промптов](https://code.claude.com/docs/ru/workflows.md#prompt-caching-in-a-fan-out), Claude Code задерживает всех агентов, кроме первого, не дольше этого времени, чтобы остальные считывали кэшированный префикс, а не обрабатывали его каждый без кэша. По умолчанию `5000`. Установите `0`, чтобы отключить ожидание. Когда задана `DISABLE_PROMPT_CACHING`, агенты никогда не ждут. Требуется Claude Code v2.1.229 или новее |

429| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | Установите `1`, чтобы над промптом отображалась строка для каждой из трёх последних проверок, выполненных [модом You should know](https://code.claude.com/docs/ru/interactive-mode.md#you-should-know-suggestions) в этой сессии. Используйте, чтобы убедиться, что мод выполняет проверки, когда заметки не появляются. Требуется Claude Code v2.1.287 или новее |429| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | Установите `1`, чтобы над промптом отображалась строка для каждой из трёх последних проверок, выполненных [модом You should know](https://code.claude.com/docs/ru/interactive-mode.md#you-should-know-suggestions) в этой сессии. Используйте, чтобы убедиться, что мод выполняет проверки, когда заметки не появляются. Требуется Claude Code v2.1.287 или новее |

430| `CLAUDE_CONFIG_DIR` | Переопределить каталог конфигурации (по умолчанию: `~/.claude`). Все настройки, история сессий и плагины хранятся по этому пути. Об учётных данных см. [где Claude Code хранит учётные данные](https://code.claude.com/docs/ru/authentication.md#credential-management). Полезно для параллельной работы с несколькими учётными записями: например, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Задайте её в оболочке, пользовательских настройках или управляемых настройках. В файле настроек укажите [абсолютный путь](#in-settings-files). Игнорируется в [настройках проекта и локальных настройках](https://code.claude.com/docs/ru/settings-reference.md#variables-claude-code-ignores-in-env) |430| `CLAUDE_CONFIG_DIR` | Переопределить каталог конфигурации (по умолчанию: `~/.claude`). Все настройки, история сессий и плагины хранятся по этому пути. Об учётных данных см. [где Claude Code хранит учётные данные](https://code.claude.com/docs/ru/authentication.md#credential-management). Полезно для параллельной работы с несколькими учётными записями: например, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Задайте её в оболочке, пользовательских настройках или управляемых настройках. В файле настроек укажите [абсолютный путь](#in-settings-files). Игнорируется в [настройках проекта и локальных настройках](https://code.claude.com/docs/ru/settings-reference.md#variables-claude-code-ignores-in-env) |

431| `CLAUDE_EFFORT` | Автоматически устанавливается в подпроцессах инструмента Bash и командах хуков в значение [уровня effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level), действующего на момент запуска подпроцесса: `low`, `medium`, `high`, `xhigh` или `max`. Совпадает с полем `effort.level`, передаваемым [хукам](https://code.claude.com/docs/ru/hooks.md). Устанавливается, только если текущая модель поддерживает параметр effort |431| `CLAUDE_EFFORT` | Автоматически задаётся в подпроцессах инструмента Bash и командах хуков равной настройке [уровня effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) на момент запуска подпроцесса: `low`, `medium`, `high`, `xhigh` или `max`. Совпадает с полем `effort.level`, передаваемым [хукам](https://code.claude.com/docs/ru/hooks.md). Задаётся, только если текущая модель поддерживает параметр effort |

432| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Установите значение `1`, чтобы принудительно включить сторожевой таймер простоя потоковой передачи на уровне байтов, или `0`, чтобы принудительно отключить его. `0` также отключает [крайний срок первого байта](https://code.claude.com/docs/ru/network-config.md#streaming-idle-watchdogs) на соединениях, где этот крайний срок действует. Если переменная не задана, сторожевой таймер по умолчанию включён для прямых соединений с Anthropic API и [Claude Platform on AWS](https://code.claude.com/docs/ru/claude-platform-on-aws.md), а также для потоковых ответов на соединениях через [шлюз](https://code.claude.com/docs/ru/gateways.md), достигаемый через `ANTHROPIC_BASE_URL` или `ANTHROPIC_AWS_BASE_URL`; до v2.1.222 он не работал на этих соединениях через шлюз, поэтому сторожевой таймер уровня событий мог сообщать о зависании даже при поступлении keep-alive пингов. О таймаутах и взаимодействии таймеров см. [Сторожевые таймеры простоя потоковой передачи](https://code.claude.com/docs/ru/network-config.md#streaming-idle-watchdogs) |432| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Установите значение `1`, чтобы принудительно включить сторожевой таймер простоя потоковой передачи на уровне байтов, или `0`, чтобы принудительно отключить его. `0` также отключает [крайний срок первого байта](https://code.claude.com/docs/ru/network-config.md#streaming-idle-watchdogs) на соединениях, где этот крайний срок действует. Если переменная не задана, сторожевой таймер по умолчанию включён для прямых соединений с Anthropic API и [Claude Platform on AWS](https://code.claude.com/docs/ru/claude-platform-on-aws.md), а также для потоковых ответов на соединениях через [шлюз](https://code.claude.com/docs/ru/gateways.md), достигаемый через `ANTHROPIC_BASE_URL` или `ANTHROPIC_AWS_BASE_URL`; до v2.1.222 он не работал на этих соединениях через шлюз, поэтому сторожевой таймер уровня событий мог сообщать о зависании даже при поступлении keep-alive пингов. О таймаутах и взаимодействии таймеров см. [Сторожевые таймеры простоя потоковой передачи](https://code.claude.com/docs/ru/network-config.md#streaming-idle-watchdogs) |

433| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Установите значение `1`, чтобы включить сторожевой таймер простоя потоковой передачи на уровне байтов для ответов Amazon Bedrock `vnd.amazon.eventstream`; это также включает [крайний срок первого байта](https://code.claude.com/docs/ru/network-config.md#streaming-idle-watchdogs) для потоковых запросов Bedrock. По умолчанию отключено. Таймаут настраивается с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |433| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Установите значение `1`, чтобы включить сторожевой таймер простоя потоковой передачи на уровне байтов для ответов Amazon Bedrock `vnd.amazon.eventstream`; это также включает [крайний срок первого байта](https://code.claude.com/docs/ru/network-config.md#streaming-idle-watchdogs) для потоковых запросов Bedrock. По умолчанию отключено. Таймаут настраивается с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

434| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Установите значение `0`, чтобы принудительно отключить сторожевой таймер простоя потоковой передачи на уровне событий, или `1`, чтобы принудительно включить его. Если переменная не задана, сторожевой таймер по умолчанию включён для всех провайдеров. До v2.1.196 значение по умолчанию управлялось сервером для прямого Anthropic API и было отключено для других провайдеров. Таймаут настраивается с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; о других таймерах зависания, работающих параллельно с этим, см. [Сторожевые таймеры простоя потоковой передачи](https://code.claude.com/docs/ru/network-config.md#streaming-idle-watchdogs) |434| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Установите значение `0`, чтобы принудительно отключить сторожевой таймер простоя потоковой передачи на уровне событий, или `1`, чтобы принудительно включить его. Если переменная не задана, сторожевой таймер по умолчанию включён для всех провайдеров. До v2.1.196 значение по умолчанию управлялось сервером для прямого Anthropic API и было отключено для других провайдеров. Таймаут настраивается с помощью `CLAUDE_STREAM_IDLE_TIMEOUT_MS`; о других таймерах зависания, работающих параллельно с этим, см. [Сторожевые таймеры простоя потоковой передачи](https://code.claude.com/docs/ru/network-config.md#streaming-idle-watchdogs) |


575* [Отправлять сообщения в сессии за пределами этой машины](https://code.claude.com/docs/ru/cross-session-messaging.md#message-sessions-on-other-machines), когда [Remote Control](https://code.claude.com/docs/ru/remote-control.md#requirements) недоступен. Обмен сообщениями между сессиями на этой машине работает и при отключённой загрузке575* [Отправлять сообщения в сессии за пределами этой машины](https://code.claude.com/docs/ru/cross-session-messaging.md#message-sessions-on-other-machines), когда [Remote Control](https://code.claude.com/docs/ru/remote-control.md#requirements) недоступен. Обмен сообщениями между сессиями на этой машине работает и при отключённой загрузке

576* Запустить [`claude import` или команду `/import`](https://code.claude.com/docs/ru/cli-reference#cli-commands)576* Запустить [`claude import` или команду `/import`](https://code.claude.com/docs/ru/cli-reference#cli-commands)

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

578* Запустить [`/restart`](https://code.claude.com/docs/ru/commands) на тарифах Pro и Max

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

579* Включить [мод You should know](https://code.claude.com/docs/ru/interactive-mode.md#you-should-know-suggestions)580* Включить [мод You should know](https://code.claude.com/docs/ru/interactive-mode.md#you-should-know-suggestions)

580* Использовать [инструмент-советник](https://code.claude.com/docs/ru/advisor.md#requirements)581* Использовать [инструмент-советник](https://code.claude.com/docs/ru/advisor.md#requirements)

errors.md +10 −4

Details

277| `Windows reported an error (EBADF) when Claude Code read this session's transcript file` | [Command-line errors](#windows-reported-an-error-ebadf) |277| `Windows reported an error (EBADF) when Claude Code read this session's transcript file` | [Command-line errors](#windows-reported-an-error-ebadf) |

278| `Cannot switch renderers in this session` | [Command-line errors](#cannot-switch-renderers-in-this-session) |278| `Cannot switch renderers in this session` | [Command-line errors](#cannot-switch-renderers-in-this-session) |

279| `Cannot switch renderers while work is running in the background` | [Command-line errors](#cannot-switch-renderers-in-this-session) |279| `Cannot switch renderers while work is running in the background` | [Command-line errors](#cannot-switch-renderers-in-this-session) |

280| `Can't restart while work is running in the background — wait for it to finish (or stop it via /tasks), then try again.` | [Ошибки командной строки](#cant-restart-while-work-is-running-or-remote-control-is-connected) |

281| `Can't restart while Remote Control is connected. To use the installed version, exit and start Claude Code again, then run /resume.` | [Ошибки командной строки](#cant-restart-while-work-is-running-or-remote-control-is-connected) |

280| `Claude Code couldn't restart` | [Command-line errors](#claude-code-couldnt-restart) |282| `Claude Code couldn't restart` | [Command-line errors](#claude-code-couldnt-restart) |

281| `Couldn't open Claude Desktop` | [Command-line errors](#couldnt-open-claude-desktop) |283| `Couldn't open Claude Desktop` | [Command-line errors](#couldnt-open-claude-desktop) |

282| `Failed to open Claude Desktop. Please try opening it manually.` | [Command-line errors](#couldnt-open-claude-desktop) |284| `Failed to open Claude Desktop. Please try opening it manually.` | [Command-line errors](#couldnt-open-claude-desktop) |


858 860 

859### The prompt to confirm went unanswered861### The prompt to confirm went unanswered

860 862 

861Если ваша учётная запись требует [Fable usage-credits consent](https://code.claude.com/docs/ru/model-config.md#fable-and-usage-credits), Claude Code просит вас подтвердить, прежде чем запрос Fable будет оплачен кредитами использования. Когда запрос согласия закрывается без ответа, Claude Code завершает ход одним из этих сообщений:863Когда [запрос согласия на использование кредитов для Fable](https://code.claude.com/docs/ru/model-config.md#fable-and-usage-credits) закрывается, так и не получив ответа, Claude Code завершает ход одним из этих сообщений:

862 864 

863```text theme={null}865```text theme={null}

864Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change866Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change


3298* **`Error: Workspace not trusted. <folder> is your home directory`**: поскольку доверие для домашнего каталога никогда не сохраняется, предварительный запуск `claude` там не поможет. Вместо этого выполните `claude ultrareview` из каталога проекта, предварительно один раз запустив там `claude`, чтобы принять диалог доверия, или добавьте `--trust-workspace`.3300* **`Error: Workspace not trusted. <folder> is your home directory`**: поскольку доверие для домашнего каталога никогда не сохраняется, предварительный запуск `claude` там не поможет. Вместо этого выполните `claude ultrareview` из каталога проекта, предварительно один раз запустив там `claude`, чтобы принять диалог доверия, или добавьте `--trust-workspace`.

3299* **`No answer in time.` с последующим `Error: Workspace not trusted`**: на вопрос `Trust <folder>? [y/N]` не было ответа в течение 5 минут. Снова выполните `claude ultrareview` и ответьте на него.3301* **`No answer in time.` с последующим `Error: Workspace not trusted`**: на вопрос `Trust <folder>? [y/N]` не было ответа в течение 5 минут. Снова выполните `claude ultrareview` и ответьте на него.

3300* **`Ultrareview did not start: <folder> is not trusted`**: вы отказались на вопрос `Trust <folder>? [y/N]`, например ответив `n` или нажав Enter. Чтобы начать ревью, снова выполните `claude ultrareview` и ответьте `y`.3302* **`Ultrareview did not start: <folder> is not trusted`**: вы отказались на вопрос `Trust <folder>? [y/N]`, например ответив `n` или нажав Enter. Чтобы начать ревью, снова выполните `claude ultrareview` и ответьте `y`.

3301* **``Ultrareview did not start: `--trust-workspace` takes no value``**: после `--trust-workspace` следует что-то, кроме флага, например номер PR или `false`. Если вы не доверяете папке, не указывайте этот флаг. Чтобы доверять ей в этом запуске, поставьте номер PR или базовую ветку перед флагом: `claude ultrareview 1234 --trust-workspace`.3303* **``Ultrareview did not start: `--trust-workspace` takes no value``**: после `--trust-workspace` идёт что-то, кроме флага, например номер PR или `false`. Если вы не доверяете папке, не указывайте флаг. Чтобы доверять ей для этого запуска, поставьте номер PR или базовую ветку перед флагом: `claude ultrareview 1234 --trust-workspace`.

3302 3304 

3303До v2.1.309 `claude ultrareview` не принимал `--trust-workspace`.3305До v2.1.309 `claude ultrareview` не принимал `--trust-workspace`.

3304 3306 


3590 3592 

3591Родственные сообщения появляются ещё до запуска команды:3593Родственные сообщения появляются ещё до запуска команды:

3592 3594 

3593* `Shell command permission check failed for pattern "..."`: проверка разрешений команды её не разрешила. В разделе [Проверки разрешений для внедрённых команд](https://code.claude.com/docs/ru/skills.md#permission-checks-on-injected-commands) описано, какие результаты прерывают вызов в каждом режиме разрешений и как заранее разрешить команду с помощью `allowed-tools`3595* `Shell command permission check failed for pattern "..."`: проверка разрешений команды не позволила её выполнить. В разделе [Проверки разрешений для внедрённых команд](https://code.claude.com/docs/ru/skills.md#permission-checks-on-injected-commands) описано, какие результаты прерывают выполнение в каждом режиме разрешений и как заранее разрешить команду с помощью `allowed-tools`

3594* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter скилла требует bash на компьютере, где его нет. Установите Git for Windows или измените frontmatter на `shell: powershell`. См. [Как выполняются внедрённые команды](https://code.claude.com/docs/ru/skills.md#how-injected-commands-run)3596* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: frontmatter скилла требует bash на компьютере, где его нет. Установите Git for Windows или измените frontmatter на `shell: powershell`. См. [Как выполняются внедрённые команды](https://code.claude.com/docs/ru/skills.md#how-injected-commands-run)

3595 3597 

3596**Что делать:**3598**Что делать:**


3744 3746 

3745* **Вы не передали базовую ветку**: Claude Code сравнивал с веткой репозитория по умолчанию и предлагает явно передать вашу базовую ветку, как в примере выше3747* **Вы не передали базовую ветку**: Claude Code сравнивал с веткой репозитория по умолчанию и предлагает явно передать вашу базовую ветку, как в примере выше

3746* **Вы передали базовую ветку, которая уже была в вашем клоне**: подсказка гласит ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3748* **Вы передали базовую ветку, которая уже была в вашем клоне**: подсказка гласит ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3747* **Вы передали базовую ветку, которой не было в вашем клоне**: Claude Code получил её из origin перед сравнением. Подсказка гласит ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; если Claude Code не может определить, является ли ваш клон неглубоким (shallow), он вместо этого предлагает `git fetch --unshallow origin`. До версии v2.1.221 подсказка предлагала `git fetch --unshallow origin` для каждой полученной базовой ветки, а в полном клоне эта команда завершается ошибкой `fatal: --unshallow on a complete repository does not make sense`.3749* **Вы передали базовую ветку, которой не было в вашем клоне**: Claude Code получил её из origin перед сравнением. Подсказка гласит ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``; если Claude Code не может определить, является ли ваш клон неполным (shallow), он вместо этого предлагает `git fetch --unshallow origin`. До v2.1.221 подсказка предлагала `git fetch --unshallow origin` для каждой полученной базовой ветки, а в полном клоне эта команда завершается ошибкой `fatal: --unshallow on a complete repository does not make sense`.

3748 3750 

3749**Что делать:**3751**Что делать:**

3750 3752 


3974 3976 

3975* В сессии, запущенной без этих ограничений, выполните `/tui fullscreen` или `/tui default`, чтобы переключиться обратно. Claude Code сохранит там [настройку `tui`](https://code.claude.com/docs/ru/settings-reference#tui)3977* В сессии, запущенной без этих ограничений, выполните `/tui fullscreen` или `/tui default`, чтобы переключиться обратно. Claude Code сохранит там [настройку `tui`](https://code.claude.com/docs/ru/settings-reference#tui)

3976 3978 

3979### Can't restart while work is running or Remote Control is connected

3980 

3981Claude Code не перезапустился, и ваша сессия продолжает работать как прежде. Следуйте исправлению, указанному в сообщении.

3982 

3977### Claude Code couldn't restart3983### Claude Code couldn't restart

3978 3984 

3979Если в этом сообщении сказано, что ваш диалог сохранён, значит, диалог находится на диске и вы можете продолжить его с того места, где он остановился. Claude Code перезапускал себя, например, чтобы переключиться на полноэкранный рендеринг или обратно после выполнения [`/tui`](https://code.claude.com/docs/ru/fullscreen#enable-fullscreen-rendering), и не смог запустить новый процесс, поэтому завершился со статусом 1:3985Если в этом сообщении сказано, что ваш диалог сохранён, значит, диалог находится на диске и вы можете продолжить его с того места, где он остановился. Claude Code перезапускал себя, например, чтобы переключиться на полноэкранный рендеринг или обратно после выполнения [`/tui`](https://code.claude.com/docs/ru/fullscreen#enable-fullscreen-rendering), и не смог запустить новый процесс, поэтому завершился со статусом 1:

goal.md +1 −1

Details

168 168 

169> [!WARNING]169> [!WARNING]

170>170>

171> Claude Code читает `ANTHROPIC_DEFAULT_HAIKU_MODEL` везде, где он использует небольшую быструю модель, не только для оценки `/goal`. Когда вы устанавливаете его, Claude Code также разрешает [alias `haiku`](https://code.claude.com/docs/ru/model-config#model-aliases) этой модели и запускает [фоновую функциональность](https://code.claude.com/docs/ru/costs.md#background-token-usage), такую как суммирование разговора, на ней.171> Claude Code читает `ANTHROPIC_DEFAULT_HAIKU_MODEL` везде, где он использует небольшую быструю модель, не только для оценки `/goal`. Когда вы устанавливаете эту переменную, Claude Code также сопоставляет [псевдоним `haiku`](https://code.claude.com/docs/ru/model-config#model-aliases) с этой моделью и выполняет на ней генерацию заголовков сессий и некоторые другие фоновые задачи.

172 172 

173Оценщик работает на любом поставщике, на котором настроен ваш сеанс. Он не вызывает инструменты, поэтому может судить только то, что Claude уже выявил в разговоре.173Оценщик работает на любом поставщике, на котором настроен ваш сеанс. Он не вызывает инструменты, поэтому может судить только то, что Claude уже выявил в разговоре.

174 174 

hipaa-setup.md +5 −1

Details

26 26 

27| Когда | Что делать |27| Когда | Что делать |

28| :- | :- |28| :- | :- |

29| До применения конфигурации | [Подготовьте компьютеры](#prepare-computers-before-the-hipaa-configuration-is-applied): проверьте, как подключаются разработчики, обновите приложения, разрешите сетевой доступ и разверните управляемые настройки |29| До применения конфигурации | [Подготовьте компьютеры](#prepare-computers-before-the-hipaa-configuration-is-applied): проверьте, как подключаются разработчики, обновите приложения, разрешите сетевой доступ, разверните управляемые настройки и ограничьте вход в Claude Desktop |

30| После применения | Вкладка Code отключена, пока Owner не включит её снова. [Проверьте конфигурацию на компьютере](#confirm-the-configuration-on-a-computer) |30| После применения | Вкладка Code отключена, пока Owner не включит её снова. [Проверьте конфигурацию на компьютере](#confirm-the-configuration-on-a-computer) |

31| Постоянно | [Управляйте данными локальных сессий](#manage-local-session-data) |31| Постоянно | [Управляйте данными локальных сессий](#manage-local-session-data) |

32 32 


161 161 

162Чтобы узнать, распространяется ли ваше BAA на сессию, выполняемую без HIPAA-конфигурации, см. [Use Claude Code (local mode) and Cowork (local mode) on a HIPAA-ready Enterprise plan](https://support.claude.com/en/articles/17318731).162Чтобы узнать, распространяется ли ваше BAA на сессию, выполняемую без HIPAA-конфигурации, см. [Use Claude Code (local mode) and Cowork (local mode) on a HIPAA-ready Enterprise plan](https://support.claude.com/en/articles/17318731).

163 163 

164### Ограничьте вход в Claude Desktop

165 

166Если разработчики используют вкладку Code в Claude Desktop, также задайте `forceLoginOrgUUID` в политике Claude Desktop, как описано в разделе [Ограничение входа вашей организацией](https://code.claude.com/docs/ru/desktop.md#restrict-sign-in-to-your-organization). Развёртывание `forceLoginMethod` и `forceLoginOrgUUID` в управляемых настройках не меняет экран входа Claude Desktop.

167 

164## Проверка конфигурации на компьютере168## Проверка конфигурации на компьютере

165 169 

166Выполните эту проверку на одном управляемом компьютере после применения конфигурации к вашей организации.170Выполните эту проверку на одном управляемом компьютере после применения конфигурации к вашей организации.

hooks.md +11 −3

Details

735| `cwd` | Текущий рабочий каталог на момент вызова хука |735| `cwd` | Текущий рабочий каталог на момент вызова хука |

736| `scratchpad_dir` | Путь к [каталогу scratchpad](https://code.claude.com/docs/ru/claude-directory.md#session-scratchpad-directory) сессии, где Claude хранит временные рабочие файлы. Отсутствует, если у сессии нет scratchpad или временный каталог недоступен. Требуется Claude Code v2.1.257 или новее |736| `scratchpad_dir` | Путь к [каталогу scratchpad](https://code.claude.com/docs/ru/claude-directory.md#session-scratchpad-directory) сессии, где Claude хранит временные рабочие файлы. Отсутствует, если у сессии нет scratchpad или временный каталог недоступен. Требуется Claude Code v2.1.257 или новее |

737| `permission_mode` | Текущий [режим разрешений](https://code.claude.com/docs/ru/permissions.md#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` или `"bypassPermissions"`. Режим с меткой **Manual** передаётся как `"default"`, а не как `"manual"`, поэтому скрипты, проверяющие `"default"`, продолжают работать. Не все события получают это поле. Смотрите пример JSON в разделе каждого [события хука](#hook-events) |737| `permission_mode` | Текущий [режим разрешений](https://code.claude.com/docs/ru/permissions.md#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` или `"bypassPermissions"`. Режим с меткой **Manual** передаётся как `"default"`, а не как `"manual"`, поэтому скрипты, проверяющие `"default"`, продолжают работать. Не все события получают это поле. Смотрите пример JSON в разделе каждого [события хука](#hook-events) |

738| `effort` | Объект с полем `level`, содержащим [уровень effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level), действующий при выполнении хука: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Если вы задали уровень, который активная модель не поддерживает, `level` сообщает уровень, с которым фактически работал Claude Code; в разделе [Настройка уровня effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) описано, как выбирается этот уровень. Объект совпадает с полем `effort` [строки состояния](https://code.claude.com/docs/ru/statusline.md#available-data). Присутствует для событий, срабатывающих в контексте использования инструментов, таких как `PreToolUse`, `PostToolUse`, `Stop` и `SubagentStop`, если текущая модель поддерживает параметр effort. Уровень также доступен командам хуков и инструменту Bash в виде переменной окружения `$CLAUDE_EFFORT`. |738| `effort` | Объект, поле `level` которого содержит настройку [уровня effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) на момент выполнения хука, включая уровень скилла, субагента или `ultrathink`: `"low"`, `"medium"`, `"high"`, `"xhigh"` или `"max"`. Присутствует для `PreToolUse`, `PostToolUse`, `Stop`, `SubagentStop` и других событий с контекстом использования инструментов на моделях, поддерживающих effort. Если модель не поддерживает ваш уровень, `level` содержит уровень, с которым фактически выполнялась работа. Изменённый вами уровень может отображаться здесь до того, как он [вступит в силу](https://code.claude.com/docs/ru/model-config.md#when-a-new-effort-level-starts). `$CLAUDE_EFFORT` содержит тот же уровень. |

739| `hook_event_name` | Имя сработавшего события |739| `hook_event_name` | Имя сработавшего события |

740 740 

741`agent_id` и `agent_type` сообщают вашему скрипту, в каком агенте сработал хук, например в субагенте, [участнике команды, работающем в том же процессе](https://code.claude.com/docs/ru/agent-teams.md#choose-a-display-mode), или агенте, выбранном с помощью `--agent`:741`agent_id` и `agent_type` сообщают вашему скрипту, в каком агенте сработал хук, например в субагенте, [участнике команды, работающем в том же процессе](https://code.claude.com/docs/ru/agent-teams.md#choose-a-display-mode), или агенте, выбранном с помощью `--agent`:


1898| `query` | string | `"react hooks best practices"` | Поисковый запрос |1898| `query` | string | `"react hooks best practices"` | Поисковый запрос |

1899| `allowed_domains` | array | `["docs.example.com"]` | Необязательно: включать результаты только с этих доменов |1899| `allowed_domains` | array | `["docs.example.com"]` | Необязательно: включать результаты только с этих доменов |

1900| `blocked_domains` | array | `["spam.example.com"]` | Необязательно: исключать результаты с этих доменов |1900| `blocked_domains` | array | `["spam.example.com"]` | Необязательно: исключать результаты с этих доменов |

1901| `mode` | string | `"extended"` | Необязательно: тип поиска. `"standard"` запрашивает облегчённый поиск, а `"extended"` — полный поиск. Некоторые сессии не отправляют `mode`, и вызов без него выполняет полный поиск. Требует Claude Code v2.1.282 или новее |

1901 1902 

1902##### Agent1903##### Agent

1903 1904 


1968 1969 

1969Когда хук возвращает `"ask"`, запрос разрешения, показываемый пользователю, содержит метку, указывающую, откуда взят хук: `[settings]` для хука из любого файла настроек или из frontmatter агента, `[plugin:<name>]` для хука плагина или `[skill]` для хука из frontmatter скилла. Это помогает пользователям понять, какой источник конфигурации запрашивает подтверждение.1970Когда хук возвращает `"ask"`, запрос разрешения, показываемый пользователю, содержит метку, указывающую, откуда взят хук: `[settings]` для хука из любого файла настроек или из frontmatter агента, `[plugin:<name>]` для хука плагина или `[skill]` для хука из frontmatter скилла. Это помогает пользователям понять, какой источник конфигурации запрашивает подтверждение.

1970 1971 

1971`"ask"` от хука также принудительно показывает запрос разрешения в [авторежиме](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode): классификатор по-прежнему может отклонить вызов инструмента, но не может молча его одобрить.

1972 

1973```json theme={null}1972```json theme={null}

1974{1973{

1975 "hookSpecificOutput": {1974 "hookSpecificOutput": {


1988>1987>

1989> Ранее PreToolUse использовал поля `decision` и `reason` верхнего уровня, но для этого события они объявлены устаревшими. Используйте вместо них `hookSpecificOutput.permissionDecision` и `hookSpecificOutput.permissionDecisionReason`. Устаревшие значения `"approve"` и `"block"` соответствуют `"allow"` и `"deny"`. Другие события, такие как PostToolUse и Stop, по-прежнему используют `decision` и `reason` верхнего уровня в качестве текущего формата.1988> Ранее PreToolUse использовал поля `decision` и `reason` верхнего уровня, но для этого события они объявлены устаревшими. Используйте вместо них `hookSpecificOutput.permissionDecision` и `hookSpecificOutput.permissionDecisionReason`. Устаревшие значения `"approve"` и `"block"` соответствуют `"allow"` и `"deny"`. Другие события, такие как PostToolUse и Stop, по-прежнему используют `decision` и `reason` верхнего уровня в качестве текущего формата.

1990 1989 

1990#### Решения `ask` в PreToolUse в авторежиме

1991 

1992В [авторежиме](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) `"ask"` хука PreToolUse обычно отправляет вызов инструмента в запрос разрешения, и [классификатор](https://code.claude.com/docs/ru/permission-modes.md#how-the-classifier-evaluates-actions) по нему не решает. Некоторые вызовы идут другим путём:

1993 

1994* **Вызовы, которые также помечают собственные проверки Claude Code**: к ним относятся запись в [защищённые пути](https://code.claude.com/docs/ru/permission-modes.md#protected-paths) и команды, запрашивающие [выполнение вне песочницы](https://code.claude.com/docs/ru/sandboxing.md#the-unsandboxed-retry-escape-hatch). Классификатор может отклонить такой вызов до появления какого-либо запроса. Если он одобряет, вызов обычно всё равно попадает в запрос.

1995* **Вызовы `SubagentHandback`**: этот инструмент передаёт отчёт субагента. Для него запрос не появляется, и вызов выполняется, даже если классификатор возражает.

1996 

1997Чтобы остановить вызов `SubagentHandback`, верните `"deny"`. Тогда Claude Code сообщает субагенту — до трёх раз, — что его отчёт не был доставлен и что нужно вызвать инструмент снова. Если ваш хук продолжает отклонять, субагент завершается, не доставив отчёт через этот инструмент, а ожидающий его диалог получает примечание об этом.

1998 

1991#### Инструменты, требующие взаимодействия с пользователем1999#### Инструменты, требующие взаимодействия с пользователем

1992 2000 

1993`AskUserQuestion` и `ExitPlanMode` требуют взаимодействия с пользователем. В [неинтерактивном режиме](https://code.claude.com/docs/ru/headless.md) с флагом `-p` Claude Code предлагает их, только если у запуска есть [хост разрешений](https://code.claude.com/docs/ru/headless.md#turn-off-permission-prompts-in-unattended-runs), принимающий запрос, например callback `canUseTool` в Agent SDK.2001`AskUserQuestion` и `ExitPlanMode` требуют взаимодействия с пользователем. В [неинтерактивном режиме](https://code.claude.com/docs/ru/headless.md) с флагом `-p` Claude Code предлагает их, только если у запуска есть [хост разрешений](https://code.claude.com/docs/ru/headless.md#turn-off-permission-prompts-in-unattended-runs), принимающий запрос, например callback `canUseTool` в Agent SDK.

Details

395 395 

396Claude Code выполняет некоторые команды сразу же при их отправке вместо того, чтобы ставить их в очередь, в том числе `/model`, `/effort` и `/fast`. Каждая из трех команд изменяет настройку: модель, уровень усилий или быстрый режим. То, применяет ли Claude Code новую настройку к ходу, над которым Claude уже работает, или только с вашего следующего хода, отличается в зависимости от команды:396Claude Code выполняет некоторые команды сразу же при их отправке вместо того, чтобы ставить их в очередь, в том числе `/model`, `/effort` и `/fast`. Каждая из трех команд изменяет настройку: модель, уровень усилий или быстрый режим. То, применяет ли Claude Code новую настройку к ходу, над которым Claude уже работает, или только с вашего следующего хода, отличается в зависимости от команды:

397 397 

398* [`/model`](https://code.claude.com/docs/ru/model-config#setting-your-model): после подтверждения [предупреждения о кэше](https://code.claude.com/docs/ru/prompt-caching.md#switching-models), если Claude Code его показывает, Claude Code применяет ваше изменение к следующему запросу, который он делает в этом ходе398* [`/model`](https://code.claude.com/docs/ru/model-config#setting-your-model): после подтверждения [предупреждения о кэше](https://code.claude.com/docs/ru/prompt-caching.md#switching-models), если Claude Code его показывает, Claude Code использует новую модель начиная со следующего запроса, который он делает в этом ходе

399* `/effort`: следующее отправленное вами сообщение выполняется с новым уровнем. Чтобы [начать применять его в ходе, над которым Claude уже работает](https://code.claude.com/docs/ru/model-config.md#when-a-new-effort-level-starts), поставьте сообщение в очередь, пока Claude выполняет вызовы инструментов399* `/effort`: следующее отправленное вами сообщение выполняется с новым уровнем. Чтобы [начать применять его в ходе, над которым Claude уже работает](https://code.claude.com/docs/ru/model-config.md#when-a-new-effort-level-starts), поставьте сообщение в очередь, пока Claude выполняет вызовы инструментов

400* [`/fast`](https://code.claude.com/docs/ru/fast-mode#toggle-fast-mode): Claude Code сохраняет настройку быстрого режима, которая была активна при начале хода, поэтому ваше изменение скорости применяется с вашего следующего хода. Если ваша текущая модель не поддерживает быстрый режим, его включение также [переключает вашу модель](https://code.claude.com/docs/ru/prompt-caching.md#turning-on-fast-mode), и Claude Code использует новую модель с ее следующего запроса в этом ходе400* [`/fast`](https://code.claude.com/docs/ru/fast-mode#toggle-fast-mode): Claude Code сохраняет настройку быстрого режима, которая была активна при начале хода, поэтому ваше изменение скорости применяется с вашего следующего хода. Если ваша текущая модель не поддерживает быстрый режим, его включение также [переключает вашу модель](https://code.claude.com/docs/ru/prompt-caching.md#turning-on-fast-mode), и Claude Code использует новую модель с ее следующего запроса в этом ходе

401 401 


761 761 

762* **Вы отправляете промпт**: Claude Code отправляет ваш промпт вместо ожидания. Если ваш промпт тоже упирается в лимит, он остаётся в диалоге, и Claude Code снова начинает ожидание.762* **Вы отправляете промпт**: Claude Code отправляет ваш промпт вместо ожидания. Если ваш промпт тоже упирается в лимит, он остаётся в диалоге, и Claude Code снова начинает ожидание.

763* **Вы выходите из Claude Code**: ожидание не перезапускается при возобновлении сессии.763* **Вы выходите из Claude Code**: ожидание не перезапускается при возобновлении сессии.

764* **Разговор переходит в другие руки**: вы переключаете учётные записи с помощью `/login`, очищаете или отматываете разговор, `/resume` другую сессию, вытягиваете одну с помощью `/teleport`, перезапускаете с помощью `/tui` или передаёте сессию Claude Desktop, фоновой сессии или облаку.764* **Диалог переходит в другие руки**: вы переключаете учётные записи с помощью `/login`, очищаете или отматываете диалог, открываете другую сессию через `/resume`, переносите сессию с помощью `/teleport`, перезапускаете с помощью `/tui` или [`/restart`](https://code.claude.com/docs/ru/commands#all-commands) либо передаёте сессию Claude Desktop, фоновой сессии или облаку.

765* **Параметр отключается или сброс выходит за пределы 24 часов**: это заканчивает только ожидание, которое Claude Code запустил самостоятельно. Ожидание, которое вы выбрали из `/rate-limit-options`, продолжает отсчитываться.765* **Параметр отключается или сброс выходит за пределы 24 часов**: это заканчивает только ожидание, которое Claude Code запустил самостоятельно. Ожидание, которое вы выбрали из `/rate-limit-options`, продолжает отсчитываться.

766* **Продолжение заблокировано**: [`UserPromptSubmit` hook](https://code.claude.com/docs/ru/hooks#userpromptsubmit), который блокирует запрос продолжения, или сбой перед его достижением модели, заканчивает ожидание. Claude Code сообщает вам, что продолжение не выполнилось. Отправьте запрос для продолжения.766* **Продолжение заблокировано**: [`UserPromptSubmit` hook](https://code.claude.com/docs/ru/hooks#userpromptsubmit), который блокирует запрос продолжения, или сбой перед его достижением модели, заканчивает ожидание. Claude Code сообщает вам, что продолжение не выполнилось. Отправьте запрос для продолжения.

767 767 

model-config.md +11 −9

Details

92 92 

93В зависимости от вашего плана и уровня места использование Fable может оплачиваться из [кредитов использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) вместо использования включённых лимитов вашего плана. Когда это происходит, средство выбора `/model` показывает "Requires usage credits" в строке Fable. Для управления кредитами использования см. [Add usage credits to your subscription](https://code.claude.com/docs/ru/costs.md#add-usage-credits-to-your-subscription).93В зависимости от вашего плана и уровня места использование Fable может оплачиваться из [кредитов использования](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) вместо использования включённых лимитов вашего плана. Когда это происходит, средство выбора `/model` показывает "Requires usage credits" в строке Fable. Для управления кредитами использования см. [Add usage credits to your subscription](https://code.claude.com/docs/ru/costs.md#add-usage-credits-to-your-subscription).

94 94 

95В интерактивных сессиях Claude Code показывает запрос согласия перед запросом Fable, который оплачивается из кредитов использования. Члены планов Enterprise с организационным биллингом не видят запрос. Вы можете продолжить работу на Fable, используя кредиты использования, или переключиться на вашу модель по умолчанию. Вы также можете отклонить запрос:95В интерактивных сессиях Claude Code может показывать запрос согласия на использование кредитов для Fable. Члены планов Enterprise с организационным биллингом не видят запрос. Вы можете продолжить работу на Fable, используя кредиты использования, или переключиться на вашу модель по умолчанию. Вы также можете отклонить запрос:

96 96 

97* Когда вы выбираете модель Fable с помощью `/model`, вы сохраняете вашу текущую модель.97* Когда вы выбираете модель Fable с помощью `/model`, вы сохраняете вашу текущую модель.

98* Во время сессии Claude Code продолжает ход на вашей модели по умолчанию.98* Во время сессии Claude Code продолжает ход на вашей модели по умолчанию.


544* **Ваше собственное изменение**: как только вы выбираете уровень усилий, выбираете модель в `/model` или позже возобновляете сессию, уровень помеченного запроса больше не переносится.544* **Ваше собственное изменение**: как только вы выбираете уровень усилий, выбираете модель в `/model` или позже возобновляете сессию, уровень помеченного запроса больше не переносится.

545* **Уровень усилий, заданный для одного хода**: если вы повысили уровень помеченного хода с помощью `ultrathink` или его уровень задал frontmatter `effort` скилла, этот уровень применяется к этому ходу. Последующие ходы выполняются на уровне, который [порядок разрешения усилий](#adjust-effort-level) даёт резервной модели.545* **Уровень усилий, заданный для одного хода**: если вы повысили уровень помеченного хода с помощью `ultrathink` или его уровень задал frontmatter `effort` скилла, этот уровень применяется к этому ходу. Последующие ходы выполняются на уровне, который [порядок разрешения усилий](#adjust-effort-level) даёт резервной модели.

546 546 

547В сессии выполните `/effort status`, чтобы увидеть действующий уровень, или `/effort`, чтобы изменить его.547Чтобы увидеть уровень, установленный для вашей сессии после переключения на резервную модель, выполните `/effort status`. Чтобы изменить его, выполните `/effort`.

548 548 

549#### Проверка того, что вызвало переключение549#### Проверка того, что вызвало переключение

550 550 


607 607 

608Claude Code определяет уровень усилий сессии в следующем порядке, используя первый применимый:608Claude Code определяет уровень усилий сессии в следующем порядке, используя первый применимый:

609 609 

6101. Явный выбор: переменная окружения [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ru/env-vars#variables), запуск с `--effort` или `/effort` в сессии ([неинтерактивный `/effort` действует уже](#non-interactive-effort))6101. Переменная окружения [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ru/env-vars#variables)

6112. Ваши настройки: уровень, сохранённый вами для модели, или ключ [`effortLevel`](https://code.claude.com/docs/ru/settings-reference#effortlevel); приоритет между ними и между файлами настроек описан в [`modelSettings`](https://code.claude.com/docs/ru/settings-reference#modelsettings)6112. Уровень, выбранный вами в сессии, например с помощью `/effort`, средства выбора `/model` или [`applyFlagSettings()`](https://code.claude.com/docs/ru/agent-sdk/typescript#applyflagsettings)

6123. Уровень усилий модели по умолчанию: `high` на каждой модели, поддерживающей effort, за исключением того, что Opus 5.5, Sonnet 5.5 и Haiku 5.5 по умолчанию используют `medium`, Opus 4.7 по умолчанию использует `xhigh`, а когда ваша организация задаёт уровень усилий по умолчанию для своей [модели по умолчанию организации](#organization-default-model), этот уровень используется по умолчанию при работе с этой моделью6123. Запуск с `--effort`

6134. Ваши настройки: уровень, сохранённый вами для модели, или ключ [`effortLevel`](https://code.claude.com/docs/ru/settings-reference#effortlevel); приоритет между ними и между файлами настроек описан в [`modelSettings`](https://code.claude.com/docs/ru/settings-reference#modelsettings)

6145. Уровень усилий модели по умолчанию: `high` на каждой модели, поддерживающей effort, за исключением того, что Opus 5.5, Sonnet 5.5 и Haiku 5.5 по умолчанию используют `medium`, а Opus 4.7 — `xhigh`. Если ваша организация задаёт уровень усилий по умолчанию для своей [модели по умолчанию организации](#organization-default-model), этот уровень используется по умолчанию при работе с этой моделью.

613 615 

614Об уровне, который применяется после автоматического переключения на резервную модель, см. [Уровень усилий после переключения на резервную модель](#effort-level-after-a-fallback).616Об уровне, который применяется после автоматического переключения на резервную модель, см. [Уровень усилий после переключения на резервную модель](#effort-level-after-a-fallback).

615 617 


687Изменить уровень усилий можно любым из следующих способов:689Изменить уровень усилий можно любым из следующих способов:

688 690 

689* **`/effort`**: выполните `/effort` без аргументов, чтобы открыть интерактивный ползунок, `/effort` с именем уровня, чтобы задать его напрямую, или `/effort auto`, чтобы сбросить сохранённый уровень для активной модели691* **`/effort`**: выполните `/effort` без аргументов, чтобы открыть интерактивный ползунок, `/effort` с именем уровня, чтобы задать его напрямую, или `/effort auto`, чтобы сбросить сохранённый уровень для активной модели

690* **В `/model`**: при выборе модели используйте клавиши со стрелками влево/вправо, чтобы отрегулировать ползунок усилий692* **В `/model`**: при выборе модели используйте клавиши со стрелками влево/вправо, чтобы отрегулировать ползунок усилий. Новый уровень начинает действовать самое позднее с вашего следующего сообщения. До этого Claude может продолжать работать на прежнем уровне, даже на новой модели. Пока действует [источник, имеющий приоритет над вашим выбором](#adjust-effort-level), например `CLAUDE_CODE_EFFORT_LEVEL`, Claude вместо этого работает на уровне этого источника.

691* **Флаг `--effort`**: передайте имя уровня при запуске Claude Code, чтобы задать его для одной сессии693* **Флаг `--effort`**: передайте имя уровня при запуске Claude Code, чтобы задать его для одной сессии

692* **Переменная окружения**: установите `CLAUDE_CODE_EFFORT_LEVEL` в имя уровня. Чтобы Claude Code [не отправлял уровень усилий](#send-no-effort-level), установите её вместо этого в `auto` или `unset`694* **Переменная окружения**: установите `CLAUDE_CODE_EFFORT_LEVEL` в имя уровня. Чтобы Claude Code [не отправлял уровень усилий](#send-no-effort-level), установите её вместо этого в `auto` или `unset`

693* **Настройки**: задайте уровень для отдельной модели в [`modelSettings`](https://code.claude.com/docs/ru/settings-reference#modelsettings) или установите [`effortLevel`](https://code.claude.com/docs/ru/settings-reference#effortlevel) в `low`, `medium`, `high` или `xhigh` как уровень по умолчанию для моделей без собственного уровня. `max` не принимается как уровень ни в одном из этих ключей, а у `ultracode` есть собственный ключ [`ultracode`](https://code.claude.com/docs/ru/settings-reference#ultracode)695* **Настройки**: задайте уровень для отдельной модели в [`modelSettings`](https://code.claude.com/docs/ru/settings-reference#modelsettings) или установите [`effortLevel`](https://code.claude.com/docs/ru/settings-reference#effortlevel) в `low`, `medium`, `high` или `xhigh` как уровень по умолчанию для моделей без собственного уровня. `max` не принимается как уровень ни в одном из этих ключей, а у `ultracode` есть собственный ключ [`ultracode`](https://code.claude.com/docs/ru/settings-reference#ultracode)

694* **С подключённого устройства**: в сессии [Remote Control](https://code.claude.com/docs/ru/remote-control.md#what-connected-devices-see) выберите уровень в элементе управления усилиями на телефоне или в браузере. Уровень применяется только к текущей сессии. Требуется Claude Code версии 2.1.234 или позже696* **С подключённого устройства**: в сессии [Remote Control](https://code.claude.com/docs/ru/remote-control.md#what-connected-devices-see) выберите уровень в элементе управления усилиями на телефоне или в браузере. Уровень применяется только к текущей сессии. Требуется Claude Code версии 2.1.234 или позже

695* **Frontmatter скиллов и субагентов**: задайте `effort` в markdown-файле [скилла](https://code.claude.com/docs/ru/skills.md#frontmatter-reference) или [субагента](https://code.claude.com/docs/ru/sub-agents.md#supported-frontmatter-fields), чтобы переопределить уровень усилий при работе этого скилла или субагента697* **Frontmatter скиллов и субагентов**: задайте `effort` в markdown-файле [скилла](https://code.claude.com/docs/ru/skills.md#frontmatter-reference) или [субагента](https://code.claude.com/docs/ru/sub-agents.md#supported-frontmatter-fields), чтобы переопределить уровень усилий при работе этого скилла или субагента

696 698 

697Уровень усилий из frontmatter применяется, когда этот скилл или субагент активен, и переопределяет уровень сессии, но не переменную окружения. [`maxEffortLevel`](https://code.claude.com/docs/ru/settings-reference#maxeffortlevel) или [ограничение усилий организации](#organization-effort-limits) по-прежнему ограничивают уровень, на котором работает скилл или субагент.699`effort` скилла действует до конца хода, в котором скилл выполняется, или на время работы ответвлённого субагента при `context: fork`. `effort` субагента действует, пока работает субагент, если только [его вызов не переопределяет его](https://code.claude.com/docs/ru/sub-agents.md#choose-an-effort-level). Пока действует любой из них, скилл или субагент работает на своём уровне, независимо от того, с каким уровнем вы запускаете сессию, какой сохраняете или выбираете. Если задана `CLAUDE_CODE_EFFORT_LEVEL`, вместо этого применяется её уровень.

698 700 

699Если вы задаёте `effortLevel` в [управляемых настройках](https://code.claude.com/docs/ru/managed-settings.md), Claude Code применяет его на шаге настроек [порядка разрешения усилий](#adjust-effort-level), и пользователи по-прежнему могут менять уровень с помощью `/effort` или `--effort`. Чтобы пользователи не превышали определённый уровень, задайте [`maxEffortLevel`](https://code.claude.com/docs/ru/settings-reference#maxeffortlevel).701[`maxEffortLevel`](https://code.claude.com/docs/ru/settings-reference#maxeffortlevel) или [ограничение усилий организации](#organization-effort-limits) по-прежнему ограничивают уровень, на котором работает скилл или субагент. Если вы задаёте `effortLevel` в [управляемых настройках](https://code.claude.com/docs/ru/managed-settings.md), Claude Code применяет его на шаге настроек [порядка разрешения усилий](#adjust-effort-level), и пользователи по-прежнему могут менять уровень с помощью `/effort` или `--effort`. Чтобы пользователи не превышали определённый уровень, задайте [`maxEffortLevel`](https://code.claude.com/docs/ru/settings-reference#maxeffortlevel).

700 702 

701#### Проверка установленного уровня усилий703#### Проверка установленного уровня усилий

702 704 

703Ползунок усилий появляется в `/model`, когда выбрана поддерживаемая модель. Уровень в заголовке сессии, например "with low effort", берётся из вашей настройки усилий, даже если Claude [всё ещё работает на прежнем уровне](#when-a-new-effort-level-starts). Нижняя строка также ненадолго показывает уровень усилий при запуске и при его изменении.705Ползунок усилий появляется в `/model`, когда выбрана поддерживаемая модель. Уровень в заголовке сессии, например "with low effort", берётся из вашей настройки усилий, даже если Claude [всё ещё работает на прежнем уровне](#when-a-new-effort-level-starts). При запуске и при его изменении нижняя строка также ненадолго показывает уровень, установленный для вашей сессии.

704 706 

705#### Когда начинает действовать новый уровень усилий707#### Когда начинает действовать новый уровень усилий

706 708 

Details

556Помните об этих ограничениях при настройке телеметрии для облачных сеансов:556Помните об этих ограничениях при настройке телеметрии для облачных сеансов:

557 557 

558* **Позвольте сеансам достичь сборщика**: Claude Code отправляет экспорт через сеть сеанса, поэтому достигнет ли он хоста в вашем `OTEL_EXPORTER_OTLP_ENDPOINT`, зависит от [уровня сетевого доступа](https://code.claude.com/docs/ru/cloud-environments.md#access-levels) окружения. Если сеансы не могут достичь домена сборщика на выбранном вами уровне, [добавьте домен в список разрешений окружения](https://code.claude.com/docs/ru/cloud-environments.md#allow-specific-domains), потому что ни один параметр, управляемый сервером, не добавляет домены в список разрешений сети окружения.558* **Позвольте сеансам достичь сборщика**: Claude Code отправляет экспорт через сеть сеанса, поэтому достигнет ли он хоста в вашем `OTEL_EXPORTER_OTLP_ENDPOINT`, зависит от [уровня сетевого доступа](https://code.claude.com/docs/ru/cloud-environments.md#access-levels) окружения. Если сеансы не могут достичь домена сборщика на выбранном вами уровне, [добавьте домен в список разрешений окружения](https://code.claude.com/docs/ru/cloud-environments.md#allow-specific-domains), потому что ни один параметр, управляемый сервером, не добавляет домены в список разрешений сети окружения.

559* **Каналы Claude Tag используют окружения уровня организации**: сеансы канала работают в окружениях уровня организации, а не в личных окружениях членов, поэтому внесите изменения в список разрешений и любые переменные окружения в [общем окружении](https://code.claude.com/docs/ru/cloud-environments.md#organization-shared-environments), установленном как стандартное для вашей организации или закреплённом на канале.559* **Каналы Claude Tag**: вносите изменения в список разрешённых доменов и любые переменные окружения в [общем окружении](https://code.claude.com/docs/ru/cloud-environments.md#organization-shared-environments), установленном как окружение по умолчанию для вашей организации или закреплённом за каналом.

560* **Cowork настраивается отдельно**: сеансы Cowork не получают параметры, управляемые сервером, как показывает [таблица охвата поверхности](https://code.claude.com/docs/ru/model-config.md#surface-coverage), поэтому блок `env`, управляемый сервером, не настраивает их телеметрию.560* **Cowork настраивается отдельно**: сеансы Cowork не получают параметры, управляемые сервером, как показывает [таблица охвата поверхности](https://code.claude.com/docs/ru/model-config.md#surface-coverage), поэтому блок `env`, управляемый сервером, не настраивает их телеметрию.

561 561 

562### Атрибутирование телеметрии облачным сеансам562### Атрибутирование телеметрии облачным сеансам


1467* `result`: `"complete"`, если очистка выполнена, `"skipped"`, если Claude Code её приостановил1467* `result`: `"complete"`, если очистка выполнена, `"skipped"`, если Claude Code её приостановил

1468* `period_days`: значение `cleanupPeriodDays` из объединённых настроек в днях или `30`, если ни один источник его не задаёт. В пропущенных событиях — значение, которое использовала бы очистка, вычисленное из источников настроек, которые Claude Code смог прочитать1468* `period_days`: значение `cleanupPeriodDays` из объединённых настроек в днях или `30`, если ни один источник его не задаёт. В пропущенных событиях — значение, которое использовала бы очистка, вычисленное из источников настроек, которые Claude Code смог прочитать

1469* `used_default`: `"true"`, если ни один доступный для чтения источник настроек не задаёт `cleanupPeriodDays`, иначе `"false"`. В завершённых событиях `"true"` означает, что применено значение по умолчанию в 30 дней1469* `used_default`: `"true"`, если ни один доступный для чтения источник настроек не задаёт `cleanupPeriodDays`, иначе `"false"`. В завершённых событиях `"true"` означает, что применено значение по умолчанию в 30 дней

1470* `skip_reason`: почему Claude Code приостановил очистку. Присутствует, только когда `result` равен `"skipped"`:1470* `skip_reason`: почему Claude Code приостановил очистку. Присутствует, только когда `result` равно `"skipped"`:

1471 * `"user_source_disabled"`: пользовательские настройки исключены, например флагом [`--setting-sources`](https://code.claude.com/docs/ru/cli-reference#cli-flags) или параметром SDK [`settingSources`](https://code.claude.com/docs/ru/agent-sdk/typescript#options), и ни один включённый источник не предоставляет `cleanupPeriodDays`1471 * `"user_source_disabled"`: пользовательские настройки исключены, например флагом [`--setting-sources`](https://code.claude.com/docs/ru/cli-reference#cli-flags) или параметром SDK [`settingSources`](https://code.claude.com/docs/ru/agent-sdk/typescript#options), и ни один включённый источник не предоставляет `cleanupPeriodDays`

1472 * `"settings_unknowable"`: файл настроек не удалось прочитать или разобрать, поэтому `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` может иметь значение, которое Claude Code не видит1472 * `"settings_unknowable"`: файл настроек не удалось прочитать или разобрать, поэтому `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` могут иметь значение, которое Claude Code не видит

1473 * `"settings_invalid_key_set"`: в настройках есть ошибки валидации, и `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` задан явно, поэтому использование значения по умолчанию могло бы удалить или сохранить файлы вопреки этой настройке1473 * `"settings_invalid_key_set"`: в настройках есть ошибки валидации, и `cleanupPeriodDays` или `desktopSessionCleanupPeriodDays` задан явно, поэтому использование значения по умолчанию могло бы удалить или сохранить файлы вопреки этой настройке

1474 * `"remote_settings_unknowable"`: сессия на вкладке Code в Claude Desktop в стороннем развёртывании запросила [серверные управляемые настройки](https://code.claude.com/docs/ru/server-managed-settings.md). Она не получила пригодного ответа, поэтому `cleanupPeriodDays` может иметь значение, которое Claude Code не видит

1474* `transcripts_deleted`: количество транскриптов сессий — файлов верхнего уровня `~/.claude/projects/*/*.jsonl`, — удалённых очисткой1475* `transcripts_deleted`: количество транскриптов сессий — файлов верхнего уровня `~/.claude/projects/*/*.jsonl`, — удалённых очисткой

1475* `transcripts_exempted_desktop`: количество транскриптов с истёкшим сроком хранения, которые очистка сохранила согласно [правилу Claude Desktop и Cowork](https://code.claude.com/docs/ru/claude-directory.md#cleaned-up-automatically). Они не учитываются в `files_past_cutoff`. Требуется Claude Code v2.1.248 или новее1476* `transcripts_exempted_desktop`: количество транскриптов с истёкшим сроком хранения, которые очистка сохранила согласно [правилу Claude Desktop и Cowork](https://code.claude.com/docs/ru/claude-directory.md#cleaned-up-automatically). Они не учитываются в `files_past_cutoff`. Требуется Claude Code v2.1.248 или новее

1476* `session_files_deleted`: количество артефактов, удалённых очисткой файлов сессий: транскрипты плюс сопутствующие файлы каждой сессии, такие как sidecar-файлы, записи и результаты инструментов1477* `session_files_deleted`: количество артефактов, удалённых очисткой файлов сессий: транскрипты плюс сопутствующие файлы каждой сессии, такие как sidecar-файлы, записи и результаты инструментов

Details

338| Повторяющееся задание, запланированное с помощью инструмента, например CronCreate, срок которого наступает до следующего ввода пользователя | В этот момент не запускает ход. Задание пропускает этот запуск и сохраняет своё расписание. | Ничего не требуется |338| Повторяющееся задание, запланированное с помощью инструмента, например CronCreate, срок которого наступает до следующего ввода пользователя | В этот момент не запускает ход. Задание пропускает этот запуск и сохраняет своё расписание. | Ничего не требуется |

339| Событие от монитора, который запустил ваш мод | Монитор продолжает работать. Событие, которое монитор генерирует до следующего ввода пользователя, отбрасывается, за исключением уведомления о завершении монитора, которое приходит после этого ввода. | Ничего сделать нельзя |339| Событие от монитора, который запустил ваш мод | Монитор продолжает работать. Событие, которое монитор генерирует до следующего ввода пользователя, отбрасывается, за исключением уведомления о завершении монитора, которое приходит после этого ввода. | Ничего сделать нельзя |

340| Субагент, которого ваш мод запустил, а затем возобновил с помощью `$.session.send`, и который завершает работу до следующего ввода пользователя | Его уведомление о завершении ждёт и попадает в диалог после этого ввода | Ничего не требуется |340| Субагент, которого ваш мод запустил, а затем возобновил с помощью `$.session.send`, и который завершает работу до следующего ввода пользователя | Его уведомление о завершении ждёт и попадает в диалог после этого ввода | Ничего не требуется |

341| Команда Bash или PowerShell переднего плана из `$.tool.call`, которая уже выполнялась, когда пользователь остановил ход, и достигает своего таймаута до его следующего ввода | Останавливается по таймауту вместо [перехода в фон](https://code.claude.com/docs/ru/tools-reference.md#foreground-commands-that-move-to-the-background). Вызов разрешается с установленным `isError`, а вывод содержит строку `Ended instead of moving to the background: plugins' input is held, by a Stop or by the host's limits.` | Выполните её снова после следующего ввода пользователя, как показано в разделе [Повторная попытка отклонённого или отброшенного вызова](#retry-a-refused-or-dropped-call) |

341 342 

342Когда срок запланированного задания наступает или монитор генерирует событие до следующего ввода пользователя, пользователь может увидеть [всплывающее уведомление `Stopped:`](https://code.claude.com/docs/ru/plugins/mods/troubleshoot#stopped-type-a-message-to-continue).343Когда срок запланированного задания наступает или монитор генерирует событие до следующего ввода пользователя, пользователь может увидеть [всплывающее уведомление `Stopped:`](https://code.claude.com/docs/ru/plugins/mods/troubleshoot#stopped-type-a-message-to-continue).

343 344 

Details

94 94 

95На большинстве моделей изменение [уровня effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) в середине сессии означает, что следующий запрос читает всю историю диалога без попаданий в кэш. Пока кэш ещё тёплый, Claude Code сначала просит вас подтвердить изменение.95На большинстве моделей изменение [уровня effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) в середине сессии означает, что следующий запрос читает всю историю диалога без попаданий в кэш. Пока кэш ещё тёплый, Claude Code сначала просит вас подтвердить изменение.

96 96 

97На Opus 5.5, Sonnet 5.5, Haiku 5.5 и Fable 5.1 с API-ключом или подпиской Claude изменение effort сохраняет кэш, и Claude Code применяет новый уровень без запроса подтверждения. Это не относится к Amazon Bedrock, Google Cloud Agent Platform или [шлюзу Claude apps](https://code.claude.com/docs/ru/claude-apps-gateway), а также к случаям, когда вы установили [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](https://code.claude.com/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities) или ваша организация использует конфигурацию HIPAA.97На Opus 5.5, Sonnet 5.5, Haiku 5.5 и Fable 5.1 с API-ключом или подпиской Claude кэш сохраняется при изменении effort. Claude Code [применяет новый уровень](https://code.claude.com/docs/ru/model-config.md#when-a-new-effort-level-starts) без запроса подтверждения. На Amazon Bedrock, Google Cloud Agent Platform или [шлюзе Claude apps](https://code.claude.com/docs/ru/claude-apps-gateway), а также когда вы установили [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](https://code.claude.com/docs/ru/llm-gateway-protocol#disable-pre-release-capabilities) или ваша организация использует конфигурацию HIPAA, всё работает так же, как на большинстве моделей.

98 98 

99До версии v2.1.260 изменение effort на Fable 5.1 с API-ключом или подпиской Claude также инвалидировало кэш.99До версии v2.1.260 изменение effort на Fable 5.1 с API-ключом или подпиской Claude также инвалидировало кэш.

100 100 

sandboxing.md +2 −0

Details

565 565 

566В macOS, когда запрещённый путь проходит через символическую ссылку, например `~/.claude`, являющийся ссылкой в репозиторий dotfiles, песочница также запрещает реальное расположение этого пути. Это распространяется на собственные запреты песочницы и на ваши буквальные записи `denyWrite` и `denyRead`.566В macOS, когда запрещённый путь проходит через символическую ссылку, например `~/.claude`, являющийся ссылкой в репозиторий dotfiles, песочница также запрещает реальное расположение этого пути. Это распространяется на собственные запреты песочницы и на ваши буквальные записи `denyWrite` и `denyRead`.

567 567 

568Запись `denyWrite`, содержащая `*`, `?` или `[`, также распространяется на реальное расположение, когда папка перед первым из этих символов является символической ссылкой. Например, `~/.claude/*.json` также запрещается в реальном расположении `~/.claude`.

569 

568### Сетевая изоляция570### Сетевая изоляция

569 571 

570У команды в песочнице нет прямого доступа к сети:572У команды в песочнице нет прямого доступа к сети:

Details

40* **Zero Data Retention and HIPAA**: недоступно для организаций с включенным [Zero Data Retention](https://code.claude.com/docs/ru/zero-data-retention.md) или с примененной [конфигурацией HIPAA](https://code.claude.com/docs/ru/hipaa-setup.md).40* **Zero Data Retention and HIPAA**: недоступно для организаций с включенным [Zero Data Retention](https://code.claude.com/docs/ru/zero-data-retention.md) или с примененной [конфигурацией HIPAA](https://code.claude.com/docs/ru/hipaa-setup.md).

41* **Model inference**: сессии используют Anthropic API, если только вы не настроите раннер для [отправки запросов модели в Amazon Bedrock или Google Cloud's Agent Platform](https://code.claude.com/docs/ru/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform). В обоих случаях содержимое сессий передается в Anthropic. На раннере, настроенном таким образом, [управляемые сервером настройки](https://code.claude.com/docs/ru/server-managed-settings.md) и политики организации из claude.ai не применяются к сессиям.41* **Model inference**: сессии используют Anthropic API, если только вы не настроите раннер для [отправки запросов модели в Amazon Bedrock или Google Cloud's Agent Platform](https://code.claude.com/docs/ru/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform). В обоих случаях содержимое сессий передается в Anthropic. На раннере, настроенном таким образом, [управляемые сервером настройки](https://code.claude.com/docs/ru/server-managed-settings.md) и политики организации из claude.ai не применяются к сессиям.

42* **Surfaces**: сессии, запущенные из [claude.ai/code](https://claude.ai/code), мобильных и настольных приложений, [облачных запланированных задач](https://code.claude.com/docs/ru/routines.md) и терминала с помощью [`claude --cloud`](https://code.claude.com/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) или [`--environment` dispatch](https://code.claude.com/docs/ru/self-hosted-environments-testing#run-the-test-loop), могут работать в самостоятельно размещаемых окружениях. Сессии [Claude Tag](https://claude.com/docs/claude-tag/overview) тоже могут работать в них, но Claude пока не может использовать [Access bundles](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) в этих сессиях. Сессии [Claude Security](https://code.claude.com/docs/ru/claude-security.md) и [Code Review](https://code.claude.com/docs/ru/code-review.md) пока не направляются в них. Поддержка этих двух интерфейсов появится отдельно.42* **Surfaces**: сессии, запущенные из [claude.ai/code](https://claude.ai/code), мобильных и настольных приложений, [облачных запланированных задач](https://code.claude.com/docs/ru/routines.md) и терминала с помощью [`claude --cloud`](https://code.claude.com/docs/ru/claude-code-on-the-web#from-terminal-to-cloud) или [`--environment` dispatch](https://code.claude.com/docs/ru/self-hosted-environments-testing#run-the-test-loop), могут работать в самостоятельно размещаемых окружениях. Сессии [Claude Tag](https://claude.com/docs/claude-tag/overview) тоже могут работать в них, но Claude пока не может использовать [Access bundles](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) в этих сессиях. Сессии [Claude Security](https://code.claude.com/docs/ru/claude-security.md) и [Code Review](https://code.claude.com/docs/ru/code-review.md) пока не направляются в них. Поддержка этих двух интерфейсов появится отдельно.

43* **Repositories**: сеансы проверяют репозитории из GitHub; смотрите [Варианты аутентификации GitHub](https://code.claude.com/docs/ru/claude-code-on-the-web.md#github-authentication-options). Для хоста GitHub Enterprise Server смотрите его [требования к сети](https://code.claude.com/docs/ru/github-enterprise-server.md#network-requirements).43* **Repositories**: сессии извлекают репозитории из GitHub или GitHub Enterprise Server. Сессии, запущенные с помощью `--environment` dispatch, также могут использовать другой git-хост:

44 * **GitHub**: смотрите [Варианты аутентификации GitHub](https://code.claude.com/docs/ru/claude-code-on-the-web.md#github-authentication-options).

45 * **GitHub Enterprise Server**: смотрите его [требования к сети](https://code.claude.com/docs/ru/github-enterprise-server.md#network-requirements).

46 * **Another git host**: смотрите [требования для запуска сессии с `--environment`](https://code.claude.com/docs/ru/self-hosted-environments-deploy#start-a-session-on-a-repository-outside-github).

44* **Billing**: сеансы в самостоятельно размещаемом окружении потребляют использование Claude Code вашей организации так же, как сеансы в окружениях, размещаемых Anthropic.47* **Billing**: сеансы в самостоятельно размещаемом окружении потребляют использование Claude Code вашей организации так же, как сеансы в окружениях, размещаемых Anthropic.

45 48 

46## Почему самостоятельное размещение49## Почему самостоятельное размещение


113 116 

114* **Control plane**: runner опрашивает `api.anthropic.com` для работы и публикует события прогресса установки и отказа, все исходящие HTTPS. Опрос служит сердцебиением runner.117* **Control plane**: runner опрашивает `api.anthropic.com` для работы и публикует события прогресса установки и отказа, все исходящие HTTPS. Опрос служит сердцебиением runner.

115* **Git**: runner клонирует репозитории с вашего git-хоста и отправляет на него изменения по HTTPS или SSH, аутентифицируясь с помощью учётных данных, которые предоставляет ваше развёртывание. Варианты, включая учётные данные, выпускаемые для каждой сессии, описаны в разделе [Настройка git](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#configure-git). При использовании [git-прокси Anthropic](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy) git-трафик для репозиториев на github.com вместо этого проходит через `api.anthropic.com`.118* **Git**: runner клонирует репозитории с вашего git-хоста и отправляет на него изменения по HTTPS или SSH, аутентифицируясь с помощью учётных данных, которые предоставляет ваше развёртывание. Варианты, включая учётные данные, выпускаемые для каждой сессии, описаны в разделе [Настройка git](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#configure-git). При использовании [git-прокси Anthropic](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy) git-трафик для репозиториев на github.com вместо этого проходит через `api.anthropic.com`.

116* **Session child**: дочерний процесс Claude Code удерживает поток событий сессии к `api.anthropic.com` и выполняет собственные исходящие вызовы для инференса модели и для команд git, запускаемых во время сессии. В сессии, использующей [git под управлением Anthropic](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy), дочерний процесс отправляет свой трафик `git` и `gh` для github.com через WebSocket-соединение, которое он открывает к `api.anthropic.com`.119* **Session child**: дочерний процесс Claude Code удерживает поток событий сессии к `api.anthropic.com` и выполняет собственные исходящие вызовы для инференса модели и для команд git, запускаемых во время сессии. В сессии, использующей [git под управлением Anthropic](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy), дочерний процесс открывает WebSocket-соединение к `api.anthropic.com`, по которому передаётся трафик `git` и `gh` для github.com.

117* **SCM connector**: дополнительный [SCM connector](https://code.claude.com/docs/ru/self-hosted-environments-reference.md#scm-connector-flags) оркестратора недоступен, поэтому его туннель не открывается. Туннель — это WebSocket-соединение с `api.anthropic.com`.120* **SCM connector**: дополнительный [SCM connector](https://code.claude.com/docs/ru/self-hosted-environments-reference.md#scm-connector-flags) оркестратора недоступен, поэтому его туннель не открывается. Туннель — это WebSocket-соединение с `api.anthropic.com`.

118 121 

119Полный список исходящих адресов см. в разделе [Требования к сети](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#network-requirements). [Диаграмма выше](#how-self-hosted-environments-work) показывает эти пути, за исключением дополнительного SCM connector и соединения git под управлением Anthropic.122Полный список исходящих адресов см. в разделе [Требования к сети](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#network-requirements). [Диаграмма выше](#how-self-hosted-environments-work) показывает эти пути, за исключением дополнительного SCM connector и соединения git под управлением Anthropic.

Details

42| `CLAUDE_CODE_REMOTE_MCP_CONFIG` | Путь к файлу в `CLAUDE_CONFIG_DIR`, содержащему определения MCP-серверов, которые плоскость управления Anthropic доставила для этой сессии. Если ваша обёртка перестраивает окружение дочернего процесса, перенесите эту переменную. Без неё, когда плоскость управления обновляет доставленные серверы, дочерний процесс завершает работу любого сервера stdio, HTTP или SSE, добавленного вашей обёрткой с помощью [`--mcp-config`](https://code.claude.com/docs/ru/cli-reference#cli-flags), которого нет в обновлении. Требует Claude Code v2.1.299 или новее. |42| `CLAUDE_CODE_REMOTE_MCP_CONFIG` | Путь к файлу в `CLAUDE_CONFIG_DIR`, содержащему определения MCP-серверов, которые плоскость управления Anthropic доставила для этой сессии. Если ваша обёртка перестраивает окружение дочернего процесса, перенесите эту переменную. Без неё, когда плоскость управления обновляет доставленные серверы, дочерний процесс завершает работу любого сервера stdio, HTTP или SSE, добавленного вашей обёрткой с помощью [`--mcp-config`](https://code.claude.com/docs/ru/cli-reference#cli-flags), которого нет в обновлении. Требует Claude Code v2.1.299 или новее. |

43| `ANTHROPIC_BASE_URL` | Базовый URL API, который будет использовать дочерний процесс, доставляемый плоскостью управления для каждой сессии; обычно `https://api.anthropic.com`. Не переопределяйте его: учётные данные вывода сессии — это выданный Anthropic токен OAuth, который другие поставщики не принимают. |43| `ANTHROPIC_BASE_URL` | Базовый URL API, который будет использовать дочерний процесс, доставляемый плоскостью управления для каждой сессии; обычно `https://api.anthropic.com`. Не переопределяйте его: учётные данные вывода сессии — это выданный Anthropic токен OAuth, который другие поставщики не принимают. |

44| `CLAUDE_CODE_OAUTH_TOKEN` | Краткосрочный токен доступа OAuth, который дочерний процесс использует для вывода модели, со временем жизни около 30 минут. Средство выполнения перевыпускает его до истечения срока и доставляет ротацию через stdin дочернего процесса, поэтому обёртка, которая не [сохраняет stdin подключённым](#keep-stdin-and-file-descriptor-3-attached), видит только начальное значение. Не полагайтесь на список разрешённых IP-адресов вашей организации для ограничения использования этого токена: рассматривайте его как Bearer-токен, который остаётся пригодным для использования примерно 30 минут в случае утечки, и не записывайте его в лог, не сохраняйте на диск и не пересылайте за пределы контейнера сессии. |44| `CLAUDE_CODE_OAUTH_TOKEN` | Краткосрочный токен доступа OAuth, который дочерний процесс использует для вывода модели, со временем жизни около 30 минут. Средство выполнения перевыпускает его до истечения срока и доставляет ротацию через stdin дочернего процесса, поэтому обёртка, которая не [сохраняет stdin подключённым](#keep-stdin-and-file-descriptor-3-attached), видит только начальное значение. Не полагайтесь на список разрешённых IP-адресов вашей организации для ограничения использования этого токена: рассматривайте его как Bearer-токен, который остаётся пригодным для использования примерно 30 минут в случае утечки, и не записывайте его в лог, не сохраняйте на диск и не пересылайте за пределы контейнера сессии. |

45| `CLAUDE_RUNNER_ALIVE_EVERY_MS` | Средство выполнения задаёт, как часто (в миллисекундах) дочерний процесс сообщает, что он активен, когда [ход начинается до инициализации дочернего процесса](https://code.claude.com/docs/ru/self-hosted-environments-reference.md#session-startup-timeout). Если ваша обёртка перестраивает окружение дочернего процесса, перенесите эту переменную, иначе средство выполнения может освободить сессию во время этого хода и записать в лог `no child output for <n> — releasing`. Требует v2.1.309 или новее на средстве выполнения и в дочернем процессе. |

45 46 

46Обёртка также наследует остальную часть управляемого окружения дочернего процесса, включая любые переменные окружения, предоставленные сервером. `exec` передаёт всё это автоматически; если ваша обёртка порождает дочерний процесс другим способом, пересылайте окружение полностью.47Обёртка также наследует остальную часть управляемого окружения дочернего процесса, включая любые переменные окружения, предоставленные сервером. `exec` передаёт всё это автоматически; если ваша обёртка порождает дочерний процесс другим способом, пересылайте окружение полностью.

47 48 


307| `CLAUDE_RUNNER_ATTEMPT` | Счётчик для каждой сессии, предназначенный для логирования. Это не число повторных попыток и не число запросов. `0` для запросов предварительного прогрева, хотя запрос для сессии тоже может содержать `0`. |308| `CLAUDE_RUNNER_ATTEMPT` | Счётчик для каждой сессии, предназначенный для логирования. Это не число повторных попыток и не число запросов. `0` для запросов предварительного прогрева, хотя запрос для сессии тоже может содержать `0`. |

308| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | Время сервера из заголовка HTTP `Date` ответа опроса. Когда хук проверяет `exp` JWT наряда на работу, сравнивайте с этим значением вместо локальных часов, чтобы допустить перекос. Пусто, когда шлюз опустил заголовок. |309| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | Время сервера из заголовка HTTP `Date` ответа опроса. Когда хук проверяет `exp` JWT наряда на работу, сравнивайте с этим значением вместо локальных часов, чтобы допустить перекос. Пусто, когда шлюз опустил заголовок. |

309| `CLAUDE_RUNNER_POOL_ID` | ID окружения, к которому должно присоединиться новое средство выполнения, в форме `ccpool_...` |310| `CLAUDE_RUNNER_POOL_ID` | ID окружения, к которому должно присоединиться новое средство выполнения, в форме `ccpool_...` |

310| `CLAUDE_RUNNER_ACCOUNT_ID` | Помеченный ID учётной записи, которая поставила сессию в очередь. Используйте его для маршрутизации по учётной записи, квот или возврата средств, а не как ключ дедупликации. Пусто, когда недоступно, и всегда пусто для сессий канала Claude Tag, которые не ставит в очередь ни одна учётная запись. |311| `CLAUDE_RUNNER_ACCOUNT_ID` | Помеченный ID учётной записи, которая поставила сессию в очередь. Используйте его для маршрутизации по учётной записи, квот или возврата средств, а не как ключ дедупликации. Пусто, когда недоступно. |

311| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | Электронная почта учетной записи, которая поставила сеанс в очередь. Пусто, когда недоступно. Рассматривайте электронную почту как личную информацию и не логируйте ее. |312| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | Электронная почта учетной записи, которая поставила сеанс в очередь. Пусто, когда недоступно. Рассматривайте электронную почту как личную информацию и не логируйте ее. |

312| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | URL первого источника git сеанса для маршрутизации на средство выполнения с этим репозиторием предварительно прогретым. Пусто, когда сеанс не имеет источников git. |313| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | URL первого источника git сеанса для маршрутизации на средство выполнения с этим репозиторием предварительно прогретым. Пусто, когда сеанс не имеет источников git. |

313| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | Ревизия первого git-источника сессии: ветка, SHA, тег или полное имя ссылки. Пусто, когда не указано. |314| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | Ревизия первого git-источника сессии: ветка, SHA, тег или полное имя ссылки. Пусто, когда не указано. |


381 382 

382| Флаг с примером значения | Кому передавать | Что он делает |383| Флаг с примером значения | Кому передавать | Что он делает |

383| :- | :- | :- |384| :- | :- | :- |

384| `--release-idle-session-min 30` | Каждому средству выполнения, которое запускает ваш хук | Средство выполнения освобождает свою сессию после указанного числа минут простоя, а затем завершается с кодом 0. Сессия возобновляется, когда её пользователь отправляет следующее сообщение, но [работа, которую она не успела отправить через push, теряется](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#additional-limitations). [Удерживайте сессию](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#keep-an-idle-session-while-its-processes-run) для процессов, которые она оставила запущенными. |385| `--release-idle-session-min 30` | Каждому средству выполнения, которое запускает ваш хук | Средство выполнения освобождает свою сессию после указанного числа минут простоя, а затем завершается с кодом 0. Сессия возобновляется, когда её пользователь отправляет следующее сообщение, но [работа, которую она не успела отправить через push, теряется](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#resumed-sessions-lose-unpushed-work). [Удерживайте сессию](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#keep-an-idle-session-while-its-processes-run) для процессов, которые она оставила запущенными. |

385| `--kill-session-after-min 480` | Каждому средству выполнения, которое запускает ваш хук | Ограничивает каждую сессию указанным числом минут в качестве страховки для [сессий, которые не считаются простаивающими](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), поэтому задайте значение больше самой длинной ожидаемой сессии |386| `--kill-session-after-min 480` | Каждому средству выполнения, которое запускает ваш хук | Ограничивает каждую сессию указанным числом минут в качестве страховки для [сессий, которые не считаются простаивающими](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), поэтому задайте значение больше самой длинной ожидаемой сессии |

386| `--exit-if-unused-min 60` | Резервным средствам выполнения, которые ваш хук запускает для запросов предварительного прогрева | Резервное средство выполнения, которое так и не получило сессию, завершается через указанное число минут. Если вы задали [`--min-idle`](https://code.claude.com/docs/ru/self-hosted-environments-reference#orchestrator-cli-flags), вы получите замену, если только резервное средство не было избыточным, поэтому используйте значение значительно больше времени загрузки. |387| `--exit-if-unused-min 60` | Резервным средствам выполнения, которые ваш хук запускает для запросов предварительного прогрева | Резервное средство выполнения, которое так и не получило сессию, завершается через указанное число минут. Если вы задали [`--min-idle`](https://code.claude.com/docs/ru/self-hosted-environments-reference#orchestrator-cli-flags), вы получите замену, если только резервное средство не было избыточным, поэтому используйте значение значительно больше времени загрузки. |

387 388 


761 762 

762* **Идентификацию git**: задайте `user.name` и `user.email` в образе средства выполнения или запустите средство выполнения с флагом [`--configure-git`](https://code.claude.com/docs/ru/self-hosted-environments-deploy#let-the-runner-configure-git)763* **Идентификацию git**: задайте `user.name` и `user.email` в образе средства выполнения или запустите средство выполнения с флагом [`--configure-git`](https://code.claude.com/docs/ru/self-hosted-environments-deploy#let-the-runner-configure-git)

763* **Учётные данные для отправки**: используйте [git под управлением Anthropic](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy) или предоставьте учётные данные, как описано в разделе [Включение конфигурации git в образ](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#ship-git-config-in-your-image)764* **Учётные данные для отправки**: используйте [git под управлением Anthropic](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy) или предоставьте учётные данные, как описано в разделе [Включение конфигурации git в образ](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#ship-git-config-in-your-image)

764* **Для возобновлённых сессий**: задайте флаг [`--push-outcome-on-release`](https://code.claude.com/docs/ru/self-hosted-environments-reference#runner-cli-flags) на каждом средстве выполнения в окружении. Тогда возобновлённая сессия начинается с коммитов, которые Claude отправил в ветку сессии. Об ограничениях флага см. [Возобновлённые сессии теряют неотправленную работу](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#additional-limitations).765* **Для возобновлённых сессий**: задайте флаг [`--push-outcome-on-release`](https://code.claude.com/docs/ru/self-hosted-environments-reference#runner-cli-flags) на каждом средстве выполнения в окружении. Тогда возобновлённая сессия начинается с коммитов, которые Claude отправил в ветку сессии. Об ограничениях флага см. [Возобновлённые сессии теряют неотправленную работу](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#resumed-sessions-lose-unpushed-work).

765 766 

766Хук Stop срабатывает не более одного раза за ход. Если коммит или отправка завершаются ошибкой, ход всё равно заканчивается. Найдите ошибку git в сессии и исправьте то, на что она указывает.767Хук Stop срабатывает не более одного раза за ход. Если коммит или отправка завершаются ошибкой, ход всё равно заканчивается. Найдите ошибку git в сессии и исправьте то, на что она указывает.

767 768 

Details

63 63 

64| Хост | Порт | Когда требуется |64| Хост | Порт | Когда требуется |

65| :- | :- | :- |65| :- | :- | :- |

66| `api.github.com` | 443 | С `--use-anthropic-git-proxy` или без него, когда образ runner включает [GitHub CLI](#github-api-access-with-the-github-cli) и вы передаёте сессиям учётные данные github.com, например `GH_TOKEN` |

66| `downloads.claude.ai` | 443 | Во время установки, когда вы устанавливаете или обновляете Claude Code на хосте с помощью встроенного установщика; сам скрипт `install.sh` обслуживается с `claude.ai`. Во время выполнения сеанса только когда сеансы устанавливают плагины из официального рынка Anthropic. |67| `downloads.claude.ai` | 443 | Во время установки, когда вы устанавливаете или обновляете Claude Code на хосте с помощью встроенного установщика; сам скрипт `install.sh` обслуживается с `claude.ai`. Во время выполнения сеанса только когда сеансы устанавливают плагины из официального рынка Anthropic. |

67| `storage.googleapis.com` | 443 | Во время выполнения сеанса для количества установок плагинов и метаданных, показанных в `/plugin`. |68| `storage.googleapis.com` | 443 | Во время выполнения сеанса для количества установок плагинов и метаданных, показанных в `/plugin`. |

68| `code.claude.com` и `claude.com` | 443 | Поиск документации встроенным агентом claude-code-guide и предварительно одобренные запросы WebFetch во время сеансов. Блокировка этих хостов влияет только на поиск документации. |69| `code.claude.com` и `claude.com` | 443 | Поиск документации встроенным агентом claude-code-guide и предварительно одобренные запросы WebFetch во время сеансов. Блокировка этих хостов влияет только на поиск документации. |


167 168 

168* Раннер задаёт `GIT_TERMINAL_PROMPT=0`, поэтому git не запрашивает имя пользователя или пароль.169* Раннер задаёт `GIT_TERMINAL_PROMPT=0`, поэтому git не запрашивает имя пользователя или пароль.

169* Раннер запускает SSH с `BatchMode=yes`, добавленным к вашему `GIT_SSH_COMMAND`, если вы его задали, поэтому SSH не запрашивает парольную фразу или подтверждение хоста.170* Раннер запускает SSH с `BatchMode=yes`, добавленным к вашему `GIT_SSH_COMMAND`, если вы его задали, поэтому SSH не запрашивает парольную фразу или подтверждение хоста.

170* Раннер задаёт `GCM_INTERACTIVE=never`, поэтому Git Credential Manager не открывает диалог входа.171* Раннер задаёт `GCM_INTERACTIVE=never`, поэтому Git Credential Manager не открывает диалог входа. До v2.1.229 подготовка репозитория могла зависнуть на запросе Git Credential Manager.

171* Раннер очищает `core.askPass`, поэтому, если вы используете askpass-помощник, задайте его через переменную окружения `GIT_ASKPASS`.172* Раннер очищает `core.askPass`, поэтому, если вы используете askpass-помощник, задайте его через переменную окружения `GIT_ASKPASS`.

172 173 

173Если ваш git-хост отклоняет учётные данные или вы их не настроили, раннер делает несколько повторных попыток, а затем прерывает подготовку репозитория, если это репозиторий, в который сессия отправляет результаты. О том, когда раннер вместо этого пропускает репозиторий, который сессия только читает, рассказано в разделе [Устранение неполадок](#troubleshooting). Раннер не передаёт эти настройки в окружение сессии.174Если ваш git-хост отклоняет учётные данные или вы их не настроили, раннер делает несколько повторных попыток, а затем прерывает подготовку репозитория, если это репозиторий, в который сессия отправляет результаты. О том, когда раннер вместо этого пропускает репозиторий, который сессия только читает, рассказано в разделе [Устранение неполадок](#troubleshooting). Раннер не передаёт эти настройки в окружение сессии.


287* **`jq`**: установите `jq` в образ, если хотите, чтобы работал `--jq`288* **`jq`**: установите `jq` в образ, если хотите, чтобы работал `--jq`

288* **[`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ru/env-vars)**: если окружение сессии задаёт эту переменную, Claude Code не предоставляет встроенный `gh`, и у сессии нет `gh`289* **[`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ru/env-vars)**: если окружение сессии задаёт эту переменную, Claude Code не предоставляет встроенный `gh`, и у сессии нет `gh`

289 290 

290Если образ включает GitHub CLI, сессии используют его.291#### Доступ к API GitHub с GitHub CLI

292 

293Если ваш образ раннера включает GitHub CLI для использования сессиями, пусть ваш [скрипт-обёртка](https://code.claude.com/docs/ru/self-hosted-environments-configuration.md#provision-credentials-scoped-to-the-session-creator) выпускает для каждой сессии краткоживущий `GH_TOKEN` с минимально необходимыми правами для создателя сессии. Если `gh` находится в `PATH`, с которым запускается Claude Code, у сессии есть этот `gh` и нет [встроенного `gh`](#github-api-access-without-the-github-cli). С этим токеном такой `gh` обращается к GitHub с тем доступом, который предоставляет токен, и в обход управляемого Anthropic git, поэтому разрешите доступ к [`api.github.com`](#network-requirements).

294 

295При использовании управляемого Anthropic git не включайте GitHub CLI в образ, чтобы вместо него использовался встроенный `gh`.

291 296 

292#### Доверие частному центру сертификации при использовании управляемого Anthropic git297#### Доверие частному центру сертификации при использовании управляемого Anthropic git

293 298 


343 348 

344Перезапись хоста выполняется первой, поэтому, если вам нужны обе, указывайте в `--git-ssh-rewrite` внутреннее имя хоста. Для полного контроля над извлечением используйте [хук жизненного цикла `checkout`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#checkout).349Перезапись хоста выполняется первой, поэтому, если вам нужны обе, указывайте в `--git-ssh-rewrite` внутреннее имя хоста. Для полного контроля над извлечением используйте [хук жизненного цикла `checkout`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#checkout).

345 350 

351### Запуск сессии для репозитория вне GitHub

352 

353Чтобы запустить сессию для репозитория с git-хоста, отличного от GitHub, запустите сессию из терминала в извлечённой копии этого репозитория. Сначала проверьте учётные данные git раннера, сеть и git-прокси, адрес репозитория и вашу ветку:

354 

355* **Учётные данные git и сеть**: [предоставьте учётные данные](#ship-git-config-in-your-image), которые [работают без интерактивного запроса](#git-must-work-without-a-prompt), для `https://<host>/<owner>/<name>` — адреса, который клонирует раннер, — и разрешите раннеру доступ к вашему git-хосту, как указано в разделе [Сетевые требования](#network-requirements). Для git-хоста, который принимает только SSH, см. [`--git-ssh-rewrite`](#rewrite-git-urls-for-private-networks).

356* **Git-прокси**: если раннеры окружения используют git-прокси Anthropic, [отключите его](#turn-the-anthropic-git-proxy-off).

357* **Адрес репозитория**: проверьте удалённый репозиторий `origin` в извлечённой копии. Его хост должен быть доменным именем, например `git.example.com`, а путь должен иметь вид `<owner>/<name>`. Вложенный путь, например `group/subgroup/name`, не подходит.

358* **Ветка**: отправьте ветку, на которой вы находитесь, на ваш git-хост, поскольку раннер клонирует именно эту ветку.

359 

360В извлечённой копии, войдя в claude.ai, как описано в разделе [Аутентификация из CI](https://code.claude.com/docs/ru/self-hosted-environments-testing.md#authenticate-from-ci), выполните `claude -p` с [`--environment`](https://code.claude.com/docs/ru/self-hosted-environments-testing#run-the-test-loop) и ID вашего окружения `ccpool_...`:

361 

362```bash theme={null}

363claude -p "Fix the login bug" --environment ccpool_abc123 --output-format json

364```

365 

366Когда сессия создана, команда выводит одну строку JSON, начинающуюся с `{"ok":true`. Если удалённый репозиторий `origin` не подходит, команда завершается ошибкой `requires a git source, but no GitHub remote was detected`.

367 

368Проверяйте и выполняйте слияние на вашем git-хосте веток, которые [отправляют](https://code.claude.com/docs/ru/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work) сессии.

369 

346## Постройте образ runner370## Постройте образ runner

347 371 

348Anthropic не публикует предварительно построенный образ runner. Постройте свой собственный вокруг бинарного файла `claude`, наслаивая любой набор инструментов, который нужен вашим репозиториям: языковые среды выполнения, компиляторы, менеджеры пакетов и [MCP](https://code.claude.com/docs/ru/mcp.md) sidecars.372Anthropic не публикует предварительно построенный образ runner. Постройте свой собственный вокруг бинарного файла `claude`, наслаивая любой набор инструментов, который нужен вашим репозиториям: языковые среды выполнения, компиляторы, менеджеры пакетов и [MCP](https://code.claude.com/docs/ru/mcp.md) sidecars.


617 641 

618### Дайте выполняемым ходам завершиться перед перезапуском642### Дайте выполняемым ходам завершиться перед перезапуском

619 643 

620Чтобы дать выполняемым ходам завершиться перед rolling restart, установите `--drain-wait-sec` и увеличьте таймаут остановки как минимум до этого ожидания плюс 80 секунд. При значении ожидания по умолчанию `0` перезапуск прерывает любой ещё выполняемый ход, и сессия возобновляется на другом runner без своей [неотправленной работы](#additional-limitations).644Чтобы дать выполняемым ходам завершиться перед rolling restart, установите `--drain-wait-sec` и увеличьте таймаут остановки как минимум до этого ожидания плюс 80 секунд. При значении ожидания по умолчанию `0` перезапуск прерывает любой ещё выполняемый ход, и сессия возобновляется на другом runner без своей [неотправленной работы](#resumed-sessions-lose-unpushed-work).

621 645 

622* **`--drain-wait-sec`**: примерно столько, сколько длятся ходы и фоновые задачи, которым вы хотите дать завершиться. Это максимум: ожидание заканчивается раньше, если они завершатся первыми.646* **`--drain-wait-sec`**: примерно столько, сколько длятся ходы и фоновые задачи, которым вы хотите дать завершиться. Это максимум: ожидание заканчивается раньше, если они завершатся первыми.

623* **Ваш таймаут остановки**: `terminationGracePeriodSeconds` в Kubernetes, `stop_grace_period` в Docker Compose. Например, при `--drain-wait-sec 120` замените `90` в рецепте для [Kubernetes](#kubernetes) или [Docker Compose](#docker-compose) на `200`.647* **Ваш таймаут остановки**: `terminationGracePeriodSeconds` в Kubernetes, `stop_grace_period` в Docker Compose. Например, при `--drain-wait-sec 120` замените `90` в рецепте для [Kubernetes](#kubernetes) или [Docker Compose](#docker-compose) на `200`.


735 759 

736Чтобы освобождать простаивающие сессии, запускайте каждый runner с [`--release-idle-session-min`](https://code.claude.com/docs/ru/self-hosted-environments-reference#runner-cli-flags) и этим временем в минутах, например `--release-idle-session-min 30`. Тогда runner освобождает любую сессию, которая простаивает так долго, независимо от того, запустила её запланированная задача или человек, если только вы не [удерживаете её ради оставленных ею запущенных процессов](#keep-an-idle-session-while-its-processes-run).760Чтобы освобождать простаивающие сессии, запускайте каждый runner с [`--release-idle-session-min`](https://code.claude.com/docs/ru/self-hosted-environments-reference#runner-cli-flags) и этим временем в минутах, например `--release-idle-session-min 30`. Тогда runner освобождает любую сессию, которая простаивает так долго, независимо от того, запустила её запланированная задача или человек, если только вы не [удерживаете её ради оставленных ею запущенных процессов](#keep-an-idle-session-while-its-processes-run).

737 761 

738* **Неотправленная работа**: освобождённая сессия возобновляется при следующем сообщении, но без работы, которую она не отправила (push). Чтобы сохранить её коммиты, см. [Resumed sessions lose unpushed work](#additional-limitations).762* **Неотправленная работа**: освобождённая сессия возобновляется при следующем сообщении, но без работы, которую она не отправила (push). Чтобы сохранить её коммиты, см. [Resumed sessions lose unpushed work](#resumed-sessions-lose-unpushed-work).

739* **Завершение runner**: runner, освободивший свою последнюю сессию, начинает [обычное завершение](#when-the-runner-exits). Настройте ваш супервизор так, чтобы он перезапускал его на чистой файловой системе, как описано в разделе [Усиление защиты развёртывания](#harden-your-deployment).763* **Завершение runner**: runner, освободивший свою последнюю сессию, начинает [обычное завершение](#when-the-runner-exits). Настройте ваш супервизор так, чтобы он перезапускал его на чистой файловой системе, как описано в разделе [Усиление защиты развёртывания](#harden-your-deployment).

740* **Сессии, которые никогда не переходят в простой**: также задайте [`--kill-session-after-min`](https://code.claude.com/docs/ru/self-hosted-environments-reference#runner-cli-flags), потому что [некоторые сессии не считаются простаивающими](#some-sessions-don’t-count-as-idle)764* **Сессии, которые никогда не переходят в простой**: также задайте [`--kill-session-after-min`](https://code.claude.com/docs/ru/self-hosted-environments-reference#runner-cli-flags), потому что [некоторые сессии не считаются простаивающими](#some-sessions-don’t-count-as-idle)

741 765 


811* Если ход все еще работает, runner ждет, пока ход закончится, или пока сеанс не будет ждать своего пользователя, и затем выпускает его.835* Если ход все еще работает, runner ждет, пока ход закончится, или пока сеанс не будет ждать своего пользователя, и затем выпускает его.

812* Если сеанс все еще на runner, когда окно благодати истекает, runner завершает его, и любая работа работающего хода потеряна. Ход, ожидающий одобрения, запрошенного изнутри работающего вызова инструмента, - это один способ, которым сеанс переживает окно.836* Если сеанс все еще на runner, когда окно благодати истекает, runner завершает его, и любая работа работающего хода потеряна. Ход, ожидающий одобрения, запрошенного изнутри работающего вызова инструмента, - это один способ, которым сеанс переживает окно.

813 837 

814Выпущенный сеанс возобновляется с свежего клона, поэтому работа, которую он не отправил, потеряна в любом случае; см. [Resumed sessions lose unpushed work](#additional-limitations). До v2.1.260, runner завершал каждый сеанс на лимите, после ожидания максимум окна благодати для работающего хода, чтобы закончиться.838Освобождённая сессия возобновляется из свежего клона, поэтому работа, которую она не отправила, теряется в любом случае; см. [Возобновлённые сессии теряют неотправленную работу](#resumed-sessions-lose-unpushed-work). До v2.1.260 runner завершал каждую сессию по достижении лимита, ожидая завершения выполняющегося хода не дольше льготного периода.

815 839 

816Установите флаг выше вашего самого длинного ожидаемого сеанса, такой как `--kill-session-after-min 480` для 8 часов. Чтобы освободить слоты из разговоров, которые становятся неактивными, используйте вместо этого `--release-idle-session-min`.840Установите флаг выше вашего самого длинного ожидаемого сеанса, такой как `--kill-session-after-min 480` для 8 часов. Чтобы освободить слоты из разговоров, которые становятся неактивными, используйте вместо этого `--release-idle-session-min`.

817 841 

842### Возобновлённые сессии теряют неотправленную работу

843 

844Сессия, которая возобновляется на новом runner, теряет работу, которую она не отправила, поскольку этот runner заново клонирует репозиторий с её начальной ветки.

845 

846Чтобы сохранить закоммиченную работу, задайте [`--push-outcome-on-release`](https://code.claude.com/docs/ru/self-hosted-environments-reference#runner-cli-flags) на каждом runner в окружении. Runner с этим флагом перед освобождением по возможности отправляет (push) ветки результатов сессии, и возобновлённая сессия начинается с этих коммитов. Runner без него возобновляет сессию с её начальной ветки. Для push используются собственные учётные данные git хоста runner, в том числе на runner, который использует [управляемый Anthropic git](#use-the-anthropic-git-proxy).

847 

848> [!WARNING]

849>

850> Прежде чем задать флаг, ограничьте круг тех, кто может выполнять push в refs `claude/*` на исходном удалённом репозитории. При возобновлении runner получает ранее отправленную ветку, не проверяя, кто её отправил.

851 

852Даже при заданном флаге сохраняйте эту работу другим способом:

853 

854* **Незакоммиченные изменения**: они по-прежнему теряются. См. [Побуждение сессий отправлять свою работу](https://code.claude.com/docs/ru/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work).

855* **Репозитории, извлечённые с помощью [хука жизненного цикла `checkout`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#checkout)**: они не отправляются. Сохраняйте их снимки из [хука `post-session`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#post-session).

856* **Коммиты в сессии, которую кто-то архивирует или удаляет либо чей runner освобождает из меню сессии**: не рассчитывайте на push через флаг. Чтобы сохранить их, отправляйте `HEAD` в резервную ветку из [хука `post-session`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#post-session). Приведённый там пример выполняет push только после коммита-снимка, поэтому сделайте так, чтобы ваш хук выполнял push, даже когда незакоммиченных изменений нет.

857 

818### Дополнительные ограничения858### Дополнительные ограничения

819 859 

820* **Возобновлённые сессии теряют неотправленную работу**: новый runner заново клонирует репозиторий с его начальной ветки, поэтому работа, которую сессия не отправила, теряется.

821 * **Чтобы сохранить закоммиченную работу**: задайте [`--push-outcome-on-release`](https://code.claude.com/docs/ru/self-hosted-environments-reference#runner-cli-flags) на каждом runner в окружении, поскольку runner без этого флага возобновляет сессию с её начальной ветки. Runner с этим флагом перед освобождением по возможности отправляет (push) ветки результатов сессии, и возобновлённая сессия начинается с этих коммитов. Для push используются собственные учётные данные git хоста runner, в том числе на runner, который использует [управляемый Anthropic git](#use-the-anthropic-git-proxy).

822 * **С хуком `checkout`**: репозитории, извлечённые с помощью [хука жизненного цикла `checkout`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#checkout), не отправляются. Вместо этого сохраняйте их снимки из [хука `post-session`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#post-session).

823 * **Перед включением флага**: ограничьте круг тех, кто может выполнять push в refs `claude/*` на исходном удалённом репозитории. При возобновлении runner получает ранее отправленную ветку, не проверяя, кто её отправил.

824 * **Незакоммиченные изменения всё равно теряются**: чтобы побудить Claude делать коммит и push по завершении ответа, см. [Побуждение сессий отправлять свою работу](https://code.claude.com/docs/ru/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)

825* **Команда, прерванная из-за потери runner, может выполниться повторно**: когда сессия возобновляется на другом runner, Claude видит прерванный вызов инструмента с результатом, сообщающим, что его исход неизвестен.860* **Команда, прерванная из-за потери runner, может выполниться повторно**: когда сессия возобновляется на другом runner, Claude видит прерванный вызов инструмента с результатом, сообщающим, что его исход неизвестен.

826* **Репозиторий, добавленный в середине сессии, может не клонироваться**: Claude клонирует его с помощью `git clone` по HTTPS. На runner без [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) клонирование завершается ошибкой аутентификации git, если ничто на хосте не может прочитать репозиторий. По возможности выбирайте все необходимые сессии репозитории при её создании.861* **Репозиторий, добавленный в середине сессии, может не клонироваться**: Claude клонирует его с помощью `git clone` по HTTPS. На runner без [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) клонирование завершается ошибкой аутентификации git, если ничто на хосте не может прочитать репозиторий. По возможности выбирайте все необходимые сессии репозитории при её создании.

827 * **При возобновлении сессии**: [хук `checkout`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#checkout) запускается и для добавленного репозитория, при этом [`CLAUDE_RUNNER_REPO_REF`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#checkout) пуст, поэтому убедитесь, что ваш хук обрабатывает этот случай.862 * **При возобновлении сессии**: [хук `checkout`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#checkout) запускается и для добавленного репозитория, при этом [`CLAUDE_RUNNER_REPO_REF`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#checkout) пуст, поэтому убедитесь, что ваш хук обрабатывает этот случай.

828* **Некоторые коннекторы не появляются в самостоятельно размещаемых сеансах**: коннектор, который вы еще не подключили в параметрах claude.ai, не указан в самостоятельно размещаемом сеансе, и сеанс не будет вас приглашать подключить его. Подключите его в параметрах сначала, затем запустите свежий сеанс. Добавление коннектора в уже работающий сеанс тоже не делает его инструменты доступными для Claude; запустите свежий сеанс, чтобы подхватить недавно добавленный коннектор.863* **Некоторые коннекторы не появляются в самостоятельно размещаемых сеансах**: коннектор, который вы еще не подключили в параметрах claude.ai, не указан в самостоятельно размещаемом сеансе, и сеанс не будет вас приглашать подключить его. Подключите его в параметрах сначала, затем запустите свежий сеанс. Добавление коннектора в уже работающий сеанс тоже не делает его инструменты доступными для Claude; запустите свежий сеанс, чтобы подхватить недавно добавленный коннектор.

829* **Когда кто-то архивирует или удаляет сессию либо освобождает её runner из меню сессии**: не рассчитывайте на push через [`--push-outcome-on-release`](https://code.claude.com/docs/ru/self-hosted-environments-reference#runner-cli-flags). Чтобы сохранить коммиты в этих случаях, отправляйте `HEAD` в резервную ветку из [хука `post-session`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#post-session). Если вы берёте за основу приведённый там пример, сделайте так, чтобы он выполнял push, даже когда незакоммиченных изменений нет, поскольку он выполняет push только после коммита-снимка.

830 864 

831### Сообщите о проблеме865### Сообщите о проблеме

832 866 

Details

84 84 

85**7. Прочитайте идентификацию**85**7. Прочитайте идентификацию**

86 86 

87Идентификация создающего пользователя находится в утверждении `act`: `act.sub` — это его ID пользователя Anthropic в префиксной форме `user:<id>`, а `act.email`, когда создающий интерфейс записал его, — это его адрес электронной почты. Сессии, которые создает идентификация сервиса вашей организации, включая сессии канала Claude Tag, вместо этого содержат субъект `agent:`, поэтому рассматривайте сессию как созданную пользователем только когда `act.sub` содержит префикс `user:`, а не проверяя, отсутствуют ли утверждения идентификации. См. [справочник утверждений](#claims-reference) для полной структуры и плоских дублирующихся утверждений.87Идентификация создающего пользователя находится в утверждении `act`. `act.sub` — это его ID пользователя Anthropic в префиксной форме `user:<id>`, а `act.email`, когда создающий интерфейс записал его, — это его адрес электронной почты. Сессии, которые создает идентификация сервиса вашей организации, вместо этого содержат субъект `agent:`. Рассматривайте сессию как созданную пользователем только когда `act.sub` содержит префикс `user:`, а не проверяя, отсутствуют ли утверждения идентификации.

88 

89См. [справочник утверждений](#claims-reference) для полной структуры и плоских дублирующихся утверждений.

88 90 

89Проверки напрямую соответствуют стандартным библиотекам JWT. Примеры ниже реализуют полную последовательность в Node.js с [`jose`](https://www.npmjs.com/package/jose), которая обрабатывает получение JWKS, кэширование и выбор `kid`, и в Python с [`PyJWT`](https://pyjwt.readthedocs.io/) и его встроенным клиентом JWKS.91Проверки напрямую соответствуют стандартным библиотекам JWT. Примеры ниже реализуют полную последовательность в Node.js с [`jose`](https://www.npmjs.com/package/jose), которая обрабатывает получение JWKS, кэширование и выбор `kid`, и в Python с [`PyJWT`](https://pyjwt.readthedocs.io/) и его встроенным клиентом JWKS.

90 92 


185 187 

186## Справочник утверждений188## Справочник утверждений

187 189 

188Таблица ниже перечисляет утверждения токена сессии, релевантные для проверки. Читайте идентификацию из пространства имен `ccr:*` и цепи `act`; плоские утверждения `account_email`, `organization_uuid` и `account_uuid` — это дубликаты обратной совместимости, которые могут быть удалены. Сессии, которые создаёт идентификация сервиса вашей организации, включая сессии канала Claude Tag, содержат субъект `agent:` в `act.sub` и опускают `act.email`, `ccr:account_id`, `account_email` и `account_uuid`. Два утверждения электронной почты также опциональны для сессий, созданных пользователем: Anthropic записывает их при создании сессии только когда учётные данные создающего запроса содержат электронную почту, и сессия, отправленная из CLI, может не иметь обоих, поэтому ключевая идентификация на `act.sub` или `ccr:account_id` вместо электронной почты. Токены также могут содержать дополнительные утверждения помимо этой таблицы; игнорируйте утверждения, которые вы не узнаете.190Читайте идентификацию из пространства имен `ccr:*` и цепи `act`; плоские утверждения `account_email`, `organization_uuid` и `account_uuid` — это дубликаты обратной совместимости, которые могут быть удалены. Сессии, которые создаёт идентификация сервиса вашей организации, содержат субъект `agent:` в `act.sub` и опускают `act.email`, `ccr:account_id`, `account_email` и `account_uuid`.

191 

192Два утверждения электронной почты также опциональны для сессий, созданных пользователем. Anthropic записывает их при создании сессии только когда учётные данные создающего запроса содержат электронную почту, и сессия, отправленная из CLI, может не иметь обоих. Используйте в качестве ключа идентификации `act.sub` или `ccr:account_id`, а не электронную почту. Токены также могут содержать дополнительные утверждения помимо этой таблицы; игнорируйте утверждения, которые вы не узнаёте. Таблица ниже перечисляет утверждения токена сессии, релевантные для проверки.

189 193 

190| Утверждение | Тип | Описание |194| Утверждение | Тип | Описание |

191| :- | :- | :- |195| :- | :- | :- |


211 215 

212| Путь | Описание |216| Путь | Описание |

213| :- | :- |217| :- | :- |

214| `act.sub` | ID пользователя Anthropic создающего пользователя в форме `user:<id>` или `agent:<id>`, когда идентификация сервиса вашей организации создала сессию, как это происходит для сессий канала Claude Tag. |218| `act.sub` | ID пользователя Anthropic создающего пользователя в форме `user:<id>` или `agent:<id>`, когда идентификация сервиса вашей организации создала сессию. |

215| `act.email` | Адрес электронной почты создающего пользователя, когда он был записан при создании сессии. Не требуйте его; ключевая идентификация на `act.sub`. |219| `act.email` | Адрес электронной почты создающего пользователя, когда он был записан при создании сессии. Не требуйте его; ключевая идентификация на `act.sub`. |

216| `act.attested_by` | Зарезервировано для аттестации поставщика идентификации вышестоящего уровня для создающего пользователя. Ожидайте, что это утверждение будет отсутствовать, и не полагайтесь на него. Ключевая идентификация на `act.sub`. Если вам нужен адрес, читайте `act.email`, когда он присутствует. |220| `act.attested_by` | Зарезервировано для аттестации поставщика идентификации вышестоящего уровня для создающего пользователя. Ожидайте, что это утверждение будет отсутствовать, и не полагайтесь на него. Ключевая идентификация на `act.sub`. Если вам нужен адрес, читайте `act.email`, когда он присутствует. |

217| `act.act` | Runner, который запустил сессию. `act.act.sub` — это `ccr:runner:<runner_id>`. |221| `act.act` | Runner, который запустил сессию. `act.act.sub` — это `ccr:runner:<runner_id>`. |

Details

48| `--post-session-hook-timeout-sec <n>` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | Бюджет для [`post-session` hook](https://code.claude.com/docs/ru/self-hosted-environments-configuration#post-session) при завершении каждого сеанса, включая завершение runner |48| `--post-session-hook-timeout-sec <n>` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | Бюджет для [`post-session` hook](https://code.claude.com/docs/ru/self-hosted-environments-configuration#post-session) при завершении каждого сеанса, включая завершение runner |

49| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | unset | Команда shell, которую runner запускает для каждого подключения к вашему прокси выхода, используя его обрезанный stdout как значение заголовка `Proxy-Authorization`. Требует `HTTPS_PROXY` или `HTTP_PROXY`, и не может быть объединен с `--proxy-authorization-file`. См. [Authenticate to an egress proxy](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Требует Claude Code v2.1.238 или позже. |49| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | unset | Команда shell, которую runner запускает для каждого подключения к вашему прокси выхода, используя его обрезанный stdout как значение заголовка `Proxy-Authorization`. Требует `HTTPS_PROXY` или `HTTP_PROXY`, и не может быть объединен с `--proxy-authorization-file`. См. [Authenticate to an egress proxy](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Требует Claude Code v2.1.238 или позже. |

50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | unset | Файл, который runner читает для каждого подключения к вашему прокси выхода, используя его обрезанное содержимое как значение заголовка `Proxy-Authorization`. Используйте этот флаг для токена, который другой процесс ротирует на месте. Несет те же требования, что и `--proxy-authorization-command`, и не может быть объединен с ним. См. [Authenticate to an egress proxy](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Требует Claude Code v2.1.238 или позже. |50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | unset | Файл, который runner читает для каждого подключения к вашему прокси выхода, используя его обрезанное содержимое как значение заголовка `Proxy-Authorization`. Используйте этот флаг для токена, который другой процесс ротирует на месте. Несет те же требования, что и `--proxy-authorization-command`, и не может быть объединен с ним. См. [Authenticate to an egress proxy](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy). Требует Claude Code v2.1.238 или позже. |

51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | off | При инициированном runner завершении сеанса, таком как осушение или отпуск при простое, отправьте отслеживаемые ветви результатов в `origin` перед удалением рабочего пространства, чтобы текущие коммиты пережили перезагрузку. Лучшее усилие; добавляет 30 секунд к бюджету завершения и требует git 2.29 или новее для возобновления с отправленной ветви. Ограничьте доступ на отправку к ссылкам `claude/*` перед включением; см. [Resumed sessions lose unpushed work](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#additional-limitations). Репозитории, проверенные через hook `checkout` жизненного цикла, не отправляются; снимите их с помощью [`post-session` hook](https://code.claude.com/docs/ru/self-hosted-environments-configuration#post-session) вместо этого. |51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | off | При завершении сессии по инициативе runner, например при осушении или отпуске при простое, runner отправляет основные ветки сессии с новыми коммитами в `origin` перед удалением рабочего пространства. Выполняется по мере возможности; добавляет 30 секунд к бюджету завершения. Для возобновления с них требуется git 2.29 или новее. Ограничьте доступ на отправку ссылками `claude/*`; см. [Resumed sessions lose unpushed work](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#resumed-sessions-lose-unpushed-work). Репозитории хука `checkout` не отправляются; делайте их снимки из [хука `post-session`](https://code.claude.com/docs/ru/self-hosted-environments-configuration#post-session). |

52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Отпускает слот сессии после N минут неактивности после завершения хода или когда сессия ожидает действия пользователя. [Некоторые сессии не считаются простаивающими](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), поэтому используйте вместе с `--kill-session-after-min`. Завершённая фоновая задача держит сессию занятой в течение максимум окна [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Чтобы отложить отпуск, задайте [`--hold-idle-file`](https://code.claude.com/docs/ru/self-hosted-environments-deploy#keep-an-idle-session-while-its-processes-run). `0` отключает. |52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Отпускает слот сессии после N минут неактивности после завершения хода или когда сессия ожидает действия пользователя. [Некоторые сессии не считаются простаивающими](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle), поэтому используйте вместе с `--kill-session-after-min`. Завершённая фоновая задача держит сессию занятой в течение максимум окна [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Чтобы отложить отпуск, задайте [`--hold-idle-file`](https://code.claude.com/docs/ru/self-hosted-environments-deploy#keep-an-idle-session-while-its-processes-run). `0` отключает. |

53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | off | Удалите каталоги сеанса для каждого сеанса под `<base-dir>/_sessions/` когда сеанс заканчивается на этом runner, независимо от результата. [Reuse a pre-warmed checkout](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) описывает, что они содержат и кто может их читать, когда они остаются. Удаление является лучшим усилием: каталоги для каждого сеанса остаются на месте, когда runner убивается или достигает крайнего срока осушения перед запуском очистки. С флагом включенным, логи отладки неудачного или прерванного сеанса не сохраняются на диск. Требует Claude Code v2.1.268 или позже. |53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | off | Удалите каталоги сеанса для каждого сеанса под `<base-dir>/_sessions/` когда сеанс заканчивается на этом runner, независимо от результата. [Reuse a pre-warmed checkout](https://code.claude.com/docs/ru/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout) описывает, что они содержат и кто может их читать, когда они остаются. Удаление является лучшим усилием: каталоги для каждого сеанса остаются на месте, когда runner убивается или достигает крайнего срока осушения перед запуском очистки. С флагом включенным, логи отладки неудачного или прерванного сеанса не сохраняются на диск. Требует Claude Code v2.1.268 или позже. |

54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | unset | Выведите runner на пенсию в абсолютный временной штамп Unix в секундах для инфраструктуры, которая убивает runner в известное время; [Runner lifecycle](https://code.claude.com/docs/ru/self-hosted-environments#runner-lifecycle) описывает последовательность отпуска и как определить размер маржи. Значения до 2001 или после года 5138 отклоняются флагом и игнорируются переменной окружения. |54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | unset | Выведите runner на пенсию в абсолютный временной штамп Unix в секундах для инфраструктуры, которая убивает runner в известное время; [Runner lifecycle](https://code.claude.com/docs/ru/self-hosted-environments#runner-lifecycle) описывает последовательность отпуска и как определить размер маржи. Значения до 2001 или после года 5138 отклоняются флагом и игнорируются переменной окружения. |

Details

4846 4846 

4847### `disableDeepLinkRegistration`4847### `disableDeepLinkRegistration`

4848 4848 

4849Остановить Claude Code от регистрации обработчика протокола `claude-cli://` в операционной системе, что он иначе делает после отправки первого запроса интерактивного сеанса. [Deep links](https://code.claude.com/docs/ru/deep-links.md) позволяют внешним инструментам открывать сеанс Claude Code с предзаполненным запросом. Установите это в окружениях, где регистрация обработчика протокола ограничена или управляется отдельно.4849Запретить Claude Code регистрировать обработчик протокола `claude-cli://` в операционной системе. [Deep links](https://code.claude.com/docs/ru/deep-links.md) позволяют внешним инструментам открывать сессию Claude Code с предзаполненным промптом. Установите это в окружениях, где регистрация обработчика протокола ограничена или управляется отдельно.

4850 4850 

4851* **Scope**: [`Any file`](#scopes)4851* **Scope**: [`Any file`](#scopes)

4852* **Type**: строка `"disable"`4852* **Type**: строка `"disable"`


5801 5801 

5802Запускайте каждую интерактивную сессию CLI с включенной [интеграцией Chrome](https://code.claude.com/docs/ru/chrome.md), без необходимости передавать `--chrome` каждый раз. Если вы запустите [`claude remote-control`](https://code.claude.com/docs/ru/remote-control), сессия, которую он запускает для одного из ваших потоков [проекта](https://code.claude.com/docs/ru/claude-projects.md), также следует этому ключу, за исключением режима `bypassPermissions`. В Claude Code v2.1.287 или более поздней версии этот ключ также применяется к сессиям в [расширении VS Code](https://code.claude.com/docs/ru/vs-code.md#automate-browser-tasks-with-chrome): см. [Enable Chrome by default](https://code.claude.com/docs/ru/chrome.md#enable-chrome-by-default).5802Запускайте каждую интерактивную сессию CLI с включенной [интеграцией Chrome](https://code.claude.com/docs/ru/chrome.md), без необходимости передавать `--chrome` каждый раз. Если вы запустите [`claude remote-control`](https://code.claude.com/docs/ru/remote-control), сессия, которую он запускает для одного из ваших потоков [проекта](https://code.claude.com/docs/ru/claude-projects.md), также следует этому ключу, за исключением режима `bypassPermissions`. В Claude Code v2.1.287 или более поздней версии этот ключ также применяется к сессиям в [расширении VS Code](https://code.claude.com/docs/ru/vs-code.md#automate-browser-tasks-with-chrome): см. [Enable Chrome by default](https://code.claude.com/docs/ru/chrome.md#enable-chrome-by-default).

5803 5803 

5804Запуск `/chrome` и выбор **Enabled by default** устанавливает этот ключ за вас. Отображается в `/config` как **Claude in Chrome enabled by default**.5804Запуск `/chrome` и выбор **Enabled by default** устанавливает этот ключ за вас, как и ответ в [диалоговом окне «Claude in Chrome extension detected»](https://code.claude.com/docs/ru/chrome.md#answer-the-startup-dialog). Отображается в `/config` как **Claude in Chrome enabled by default**.

5805 5805 

5806* **Scope**: [`Global config`](#scopes)5806* **Scope**: [`Global config`](#scopes)

5807* **Type**: Boolean5807* **Type**: Boolean

setup.md +9 −5

Details

39 39 

40**macOS, Linux, WSL:**40**macOS, Linux, WSL:**

41 41 

42```bash theme={null}42```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

43curl -fsSL https://claude.ai/install.sh | bash43curl -fsSL https://claude.ai/install.sh | bash

44```44```

45 45 


47 47 

48**Windows PowerShell:**48**Windows PowerShell:**

49 49 

50```powershell theme={null}50```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

51irm https://claude.ai/install.ps1 | iex51irm https://claude.ai/install.ps1 | iex

52```52```

53 53 

54**Windows CMD:**54**Windows CMD:**

55 55 

56```batch theme={null}56```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

57curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd57curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

58```58```

59 59 


71 71 

72**Homebrew**72**Homebrew**

73 73 

74```bash theme={null}74```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

75brew install --cask claude-code75brew install --cask claude-code

76```76```

77 77 


83 83 

84**WinGet**84**WinGet**

85 85 

86```powershell theme={null}86```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

87winget install Anthropic.ClaudeCode87winget install Anthropic.ClaudeCode

88```88```

89 89 


458 458 

459### Установка с npm459### Установка с npm

460 460 

461> [!NOTE]

462>

463> Если `npm --version` в вашей оболочке выводит версию, начинающуюся с `12`, вместо этого следуйте инструкциям в разделе [Исправление установки npm 12](https://code.claude.com/docs/ru/troubleshoot-install.md#fix-an-npm-12-install). Не выполняйте установку с `sudo`. Claude Code запускает npm без `sudo`, когда обновляет себя, поэтому установка, требующая `sudo`, не может обновляться автоматически.

464 

461Вы также можете установить Claude Code как глобальный пакет npm. Пакет npm требует [Node.js 22 или позже](https://nodejs.org/en/download). На более старой версии Node.js npm выводит предупреждение `EBADENGINE` во время установки, а не отказывает; установка завершается и `claude` все еще работает, так как пакет загружает встроенный двоичный файл, который не использует ваш Node.js во время выполнения.465Вы также можете установить Claude Code как глобальный пакет npm. Пакет npm требует [Node.js 22 или позже](https://nodejs.org/en/download). На более старой версии Node.js npm выводит предупреждение `EBADENGINE` во время установки, а не отказывает; установка завершается и `claude` все еще работает, так как пакет загружает встроенный двоичный файл, который не использует ваш Node.js во время выполнения.

462 466 

463```bash theme={null}467```bash theme={null}

skills.md +129 −129

Details

333 333 

334Чтобы сохранить личный или проектный скилл, но запретить Claude вызывать его самостоятельно, установите [`disable-model-invocation: true`](#control-who-invokes-a-skill) в его frontmatter или `"user-invocable-only"` в [`skillOverrides`](#override-skill-visibility-from-settings), если не хотите редактировать файл.334Чтобы сохранить личный или проектный скилл, но запретить Claude вызывать его самостоятельно, установите [`disable-model-invocation: true`](#control-who-invokes-a-skill) в его frontmatter или `"user-invocable-only"` в [`skillOverrides`](#override-skill-visibility-from-settings), если не хотите редактировать файл.

335 335 

336## Настройка skills336## Настройка скиллов

337 337 

338Skills настраиваются через YAML frontmatter в начале `SKILL.md` и содержимое markdown, которое следует за ним.338Скиллы настраиваются с помощью YAML frontmatter в начале `SKILL.md` и следующего за ним markdown-содержимого.

339 339 

340### Типы содержимого skill340### Типы содержимого скилла

341 341 

342Файлы skill могут содержать любые инструкции, но размышление о том, как вы хотите их вызывать, помогает определить, что включить:342Файлы скиллов могут содержать любые инструкции, но если вы заранее продумаете, как собираетесь их вызывать, вам будет проще решить, что в них включить:

343 343 

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

345 345 

346```yaml theme={null}346```yaml theme={null}

347---347---


355- Include request validation355- Include request validation

356```356```

357 357 

358**Содержимое Task** дает Claude пошаговые инструкции для конкретного действия, такого как развертывания, коммиты или генерация кода. Это часто действия, которые вы хотите вызвать напрямую с помощью `/skill-name`, а не позволять Claude решать, когда их запускать. Добавьте `disable-model-invocation: true`, чтобы предотвратить автоматическое срабатывание Claude. Пример ниже добавляет `context: fork`, который запускает skill в собственном контексте подагента; см. [Запуск skills в подагенте](#run-skills-in-a-subagent).358**Содержимое задачи** даёт Claude пошаговые инструкции для конкретного действия, например развёртывания, коммитов или генерации кода. Часто это действия, которые вы хотите вызывать напрямую через `/skill-name`, а не позволять Claude решать, когда их запускать. Добавьте `disable-model-invocation: true`, чтобы Claude не мог запускать скилл автоматически. В примере ниже добавлено `context: fork`, благодаря чему скилл выполняется в собственном контексте субагента; см. [Запуск скиллов в субагенте](#run-skills-in-a-subagent).

359 359 

360```yaml theme={null}360```yaml theme={null}

361---361---


3713. Push to the deployment target3713. Push to the deployment target

372```372```

373 373 

374Держите само тело кратким. После загрузки skill его содержимое [остается в контексте между ходами](#skill-content-lifecycle), поэтому каждая строка — это повторяющаяся стоимость в токенах. Указывайте, что делать, а не рассказывайте, как или почему, и применяйте тот же тест краткости, который вы бы применили к [содержимому CLAUDE.md](https://code.claude.com/docs/ru/best-practices.md#keep-claude-md-short).374Делайте само тело скилла лаконичным. После загрузки скилла его содержимое [остаётся в контексте на протяжении последующих ходов](#skill-content-lifecycle), поэтому каждая строка — это постоянный расход токенов. Указывайте, что делать, а не рассказывайте, как или почему, и применяйте ту же проверку на лаконичность, что и для [содержимого CLAUDE.md](https://code.claude.com/docs/ru/best-practices.md#keep-claude-md-short).

375 375 

376### Справочник Frontmatter376### Справочник по frontmatter

377 377 

378Настройте skill с помощью YAML [frontmatter](https://code.claude.com/docs/ru/glossary.md#frontmatter) между маркерами `---` в начале `SKILL.md`, и напишите инструкции skill как Markdown после закрывающего `---`. Имена полей используют строчные слова, разделенные дефисами, за исключением `when_to_use`. [Файл команды](#where-skills-live) в `.claude/commands/` принимает те же поля, кроме `name` и `paths`. Этот пример устанавливает четыре поля:378Настройте скилл с помощью YAML [frontmatter](https://code.claude.com/docs/ru/glossary.md#frontmatter) между маркерами `---` в начале `SKILL.md`, а инструкции скилла напишите в формате Markdown после закрывающего `---`. Имена полей состоят из слов в нижнем регистре, разделённых дефисами, за исключением `when_to_use`. [Файл команды](#where-skills-live) в `.claude/commands/` принимает те же поля, кроме `name` и `paths`. В этом примере задано четыре поля:

379 379 

380```yaml theme={null}380```yaml theme={null}

381---381---


388Your skill instructions here...388Your skill instructions here...

389```389```

390 390 

391Все поля являются необязательными. Рекомендуется только `description`, чтобы Claude знал, когда использовать skill. Имя поля должно точно совпадать с таблицей, включая дефисы: Claude Code игнорирует поле, которое не распознает, без сообщения об ошибке. Логические поля принимают `yes`, `no`, `on`, `off`, `1` и `0` в любом регистре, в дополнение к `true` и `false`.391Все поля необязательны. Рекомендуется задавать только `description`, чтобы Claude знал, когда использовать скилл. Имя поля должно точно совпадать с таблицей, включая дефисы: Claude Code игнорирует нераспознанное поле, не сообщая об ошибке. Логические поля, помимо `true` и `false`, принимают `yes`, `no`, `on`, `off`, `1` и `0` в любом регистре.

392 392 

393Claude Code читает frontmatter только когда открывающий `---` является первой строкой файла. В противном случае он обрабатывает весь файл, включая маркеры `---`, как содержимое skill. Если YAML между маркерами не анализируется, skill все равно загружается без установленных полей; см. [Skill не срабатывает](#skill-not-triggering), чтобы найти и исправить ошибку.393Claude Code читает frontmatter, только если открывающий `---` находится в первой строке файла. В противном случае весь файл, включая маркеры `---`, рассматривается как содержимое скилла. Если YAML между маркерами не удаётся разобрать, скилл всё равно загружается, но без заданных полей; чтобы найти и исправить ошибку, см. [Скилл не срабатывает](#skill-not-triggering).

394 394 

395| Поле | Обязательно | Описание |395| Поле | Обязательное | Описание |

396| :- | :- | :- |396| :- | :- | :- |

397| `name` | Нет | Имя команды, показываемое в меню `/`. По умолчанию используется имя каталога. См. [Как skill получает имя команды](#how-a-skill-gets-its-command-name), чтобы узнать, как это поле взаимодействует с именем, которое вы вводите для вызова skill. |397| `name` | Нет | Имя команды, отображаемое в меню `/`. По умолчанию — имя каталога. О том, как это поле соотносится с именем, которое вы вводите для вызова скилла, см. [Как скилл получает имя команды](#how-a-skill-gets-its-command-name). |

398| `description` | Рекомендуется | Что делает skill и когда его использовать. Claude использует это, чтобы решить, когда применить skill. Если опущено, использует первую непустую строку содержимого markdown. Поместите основной вариант использования в первую очередь: объединенный текст `description` и `when_to_use` усекается на 1536 символов в списке skills для снижения использования контекста. Угловые скобки в тексте [отображаются как `&lt;` и `&gt;`](#angle-brackets-in-a-skill-description). |398| `description` | Рекомендуется | Что делает скилл и когда его использовать. Claude использует это, чтобы решить, когда применять скилл. Если поле не задано, используется первая непустая строка markdown-содержимого. Ставьте основной сценарий использования первым: объединённый текст `description` и `when_to_use` обрезается до 1 536 символов в списке скиллов, чтобы сократить использование контекста. Угловые скобки в тексте [отображаются как `&lt;` и `&gt;`](#angle-brackets-in-a-skill-description). |

399| `when_to_use` | Нет | Дополнительный контекст для того, когда Claude должен вызвать skill, такой как фразы-триггеры или примеры запросов. Добавляется к `description` в списке skills и учитывается в ограничении 1536 символов. |399| `when_to_use` | Нет | Дополнительный контекст о том, когда Claude следует вызывать скилл, например фразы-триггеры или примеры запросов. Добавляется к `description` в списке скиллов и учитывается в ограничении в 1 536 символов. |

400| `argument-hint` | Нет | Подсказка, показываемая при автодополнении, чтобы указать ожидаемые аргументы. Пример: `[issue-number]` или `[filename] [format]`. |400| `argument-hint` | Нет | Подсказка, отображаемая при автодополнении и указывающая на ожидаемые аргументы. Пример: `[issue-number]` или `[filename] [format]`. |

401| `arguments` | Нет | Именованные позиционные аргументы для [`$name` подстановки](#available-string-substitutions) в содержимом skill. Принимает строку, разделенную пробелами, или список YAML. Имена соответствуют позициям аргументов по порядку. |401| `arguments` | Нет | Именованные позиционные аргументы для [подстановки `$name`](#available-string-substitutions) в содержимом скилла. Принимает строку, разделённую пробелами, или YAML-список. Имена сопоставляются с позициями аргументов по порядку. |

402| `disable-model-invocation` | Нет | Установите значение `true`, чтобы Claude не загружал этот skill автоматически. Используйте для рабочих процессов, которые вы хотите запускать вручную с помощью `/name`. Также предотвращает [предварительную загрузку skill в субагентов](https://code.claude.com/docs/ru/sub-agents.md#preload-skills-into-subagents) и запуск skill при срабатывании [запланированной задачи в рамках сессии](https://code.claude.com/docs/ru/scheduled-tasks.md), у которой этот skill указан в качестве промпта. По умолчанию: `false`. |402| `disable-model-invocation` | Нет | Установите `true`, чтобы Claude не мог автоматически загружать этот скилл. Используйте для рабочих процессов, которые вы хотите запускать вручную через `/name`. Также предотвращает [предварительную загрузку скилла в субагенты](https://code.claude.com/docs/ru/sub-agents.md#preload-skills-into-subagents) и его запуск, когда срабатывает [запланированная задача в рамках сессии](https://code.claude.com/docs/ru/scheduled-tasks.md) со скиллом в качестве промпта. По умолчанию: `false`. |

403| `user-invocable` | Нет | Установите значение `false`, когда только Claude должен вызвать skill: Claude Code скрывает его из меню `/` и не запускает его при вводе `/name`. Используйте для фоновых знаний, которые пользователи не должны вызывать напрямую. По умолчанию: `true`. |403| `user-invocable` | Нет | Установите `false`, если вызывать скилл должен только Claude: Claude Code скрывает его из меню `/` и не запускает, когда вы вводите `/name`. Используйте для фоновых знаний, которые пользователям не следует вызывать напрямую. По умолчанию: `true`. |

404| `allowed-tools` | Нет | Tools, которые Claude может использовать без запроса разрешения во время хода, который вызывает этот skill. Разрешение очищается при отправке следующего сообщения. Принимает строку, разделенную пробелами или запятыми, или список YAML. См. [Предварительное одобрение tools для skill](#pre-approve-tools-for-a-skill). |404| `allowed-tools` | Нет | Инструменты, которые Claude может использовать без запроса разрешения в течение хода, в котором вызван этот скилл. Разрешение сбрасывается, когда вы отправляете следующее сообщение. Принимает строку, разделённую пробелами или запятыми, либо YAML-список. См. [Предварительное разрешение инструментов для скилла](#pre-approve-tools-for-a-skill). |

405| `disallowed-tools` | Нет | Tools, удаленные из доступного пула Claude во время активности этого skill. Используйте для автономных skills, которые никогда не должны вызывать определенные tools, такие как `AskUserQuestion` для фонового цикла. Принимает строку, разделенную пробелами или запятыми, или список YAML. Ограничение очищается при отправке следующего сообщения. Как и правила отказа, это поле не может удалить [`EndConversation`](https://code.claude.com/docs/ru/tools-reference#endconversation-tool-behavior) пока остаются другие tools. |405| `disallowed-tools` | Нет | Инструменты, удаляемые из доступного Claude набора, пока этот скилл активен. Используйте для автономных скиллов, которые никогда не должны вызывать определённые инструменты, например `AskUserQuestion` для фонового цикла. Принимает строку, разделённую пробелами или запятыми, либо YAML-список. Ограничение снимается, когда вы отправляете следующее сообщение. Как и правила запрета, это поле не может удалить [`EndConversation`](https://code.claude.com/docs/ru/tools-reference#endconversation-tool-behavior), пока остаётся хотя бы один другой инструмент. |

406| `model` | Нет | Модель для использования, когда этот skill активен. Переопределение применяется для остальной части текущего хода и не сохраняется в параметрах. Модель сеанса возобновляется при отправке следующей подсказки. Принимает те же значения, что и [`/model`](https://code.claude.com/docs/ru/model-config), или `inherit`, чтобы сохранить активную модель. Значение, исключенное списком разрешений [`availableModels`](https://code.claude.com/docs/ru/model-config#restrict-model-selection) вашей организации, не используется, и сеанс сохраняет свою текущую модель. В [режиме auto](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode) и в [режиме plan, пока классификатор проверяет команды](https://code.claude.com/docs/ru/permission-modes.md#analyze-before-you-edit-with-plan-mode), модель, которую режим auto не поддерживает, также не используется, и сеанс сохраняет свою текущую модель. С `context: fork` значение устанавливает [модель подагента fork](#run-skills-in-a-subagent), и исключенное значение следует [тем же правилам, что и переопределение модели подагента](https://code.claude.com/docs/ru/model-config.md#restrict-model-selection). |406| `model` | Нет | Модель, используемая, пока этот скилл активен. Переопределение действует до конца текущего хода и не сохраняется в настройках. Модель сессии возвращается, когда вы отправляете следующий промпт. Принимает те же значения, что и [`/model`](https://code.claude.com/docs/ru/model-config), или `inherit`, чтобы сохранить активную модель. Значение, исключённое [`availableModels`](https://code.claude.com/docs/ru/model-config#restrict-model-selection) — списком разрешённых моделей вашей организации, — не используется, и сессия сохраняет текущую модель. В [авторежиме](https://code.claude.com/docs/ru/permission-modes.md#eliminate-prompts-with-auto-mode), а также в [режиме планирования, когда классификатор проверяет команды](https://code.claude.com/docs/ru/permission-modes.md#analyze-before-you-edit-with-plan-mode), модель, которую авторежим не поддерживает, тоже не используется, и сессия сохраняет текущую модель. При `context: fork` значение вместо этого задаёт [модель ответвлённого субагента](#run-skills-in-a-subagent), а исключённое значение обрабатывается [по тем же правилам, что и переопределение модели субагента](https://code.claude.com/docs/ru/model-config.md#restrict-model-selection). |

407| `effort` | Нет | [Уровень effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) при активности этого skill. Переопределяет уровень effort сессии. Если поле опущено, уровень определяется [порядком разрешения уровня effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level). Опции: `low`, `medium`, `high`, `xhigh`, `max`; доступные уровни зависят от модели. |407| `effort` | Нет | [Уровень effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level) до конца текущего хода. Переопределяет уровень effort сессии, но не переменную окружения [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ru/env-vars#variables). При `context: fork` значение вместо этого задаёт уровень effort ответвлённого субагента. Если поле не задано, уровень определяется [порядком определения effort](https://code.claude.com/docs/ru/model-config.md#adjust-effort-level). Варианты: `low`, `medium`, `high`, `xhigh`, `max`; доступные уровни зависят от модели. |

408| `context` | Нет | Установите значение `fork`, чтобы запустить в контексте подагента fork. См. [Запуск skills в подагенте](#run-skills-in-a-subagent). |408| `context` | Нет | Установите `fork`, чтобы выполнять скилл в контексте ответвлённого субагента. См. [Запуск скиллов в субагенте](#run-skills-in-a-subagent). |

409| `agent` | Нет | Какой тип подагента использовать, когда установлен `context: fork`. |409| `agent` | Нет | Какой тип субагента использовать, когда задано `context: fork`. |

410| `background` | Нет | Применяется только с `context: fork`. Установите значение `false`, чтобы ждать результата субагента fork в ходе, который вызвал skill, вместо [запуска его в фоне](#run-skills-in-a-subagent). По умолчанию: `true`. |410| `background` | Нет | Применяется только при `context: fork`. Установите `false`, чтобы ожидать результат ответвлённого субагента в том ходе, в котором был вызван скилл, вместо [его выполнения в фоне](#run-skills-in-a-subagent). По умолчанию: `true`. |

411| `hooks` | Нет | Хуки, которые Claude Code регистрирует при вызове skill и продолжает запускать для остальной части сессии. См. [Хуки в skills и агентах](https://code.claude.com/docs/ru/hooks.md#hooks-in-skills-and-agents) для формата конфигурации, опции `once` и [ограничений хуков skills](https://code.claude.com/docs/ru/hooks.md#limits-on-skill-hooks). |411| `hooks` | Нет | Хуки, которые Claude Code регистрирует при вызове скилла и которые продолжают работать до конца сессии. Формат конфигурации, опция `once` и [ограничения хуков скиллов](https://code.claude.com/docs/ru/hooks.md#limits-on-skill-hooks) описаны в разделе [Хуки в скиллах и агентах](https://code.claude.com/docs/ru/hooks.md#hooks-in-skills-and-agents). |

412| `paths` | Нет | Glob-паттерны, которые ограничивают, когда этот skill активируется. Принимает строку, разделенную запятыми, или список YAML. Когда установлено, Claude загружает skill автоматически только при работе с файлами, соответствующими паттернам. Паттерны задаются относительно текущего рабочего каталога Claude, и файлы вне этого каталога им не соответствуют. Использует тот же формат glob, что и [правила для конкретных путей](https://code.claude.com/docs/ru/memory.md#path-specific-rules). |412| `paths` | Нет | Glob-паттерны, ограничивающие, когда активируется этот скилл. Принимает строку, разделённую запятыми, или YAML-список. Если поле задано, Claude автоматически загружает скилл только при работе с файлами, соответствующими паттернам. Паттерны указываются относительно текущего рабочего каталога Claude, и файлы за пределами этого каталога не совпадают. Используется тот же формат glob, что и для [правил для конкретных путей](https://code.claude.com/docs/ru/memory.md#path-specific-rules). |

413| `shell` | Нет | Shell для использования в `` !`command` `` и ` ```! ` блоках в этом skill. Принимает `bash` (по умолчанию) или `powershell`. Установка `powershell` запускает встроенные shell-команды через PowerShell, когда [инструмент PowerShell](https://code.claude.com/docs/ru/tools-reference.md#powershell-tool) включен: он включен по умолчанию на Windows без Git Bash, включен по умолчанию с Git Bash для claude.ai и учетных записей Console, и требует `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` в сеансах Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, а также на macOS, Linux и WSL. Установите значение `0`, чтобы отключить инструмент. |413| `shell` | Нет | Оболочка для блоков `` !`command` `` и ` ```! ` в этом скилле. Принимает `bash` (по умолчанию) или `powershell`. Значение `powershell` выполняет встроенные shell-команды через PowerShell, когда включён [инструмент PowerShell](https://code.claude.com/docs/ru/tools-reference.md#powershell-tool): он включён по умолчанию в Windows без Git Bash, включён по умолчанию с Git Bash для учётных записей claude.ai и Console и требует `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` в сессиях Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, а также в macOS, Linux и WSL. Установите значение `0`, чтобы отключить инструмент. |

414| `metadata` | Нет | Свободная карта YAML для ваших собственных данных ключ-значение, таких как поля прав доступа или каталога, читаемые вашим собственным инструментарием из `SKILL.md`. Claude Code не действует на его содержимое и отбрасывает значение, которое не является картой. Не переиспользуйте имена полей frontmatter, такие как `paths`, в качестве ключей. |414| `metadata` | Нет | Произвольное YAML-отображение для ваших собственных данных «ключ-значение», например полей прав доступа или каталога, которые ваши собственные инструменты читают из `SKILL.md`. Claude Code никак не использует его содержимое и отбрасывает значение, не являющееся отображением. Не используйте в качестве ключей имена полей frontmatter, например `paths`. |

415| `license` | Нет | Лицензия, охватывающая skill. Часть спецификации [Agent Skills](https://agentskills.io); см. [Использование skill frontmatter вне Claude Code](#using-skill-frontmatter-outside-claude-code). Claude Code принимает это поле, но не действует на него. |415| `license` | Нет | Лицензия, распространяющаяся на скилл. Часть спецификации [Agent Skills](https://agentskills.io); см. [Использование frontmatter скилла вне Claude Code](#using-skill-frontmatter-outside-claude-code). Claude Code принимает это поле, но никак его не использует. |

416| `compatibility` | Нет | Требования к окружению для skill, такие как предполагаемые продукты или системные предварительные условия, как определено спецификацией [Agent Skills](https://agentskills.io); см. [Использование skill frontmatter вне Claude Code](#using-skill-frontmatter-outside-claude-code). Принимает строку до 500 символов. Claude Code принимает это поле, но не действует на него. |416| `compatibility` | Нет | Требования скилла к окружению, например целевые продукты или системные предварительные требования, как определено спецификацией [Agent Skills](https://agentskills.io); см. [Использование frontmatter скилла вне Claude Code](#using-skill-frontmatter-outside-claude-code). Принимает строку длиной до 500 символов. Claude Code принимает это поле, но никак его не использует. |

417 417 

418#### Использование skill frontmatter вне Claude Code418#### Использование frontmatter скилла вне Claude Code

419 419 

420Claude Code принимает каждое поле в таблице выше. Вне Claude Code вы можете использовать только поля в спецификации [Agent Skills](https://agentskills.io):420Claude Code принимает все поля из таблицы выше. Вне Claude Code можно использовать только поля из спецификации [Agent Skills](https://agentskills.io):

421 421 

422| Путь распространения | Поля Frontmatter, которые вы можете использовать |422| Способ распространения | Поля frontmatter, которые можно использовать |

423| :- | :- |423| :- | :- |

424| Claude Code skills на [любом уровне](#where-skills-live), включая [plugin](https://code.claude.com/docs/ru/plugins/overview.md) skills | Каждое поле в таблице выше |424| Скиллы Claude Code на [любом уровне](#where-skills-live), включая скиллы [плагинов](https://code.claude.com/docs/ru/plugins/overview.md) | Все поля из таблицы выше |

425| Загрузки skills на claude.ai, Skills API и упаковка с `package_skill.py` из [anthropics/skills](https://github.com/anthropics/skills) | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` |425| Загрузка скиллов в claude.ai, Skills API и упаковка с помощью `package_skill.py` из [anthropics/skills](https://github.com/anthropics/skills) | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` |

426 426 

427Когда вы включаете личный skill для своего аккаунта claude.ai, например чтобы использовать его в [Cowork и облачных сессиях](#skills-in-cowork-and-cloud-sessions) и в запланированных задачах, вы загружаете его на claude.ai. К этой загрузке применяются те же правила.427Когда вы включаете личный скилл для своей учётной записи claude.ai, например чтобы использовать его в [Cowork и облачных сессиях](#skills-in-cowork-and-cloud-sessions) и запланированных задачах, вы загружаете его в claude.ai. К такой загрузке применяются те же правила.

428 428 

429Если вы включите какое-либо поле, которое спецификация не разрешает, упаковка или загрузка завершится с жесткой ошибкой вместо игнорирования поля:429Если вы включите любое поле, не разрешённое спецификацией, упаковка или загрузка завершится с ошибкой, а не проигнорирует это поле:

430 430 

431```431```

432Unexpected key(s) in SKILL.md frontmatter: argument-hint. Allowed properties are: allowed-tools, compatibility, description, license, metadata, name432Unexpected key(s) in SKILL.md frontmatter: argument-hint. Allowed properties are: allowed-tools, compatibility, description, license, metadata, name

433```433```

434 434 

435Ограничение frontmatter шестью полями спецификации избегает ошибки неожиданного ключа выше. [Спецификация Agent Skills](https://agentskills.io) и [требования Skills API](https://docs.claude.com/en/api/skills-guide) определяют все остальное, что эти пути проверяют. Функции тела, специфичные для Claude Code, такие как [динамическое внедрение контекста](#inject-dynamic-context), не работают в чате claude.ai или через API. Claude Code принимает все шесть полей, поэтому frontmatter, который следует спецификации, загружается в Claude Code без изменений.435Если ограничить frontmatter шестью полями спецификации, приведённой выше ошибки о неожиданном ключе не возникнет. Всё остальное, что проверяется при этих способах, определяют [спецификация Agent Skills](https://agentskills.io) и [требования Skills API](https://docs.claude.com/en/api/skills-guide). Возможности тела скилла, доступные только в Claude Code, например [внедрение динамического контекста](#inject-dynamic-context), не работают в чате claude.ai и через API. Claude Code принимает все шесть полей, поэтому frontmatter, соответствующий спецификации, загружается в Claude Code без изменений.

436 436 

437#### Как skill получает имя команды437#### Как скилл получает имя команды

438 438 

439Команда, которую вы вводите для вызова skill, зависит от того, где находится файл skill и, для plugin skills, также от поля frontmatter `name`. В личном или проектном каталоге skill `name` устанавливает команду, которую показывает меню `/` и которую вы вводите, если только другая команда еще не использует это имя. Имя каталога также вызывает skill. В plugin skill `name` устанавливает последний сегмент команды, и префикс plugin остается на месте.439Команда, которую вы вводите для вызова скилла, определяется расположением файла скилла, а для каталогов скиллов и скиллов плагинов — ещё и полем `name` во frontmatter. В личном или проектном каталоге скиллов `name` задаёт команду, которую показывает меню `/` и которую вы вводите, если только это имя уже не занято другой командой. Имя каталога тоже вызывает скилл. В скилле плагина `name` задаёт последний сегмент команды, а префикс плагина остаётся на месте.

440 440 

441Таблица ниже показывает, откуда берется имя команды для каждого макета:441В таблице ниже показано, откуда берётся имя команды для каждого варианта расположения:

442 442 

443| Расположение Skill | Источник имени команды | Пример |443| Расположение скилла | Источник имени команды | Пример |

444| :- | :- | :- |444| :- | :- | :- |

445| Каталог Skill под `~/.claude/skills/` или `.claude/skills/` | Frontmatter `name` или имя каталога | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging`, или `/deploy` с `name: deploy` |445| Каталог скилла в `~/.claude/skills/` или `.claude/skills/` | `name` из frontmatter или имя каталога | `.claude/skills/deploy-staging/SKILL.md` → `/deploy-staging` или `/deploy` при `name: deploy` |

446| [Вложенный](#where-skills-live) каталог `.claude/skills/`, когда имя конфликтует с другим skill | Путь подкаталога относительно рабочего каталога, затем имя каталога skill | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |446| [Вложенный](#where-skills-live) каталог `.claude/skills/`, когда имя каталога конфликтует с другим скиллом | Путь подкаталога относительно рабочего каталога, затем имя каталога скилла | `apps/web/.claude/skills/deploy/SKILL.md` → `/apps/web:deploy` |

447| `.claude/skills/` в [добавленном каталоге вне проекта](#skills-from-additional-directories), когда имя каталога skill конфликтует со skill уровня enterprise, личным или проектным skill либо со skill в каталоге, добавленном ранее | Имя папки добавленного каталога, затем имя каталога skill. Если у двух добавленных каталогов одинаковое имя папки, префикс начинается с имени родительской папки. Требует v2.1.309 или новее | `../cli/.claude/skills/verify/SKILL.md` с `--add-dir ../cli` → `/cli:verify`. С `--add-dir ../a/cli --add-dir ../b/cli`, skill `verify` в каждом из них и ни одного в других местах, skill в `../a/cli` → `/verify`, а другой → `/b/cli:verify` |447| `.claude/skills/` в [добавленном каталоге вне проекта](#skills-from-additional-directories), когда имя каталога скилла конфликтует с корпоративным, личным или проектным скиллом либо со скиллом из каталога, добавленного ранее | Имя папки добавленного каталога, затем имя каталога скилла. Если у двух добавленных каталогов одинаковое имя папки, префикс начинается с имени родительской папки. Требуется v2.1.309 или новее | `../cli/.claude/skills/verify/SKILL.md` с `--add-dir ../cli` → `/cli:verify`. При `--add-dir ../a/cli --add-dir ../b/cli`, скилле `verify` в каждом из них и отсутствии такого скилла в других местах скилл из `../a/cli` → `/verify`, а другой → `/b/cli:verify` |

448| Файл под `.claude/commands/` | Имя файла без расширения | `.claude/commands/deploy.md` → `/deploy` |448| Файл в `.claude/commands/` | Имя файла без расширения | `.claude/commands/deploy.md` → `/deploy` |

449| Файл в подкаталоге `.claude/commands/` | Путь подкаталога относительно `commands/` с каждым `/` заменен на `:`, затем имя файла без расширения | `.claude/commands/frontend/component.md` → `/frontend:component` |449| Файл в подкаталоге `.claude/commands/` | Путь подкаталога относительно `commands/`, в котором каждый `/` заменён на `:`, затем имя файла без расширения | `.claude/commands/frontend/component.md` → `/frontend:component` |

450| Подкаталог Plugin `skills/` | Frontmatter `name` или имя каталога, с пространством имен по plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, или `/my-plugin:fancy` с `name: fancy` |450| Подкаталог `skills/` плагина | `name` из frontmatter или имя каталога с пространством имён плагина | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review` или `/my-plugin:fancy` при `name: fancy` |

451| Plugin root `SKILL.md` | Frontmatter `name`, с именем каталога plugin в качестве резервного варианта | `my-plugin/SKILL.md` с `name: review` → `/my-plugin:review`. См. [одиночный skill в корне plugin](https://code.claude.com/docs/ru/plugins/components.md#skills) |451| `SKILL.md` в корне плагина | `name` из frontmatter, с именем каталога плагина в качестве резервного варианта | `my-plugin/SKILL.md` с `name: review` → `/my-plugin:review`. См. [отдельный скилл в корне плагина](https://code.claude.com/docs/ru/plugins/components.md#skills) |

452| Skill [синхронизированный с claude.ai](#how-synced-skills-behave) | Имя skill на вашем аккаунте claude.ai, с префиксом `anthropic-skills:` | Skill аккаунта `deploy` → `/anthropic-skills:deploy`, или `/deploy`, если никакая другая команда не использует это имя |452| Скилл, [синхронизированный из claude.ai](#how-synced-skills-behave) | Имя скилла в вашей учётной записи claude.ai с префиксом `anthropic-skills:` | Скилл учётной записи `deploy` → `/anthropic-skills:deploy` или `/deploy`, пока это имя не использует никакая другая команда |

453 453 

454В plugin skill frontmatter `name` заменяет имя каталога в последнем сегменте команды, поэтому `my-plugin/skills/review/SKILL.md` с `name: fancy` становится `/my-plugin:fancy`. Голая команда `/fancy` также вызывает skill, если другая команда еще не использует это имя. Если `name`, который вы пишете, уже начинается с собственного префикса plugin, Claude Code не добавляет префикс снова на v2.1.246 или позже. Например, `name: my-plugin:fancy` все еще становится `/my-plugin:fancy`. С v2.1.216 по v2.1.245 Claude Code удваивал префикс, когда `name` уже его содержал.454В скилле плагина `name` из frontmatter заменяет имя каталога в последнем сегменте команды, поэтому `my-plugin/skills/review/SKILL.md` с `name: fancy` становится `/my-plugin:fancy`. Простое `/fancy` тоже вызывает скилл, если только это имя уже не занято другой командой. Если указанное вами `name` уже начинается с собственного префикса плагина, Claude Code в v2.1.246 и новее не добавляет префикс повторно. Например, `name: my-plugin:fancy` по-прежнему становится `/my-plugin:fancy`. В версиях с v2.1.216 по v2.1.245 Claude Code удваивал префикс, если `name` уже его содержало.

455 455 

456В [неинтерактивных сеансах](https://code.claude.com/docs/ru/headless.md) имена `help` и `feedback` не зарезервированы для их встроенных команд, специфичных для терминала, поэтому plugin skill с одним из этих имен сохраняет свою голую команду там. Каждое другое встроенное имя, специфичное для терминала, такое как `/login`, остается зарезервированным, даже если команда не может запуститься в этих сеансах.456В [неинтерактивных сессиях](https://code.claude.com/docs/ru/headless.md) имена `help` и `feedback` не зарезервированы за соответствующими встроенными командами, доступными только в терминале, поэтому скилл плагина с одним из этих имён сохраняет там свою простую команду. Имена всех остальных встроенных команд, доступных только в терминале, например `/login`, остаются зарезервированными, хотя сами команды в таких сессиях выполнить нельзя.

457 457 

458Для plugin-root `SKILL.md` нет каталога skill, из которого можно взять имя, поэтому `name` предоставляет весь последний сегмент. Без поля `name` Claude Code возвращается к имени каталога plugin.458Для `SKILL.md` в корне плагина нет каталога скилла, из которого можно взять имя, поэтому `name` задаёт весь последний сегмент. Без поля `name` Claude Code использует имя каталога плагина как резервный вариант.

459 459 

460#### Недопустимые символы в имени skill460#### Символы, которые не может содержать имя скилла

461 461 

462Если skill или пользовательская команда отсутствует в меню `/` или меню не показывает `name` из frontmatter skill, проверьте имя. Claude Code отклоняет имя команды или `name` во frontmatter, если оно содержит, например, такие символы:462Если скилл или пользовательская команда отсутствует в меню `/` или меню не показывает `name` скилла из frontmatter, проверьте имя. Claude Code отклоняет имя команды или `name` из frontmatter, содержащее, например, такие символы:

463 463 

464* Пробел нулевой ширины или управляющий символ464* Пробел нулевой ширины или управляющий символ

465* Символ из области частного использования или неназначенный символ, например глиф из иконочного шрифта465* Символ из области частного использования или неназначенный символ, например глиф из иконочного шрифта

466* Символ, который меняет направление окружающего текста466* Символ, меняющий направление окружающего его текста

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

468* `<` или `>`468* `<` или `>`

469 469 

470Пользовательская команда или skill не загружается, если Claude Code отклоняет имя его каталога или файла. Переименуйте эту папку или файл, чтобы убрать такие символы. Skill все равно загружается, если эти символы есть только в имени папки skill плагина или в его `name` во frontmatter:470Пользовательская команда или скилл не загружается, если Claude Code отклоняет имя его каталога или файла. Переименуйте эту папку или файл, удалив эти символы. Скилл всё же загружается, если такие символы есть только в имени папки скилла плагина или в его `name` из frontmatter:

471 471 

472* **Папка в каталоге `skills/` плагина или в [путях `skills`](https://code.claude.com/docs/ru/plugins/components#skills) его манифеста**: переименовывать папку не нужно. Эти символы становятся дефисами в имени команды skill, поэтому вводите команду с дефисами.472* **Папка в каталоге `skills/` плагина или в [путях `skills`](https://code.claude.com/docs/ru/plugins/components#skills) его манифеста**: переименовывать папку не нужно. Эти символы превращаются в дефисы в имени команды скилла, поэтому вводите команду с дефисами.

473* **`name` во frontmatter**: меню `/` не показывает значение `name`, и его ввод не вызывает skill. Отредактируйте строку `name:`, чтобы убрать символы.473* **`name` из frontmatter**: меню `/` не показывает значение `name`, и его ввод не вызывает скилл. Отредактируйте строку `name:`, удалив эти символы.

474 474 

475Чтобы узнать, какое имя отклонил Claude Code, запустите его командой [`claude --debug`](https://code.claude.com/docs/ru/cli-reference#cli-flags) из оболочки и найдите `[names]` в [логе отладки](https://code.claude.com/docs/ru/debug-your-config.md). В интерактивной сессии об отклонённых именах также сообщает [уведомление при запуске](https://code.claude.com/docs/ru/errors.md#skill-or-command-name-refused). После переименования или правки строки `name:` перезапустите сессию, если только файл не находится в каталоге, который Claude Code [отслеживает на предмет изменений](#live-change-detection).475Чтобы узнать, какое имя отклонил Claude Code, запустите его из оболочки с помощью [`claude --debug`](https://code.claude.com/docs/ru/cli-reference#cli-flags) и найдите в [отладочном логе](https://code.claude.com/docs/ru/debug-your-config.md) `[names]`. В интерактивной сессии о том, что имена были отклонены, также сообщает [уведомление при запуске](https://code.claude.com/docs/ru/errors.md#skill-or-command-name-refused). После переименования или правки `name:` перезапустите сессию, если только файл не находится в каталоге, который Claude Code [отслеживает на предмет изменений](#live-change-detection).

476 476 

477#### Доступные подстановки строк477#### Доступные строковые подстановки

478 478 

479Skills поддерживают подстановку строк для динамических значений в содержимом skill:479Скиллы поддерживают строковую подстановку динамических значений в содержимом скилла:

480 480 

481| Переменная | Описание |481| Переменная | Описание |

482| :- | :- |482| :- | :- |

483| `$ARGUMENTS` | Все аргументы, переданные при вызове skill. Когда ни один заполнитель не получает аргумент, Claude Code добавляет их как `ARGUMENTS: <value>`. См. [Передача аргументов в skills](#pass-arguments-to-skills). |483| `$ARGUMENTS` | Все аргументы, переданные при вызове скилла. Если ни один плейсхолдер не получает аргумент, Claude Code добавляет их в виде `ARGUMENTS: <value>`. См. [Передача аргументов скиллам](#pass-arguments-to-skills). |

484| `$ARGUMENTS[N]` | Доступ к конкретному аргументу по индексу на основе 0, такому как `$ARGUMENTS[0]` для первого аргумента. |484| `$ARGUMENTS[N]` | Доступ к конкретному аргументу по индексу, начиная с 0, например `$ARGUMENTS[0]` для первого аргумента. |

485| `$N` | Сокращение для `$ARGUMENTS[N]`, такое как `$0` для первого аргумента или `$1` для второго. |485| `$N` | Сокращение для `$ARGUMENTS[N]`, например `$0` для первого аргумента или `$1` для второго. |

486| `$name` | Именованный аргумент, объявленный в списке frontmatter [`arguments`](#frontmatter-reference). Имена соответствуют позициям по порядку, поэтому с `arguments: [issue, branch]` заполнитель `$issue` расширяется до первого аргумента, а `$branch` — до второго. |486| `$name` | Именованный аргумент, объявленный в списке [`arguments`](#frontmatter-reference) во frontmatter. Имена сопоставляются с позициями по порядку, поэтому при `arguments: [issue, branch]` плейсхолдер `$issue` раскрывается в первый аргумент, а `$branch` — во второй. |

487| `${CLAUDE_SESSION_ID}` | Текущий ID сеанса. Полезно для логирования, создания файлов, специфичных для сеанса, или корреляции выходных данных skill с сеансами. |487| `${CLAUDE_SESSION_ID}` | Идентификатор текущей сессии. Полезен для логирования, создания файлов, привязанных к сессии, или сопоставления вывода скилла с сессиями. |

488| `${CLAUDE_EFFORT}` | Текущий уровень усилий: `low`, `medium`, `high`, `xhigh` или `max`. Используйте это, чтобы адаптировать инструкции skill к активной настройке усилий. |488| `${CLAUDE_EFFORT}` | Текущий уровень effort: `low`, `medium`, `high`, `xhigh` или `max`. Используйте, чтобы адаптировать инструкции скилла к активной настройке effort. |

489| `${CLAUDE_SKILL_DIR}` | Каталог, содержащий файл `SKILL.md` skill. Для plugin skills это подкаталог skill в plugin, а не корень plugin. Используйте это в bash-командах внедрения для ссылки на скрипты или файлы, поставляемые с skill, независимо от текущего рабочего каталога. |489| `${CLAUDE_SKILL_DIR}` | Каталог, содержащий файл `SKILL.md` скилла. Для скиллов плагинов это подкаталог скилла внутри плагина, а не корень плагина. Используйте в командах bash-внедрения, чтобы ссылаться на скрипты или файлы, поставляемые со скиллом, независимо от текущего рабочего каталога. |

490| `${CLAUDE_PROJECT_DIR}` | Корневой каталог проекта. Это тот же путь, который [hooks](https://code.claude.com/docs/ru/hooks.md#reference-scripts-by-path) и MCP-серверы получают как `CLAUDE_PROJECT_DIR`. Используйте это для ссылки на скрипты или файлы, специфичные для проекта, такие как `${CLAUDE_PROJECT_DIR}/.claude/hooks/helper.sh`, независимо от того, где установлен skill. |490| `${CLAUDE_PROJECT_DIR}` | Корневой каталог проекта. Это тот же путь, который [хуки](https://code.claude.com/docs/ru/hooks.md#reference-scripts-by-path) и MCP-серверы получают как `CLAUDE_PROJECT_DIR`. Используйте, чтобы ссылаться на локальные скрипты или файлы проекта, например `${CLAUDE_PROJECT_DIR}/.claude/hooks/helper.sh`, независимо от того, где установлен скилл. |

491| `${CLAUDE_PLUGIN_ROOT}` | Каталог установки plugin. Подставляется только в plugin skills. Используйте это для ссылки на скрипты или файлы, поставляемые в любом месте plugin, включая ресурсы, общие для skills plugin. См. [переменные окружения plugin](https://code.claude.com/docs/ru/plugins/manifest-reference.md#environment-variables). |491| `${CLAUDE_PLUGIN_ROOT}` | Каталог установки плагина. Подставляется только в скиллах плагинов. Используйте, чтобы ссылаться на скрипты или файлы, поставляемые в любом месте плагина, включая ресурсы, общие для скиллов плагина. См. [переменные окружения плагина](https://code.claude.com/docs/ru/plugins/manifest-reference.md#environment-variables). |

492| `${CLAUDE_PLUGIN_DATA}` | [Каталог постоянных данных](https://code.claude.com/docs/ru/plugins/components.md#path-variables-and-persistent-data) plugin, который сохраняется при обновлении plugin. Подставляется только в plugin skills. Используйте это для ссылки на установленные зависимости, сгенерированные файлы или кэши, которые должны пережить обновление. |492| `${CLAUDE_PLUGIN_DATA}` | [Каталог постоянных данных](https://code.claude.com/docs/ru/plugins/components.md#path-variables-and-persistent-data) плагина, который сохраняется при обновлениях плагина. Подставляется только в скиллах плагинов. Используйте, чтобы ссылаться на установленные зависимости, сгенерированные файлы или кэши, которые должны пережить обновление. |

493 493 

494Claude Code подставляет `${CLAUDE_SKILL_DIR}` и `${CLAUDE_PROJECT_DIR}` в двух местах: содержимое markdown skill и Bash-правила в frontmatter [`allowed-tools`](#frontmatter-reference). В plugin skill Claude Code подставляет `${CLAUDE_PLUGIN_ROOT}` и `${CLAUDE_PLUGIN_DATA}` в тех же двух местах. Использование одной и той же переменной в обоих местах позволяет skill запустить поставляемый скрипт без подсказки разрешения. Следующий skill показывает паттерн:494Claude Code подставляет `${CLAUDE_SKILL_DIR}` и `${CLAUDE_PROJECT_DIR}` в двух местах: в markdown-содержимом скилла и в правилах Bash в поле [`allowed-tools`](#frontmatter-reference) frontmatter. В скилле плагина Claude Code подставляет `${CLAUDE_PLUGIN_ROOT}` и `${CLAUDE_PLUGIN_DATA}` в тех же двух местах. Использование одной и той же переменной в обоих местах позволяет скиллу запускать поставляемый с ним скрипт без запроса разрешения. Следующий скилл демонстрирует этот паттерн:

495 495 

496```yaml theme={null}496```yaml theme={null}

497---497---


503Run `${CLAUDE_SKILL_DIR}/scripts/render.sh <csv-file>` to render the chart.503Run `${CLAUDE_SKILL_DIR}/scripts/render.sh <csv-file>` to render the chart.

504```504```

505 505 

506Если этот skill установлен в `~/.claude/skills/render-chart/`, обе вхождения `${CLAUDE_SKILL_DIR}` расширяются до этого каталога. Правило `allowed-tools` затем соответствует точной команде, которую тело skill говорит Claude запустить, поэтому скрипт запускается без подсказки.506Если этот скилл установлен в `~/.claude/skills/render-chart/`, оба вхождения `${CLAUDE_SKILL_DIR}` раскрываются в этот каталог. Тогда правило `allowed-tools` совпадает в точности с командой, которую тело скилла велит Claude выполнить, и скрипт запускается без запроса.

507 507 

508Индексированные аргументы используют кавычки в стиле shell, поэтому оборачивайте многословные значения в кавычки, чтобы передать их как один аргумент. Например, `/my-skill "hello world" second` делает `$0` расширяющимся до `hello world`, а `$1` — до `second`. Заполнитель `$ARGUMENTS` всегда расширяется до полной строки аргументов в том виде, в котором она была введена.508Индексированные аргументы используют кавычки в стиле оболочки, поэтому заключайте значения из нескольких слов в кавычки, чтобы передать их как один аргумент. Например, `/my-skill "hello world" second` приводит к тому, что `$0` раскрывается в `hello world`, а `$1` — в `second`. Плейсхолдер `$ARGUMENTS` всегда раскрывается в полную строку аргументов в том виде, в каком она введена.

509 509 

510Индексированный заполнитель без соответствующего аргумента, такой как `$2`, когда был передан только один аргумент, остается в содержимом неизменным. Именованный заполнитель из frontmatter [`arguments`](#frontmatter-reference) без соответствующего аргумента расширяется до пустой строки.510Индексированный плейсхолдер без соответствующего аргумента, например `$2`, когда передан только один аргумент, остаётся в содержимом без изменений. Именованный плейсхолдер из [`arguments`](#frontmatter-reference) во frontmatter без соответствующего аргумента раскрывается в пустую строку.

511 511 

512Если вы передаете значение аргумента, которое само содержит текст, такой как `$1` или `$ARGUMENTS`, Claude Code вставляет его как буквальный текст и не расширяет его. Например, если тело skill содержит `Summarize $0` и вы запускаете `/summarize "$ARGUMENTS from yesterday"`, Claude получает `Summarize $ARGUMENTS from yesterday`. Claude Code все еще заменяет переменные `${CLAUDE_*}`, такие как `${CLAUDE_SKILL_DIR}`, после вставки аргументов.512Если вы передаёте значение аргумента, которое само содержит текст вроде `$1` или `$ARGUMENTS`, Claude Code вставляет его как буквальный текст и не раскрывает. Например, если тело скилла содержит `Summarize $0`, а вы выполняете `/summarize "$ARGUMENTS from yesterday"`, Claude получает `Summarize $ARGUMENTS from yesterday`. Переменные `${CLAUDE_*}`, например `${CLAUDE_SKILL_DIR}`, Claude Code по-прежнему заменяет после вставки аргументов.

513 513 

514Чтобы включить буквальный `$` перед цифрой, `ARGUMENTS` или объявленным именем аргумента, такой как `$1.00` в прозе, экранируйте его обратной косой чертой: `\$1.00`. Обратная косая черта перед любым другим `$` остается неизменной. Только одна обратная косая черта непосредственно перед токеном экранирует его. Удвоенная обратная косая черта, такая как `\\$1`, оставляет обе обратные косые черты на месте, и `$1` все еще расширяется до значения аргумента. Экранирование обратной косой чертой охватывает только эти заполнители аргументов. Обратная косая черта не предотвращает подстановку переменной `${CLAUDE_*}`, где переменная применяется.514Чтобы вставить буквальный `$` перед цифрой, `ARGUMENTS` или объявленным именем аргумента, например `$1.00` в тексте, экранируйте его обратной косой чертой: `\$1.00`. Обратная косая черта перед любым другим `$` остаётся без изменений. Экранирует токен только одна обратная косая черта непосредственно перед ним. Двойная обратная косая черта, например `\\$1`, оставляет обе обратные косые черты на месте, и `$1` по-прежнему раскрывается в значение аргумента. Экранирование обратной косой чертой распространяется только на эти плейсхолдеры аргументов. Обратная косая черта не предотвращает подстановку переменной `${CLAUDE_*}` там, где эта переменная применяется.

515 515 

516**Пример использования подстановок:**516**Пример с подстановками:**

517 517 

518```yaml theme={null}518```yaml theme={null}

519---519---


528 528 

529### Добавление вспомогательных файлов529### Добавление вспомогательных файлов

530 530 

531Skills могут включать несколько файлов в их каталог. Это держит `SKILL.md` сосредоточенным на основном, позволяя Claude получать доступ к подробному справочному материалу только при необходимости. Большие справочные документы, спецификации API или коллекции примеров не нужно загружать в контекст каждый раз при запуске skill.531Скиллы могут включать несколько файлов в своём каталоге. Это позволяет сосредоточить в `SKILL.md` самое важное, давая Claude доступ к подробным справочным материалам только при необходимости. Большие справочные документы, спецификации API или коллекции примеров не нужно загружать в контекст при каждом запуске скилла.

532 532 

533```text theme={null}533```text theme={null}

534my-skill/534my-skill/


550 550 

551> [!TIP]551> [!TIP]

552>552>

553> Держите `SKILL.md` под 500 строк. Переместите подробный справочный материал в отдельные файлы.553> Держите `SKILL.md` в пределах 500 строк. Переносите подробные справочные материалы в отдельные файлы.

554 554 

555### Контроль того, кто вызывает skill555### Управление тем, кто вызывает скилл

556 556 

557По умолчанию как вы, так и Claude можете вызвать любой skill. Вы можете ввести `/skill-name`, чтобы вызвать его напрямую, и Claude может загрузить его автоматически, когда это актуально для вашего разговора. Два поля frontmatter позволяют вам ограничить это:557По умолчанию любой скилл можете вызвать как вы, так и Claude. Вы можете ввести `/skill-name`, чтобы вызвать его напрямую, а Claude может загрузить его автоматически, когда он относится к вашему диалогу. Два поля frontmatter позволяют это ограничить:

558 558 

559* **`disable-model-invocation: true`**: Claude не может вызвать skill самостоятельно. Используйте это для рабочих процессов с побочными эффектами или которые вы хотите контролировать по времени, такие как `/commit`, `/deploy` или `/send-slack-message`. Вы не хотите, чтобы Claude решал выполнить развёртывание, потому что ваш код выглядит готовым.559* **`disable-model-invocation: true`**: Claude не может вызвать скилл самостоятельно. Используйте для рабочих процессов с побочными эффектами или тех, время запуска которых вы хотите контролировать, например `/commit`, `/deploy` или `/send-slack-message`. Вы ведь не хотите, чтобы Claude решил выполнить развёртывание только потому, что ваш код выглядит готовым.

560 560 

561* **`user-invocable: false`**: Только Claude может вызвать skill. Используйте это для фоновых знаний, которые не являются действенными как команда. Skill `legacy-system-context` объясняет, как работает старая система. Claude должен знать это, когда это актуально, но `/legacy-system-context` не является значимым действием для пользователей.561* **`user-invocable: false`**: вызвать скилл может только Claude. Используйте для фоновых знаний, которые не имеют смысла как команда. Скилл `legacy-system-context` объясняет, как работает старая система. Claude должен знать это, когда это актуально, но `/legacy-system-context` не является осмысленным действием для пользователей.

562 562 

563Этот пример создает skill развёртывания. Если вы установите `disable-model-invocation: true`, Claude не сможет запустить skill автоматически:563В этом примере создаётся скилл развёртывания. Если задать `disable-model-invocation: true`, Claude не сможет запустить скилл автоматически:

564 564 

565```yaml theme={null}565```yaml theme={null}

566---566---


5774. Verify the deployment succeeded5774. Verify the deployment succeeded

578```578```

579 579 

580Если Claude все равно попытается, Claude Code заблокирует вызов и инструктирует его не воспроизводить шаги развертывания другим способом, поэтому ожидайте, что Claude предложит запустить `/deploy` самостоятельно.580Если Claude всё же попытается, Claude Code заблокирует вызов и проинструктирует его не воспроизводить шаги развёртывания другим способом, поэтому ожидайте, что Claude предложит вам запустить `/deploy` самостоятельно.

581 581 

582Вот как два поля влияют на вызов и загрузку контекста:582Вот как эти два поля влияют на вызов и загрузку в контекст:

583 583 

584| Frontmatter | Вы можете вызвать | Claude может вызвать | Когда загружается в контекст |584| Frontmatter | Вы можете вызвать | Claude может вызвать | Когда загружается в контекст |

585| :- | :- | :- | :- |585| :- | :- | :- | :- |

586| (по умолчанию) | Да | Да | Описание всегда в контексте, полный skill загружается при вызове |586| (по умолчанию) | Да | Да | Описание всегда в контексте, полный скилл загружается при вызове |

587| `disable-model-invocation: true` | Да | Не самостоятельно | Описание не в контексте, полный skill загружается при вызове |587| `disable-model-invocation: true` | Да | Не самостоятельно | Описание не в контексте, полный скилл загружается при вызове |

588| `user-invocable: false` | Нет | Да | Описание всегда в контексте, полный skill загружается при вызове |588| `user-invocable: false` | Нет | Да | Описание всегда в контексте, полный скилл загружается при вызове |

589 589 

590> [!NOTE]590> [!NOTE]

591>591>

592> В обычном сеансе описания skills загружаются в контекст, чтобы Claude знал, что доступно, но полное содержимое skill загружается только при вызове. [Подагенты с предварительно загруженными skills](https://code.claude.com/docs/ru/sub-agents.md#preload-skills-into-subagents) работают иначе: полное содержимое skill внедряется при запуске.592> В обычной сессии описания скиллов загружаются в контекст, чтобы Claude знал, что доступно, но полное содержимое скилла загружается только при вызове. [Субагенты с предварительно загруженными скиллами](https://code.claude.com/docs/ru/sub-agents.md#preload-skills-into-subagents) работают иначе: полное содержимое скилла внедряется при запуске.

593 593 

594#### Где писать имя skill594#### Где писать имя скилла

595 595 

596Чтобы запустить skill напрямую, поставьте его имя в начало сообщения. После обычного текста имя дает Claude разрешение запустить skill, но не запускает его:596Чтобы запустить скилл напрямую, поставьте его имя в начало сообщения. После обычного текста имя даёт Claude разрешение запустить скилл, но не запускает его:

597 597 

598| Где | Пример | Что происходит |598| Где | Пример | Что происходит |

599| :- | :- | :- |599| :- | :- | :- |

600| В начале сообщения | `/deploy staging` | Claude Code запускает skill напрямую |600| В начале сообщения | `/deploy staging` | Claude Code запускает скилл напрямую |

601| После обычного текста, отдельным словом без прилегающих знаков препинания | `go ahead and /deploy to staging` | Ничего не запускается напрямую. Имя считается вашим разрешением для этого сообщения: Claude может запустить skill во время ответа и по вашей формулировке судит, просили ли вы об этом |601| После обычного текста, отдельным словом без примыкающих знаков препинания | `go ahead and /deploy to staging` | Ничего не запускается напрямую. Имя считается вашим разрешением для этого сообщения: Claude может запустить скилл при ответе и по формулировке определяет, просили ли вы его об этом |

602 602 

603Чтобы написать о skill, не разрешая его запуск, опустите слеш.603Чтобы упомянуть скилл, не разрешая его запуск, не ставьте косую черту.

604 604 

605### Жизненный цикл содержимого skill605### Жизненный цикл содержимого скилла

606 606 

607Когда вы или Claude вызываете skill, отрендеренное содержимое `SKILL.md` входит в разговор как одно сообщение и остается там в последующих ходах. Эта постоянность применяется к инструкциям skill, а не к его разрешениям: разрешение [`allowed-tools`](#pre-approve-tools-for-a-skill) очищается при отправке следующего сообщения. Claude Code не перечитывает файл skill в последующих ходах, поэтому пишите руководство, которое должно применяться на протяжении всей задачи, как постоянные инструкции, а не одноразовые шаги.607Когда вы или Claude вызываете скилл, отрисованное содержимое `SKILL.md` попадает в диалог как одно сообщение и остаётся там на протяжении последующих ходов. Это сохранение распространяется на инструкции скилла, но не на его разрешения: разрешение [`allowed-tools`](#pre-approve-tools-for-a-skill) сбрасывается, когда вы отправляете следующее сообщение. Claude Code не перечитывает файл скилла на последующих ходах, поэтому указания, которые должны действовать на протяжении всей задачи, пишите как постоянные инструкции, а не как одноразовые шаги.

608 608 

609Когда Claude повторно вызывает skill, чье отрендеренное содержимое идентично копии, уже находящейся в контексте, Claude Code добавляет короткую заметку о том, что skill уже загружен, вместо второй копии содержимого. Когда отрендеренное содержимое отличается, потому что аргументы изменились или команда [динамического контекста](#inject-dynamic-context) произвела новый выход, Claude Code добавляет полное содержимое снова.609Когда Claude повторно вызывает скилл, отрисованное содержимое которого идентично копии, уже находящейся в контексте, Claude Code добавляет короткое примечание о том, что скилл уже загружен, а не вторую копию содержимого. Если отрисованное содержимое отличается — потому что изменились аргументы или команда [динамического контекста](#inject-dynamic-context) выдала новый вывод, — Claude Code снова добавляет полное содержимое.

610 610 

611[Auto-compact](https://code.claude.com/docs/ru/how-claude-code-works.md#when-context-fills-up) переносит вызванные skills в рамках бюджета токенов. Когда разговор суммируется для освобождения контекста, Claude Code повторно прикрепляет самый последний вызов каждого skill после резюме, сохраняя первые 5000 токенов каждого. Повторно прикрепленные skills делят объединенный бюджет 25000 токенов. Claude Code заполняет этот бюджет, начиная с самого недавно вызванного skill, поэтому старые skills могут быть полностью удалены после компактирования, если вы вызвали много в одном сеансе.611[Автосжатие](https://code.claude.com/docs/ru/how-claude-code-works.md#when-context-fills-up) переносит вызванные скиллы дальше в пределах бюджета токенов. Когда диалог суммируется для освобождения контекста, Claude Code повторно прикрепляет после сводки последний вызов каждого скилла, сохраняя первые 5 000 токенов каждого. Повторно прикреплённые скиллы делят общий бюджет в 25 000 токенов. Claude Code заполняет этот бюджет, начиная с последнего вызванного скилла, поэтому если вы вызвали много скиллов в одной сессии, более старые могут быть полностью отброшены после сжатия контекста.

612 612 

613Если Claude перестает следовать skill на полпути через сеанс, см. [Claude перестает следовать skill](#claude-stops-following-a-skill).613Если Claude перестаёт следовать скиллу посреди сессии, см. [Claude перестаёт следовать скиллу](#claude-stops-following-a-skill).

614 614 

615### Предварительное одобрение tools для skill615### Предварительное разрешение инструментов для скилла

616 616 

617Поле `allowed-tools` предоставляет разрешение для перечисленных tools во время хода, который вызывает skill, поэтому Claude может использовать их без запроса вашего одобрения. Разрешение очищается при отправке следующего сообщения, даже если содержимое skill [остается в контексте](#skill-content-lifecycle); повторный вызов skill повторно применяет его для этого хода. Это не ограничивает, какие tools доступны: каждый tool остается вызываемым, и ваши [параметры разрешений](https://code.claude.com/docs/ru/permissions.md) все еще управляют tools, которые не указаны. Чтобы предварительно одобрить tools для всего сеанса, а не одного хода, добавьте правила разрешения к этим параметрам разрешений вместо этого.617Поле `allowed-tools` предоставляет разрешение на использование перечисленных инструментов в течение хода, в котором вызван скилл, поэтому Claude может использовать их, не запрашивая у вас подтверждения. Разрешение сбрасывается, когда вы отправляете следующее сообщение, хотя содержимое скилла [остаётся в контексте](#skill-content-lifecycle); повторный вызов скилла снова применяет его для этого хода. Поле не ограничивает набор доступных инструментов: все инструменты остаются доступными для вызова, а инструменты, не указанные в списке, по-прежнему регулируются вашими [настройками разрешений](https://code.claude.com/docs/ru/permissions.md). Чтобы предварительно разрешить инструменты на всю сессию, а не на один ход, добавьте вместо этого правила разрешения в эти настройки разрешений.

618 618 

619Доверие к рабочему пространству не влияет на это поле. Claude Code применяет `allowed-tools` skill проекта даже при запуске `-p` в папке, которой вы никогда не доверяли. Skill может предоставить себе широкий доступ к инструментам, поэтому проверяйте `allowed-tools` у skills, добавленных в репозиторий, прежде чем запускать там Claude Code. Чтобы запретить это поле для skills из репозиториев во всей организации, см. [Когда применяются только управляемые правила разрешений](#when-only-managed-permission-rules-apply).619Доверие к рабочему пространству не влияет на это поле. Claude Code применяет `allowed-tools` проектного скилла даже при запуске с `-p` в папке, которой вы никогда не доверяли. Скилл может предоставить себе широкий доступ к инструментам, поэтому проверяйте `allowed-tools` скиллов, добавленных в репозиторий, прежде чем запускать там Claude Code. Чтобы во всей организации это поле не применялось к скиллам из репозиториев, см. [Когда применяются только управляемые правила разрешений](#when-only-managed-permission-rules-apply).

620 620 

621Этот skill позволяет Claude запускать git-команды без одобрения за использование всякий раз, когда вы вызываете его:621Этот скилл позволяет Claude выполнять команды git без подтверждения каждого использования всякий раз, когда вы его вызываете:

622 622 

623```yaml theme={null}623```yaml theme={null}

624---624---


629---629---

630```630```

631 631 

632Чтобы удалить tools из доступного пула Claude во время активности skill, перечислите их в `disallowed-tools` в frontmatter skill. Ограничение очищается при отправке следующего сообщения. Как и правила отказа, это поле не может удалить [`EndConversation`](https://code.claude.com/docs/ru/tools-reference#endconversation-tool-behavior) пока остаются другие tools. Чтобы заблокировать tools во всех skills и подсказках, добавьте правила отказа в ваши [параметры разрешений](https://code.claude.com/docs/ru/permissions.md).632Чтобы удалить инструменты из доступного Claude набора, пока скилл активен, перечислите их в `disallowed-tools` во frontmatter скилла. Ограничение снимается, когда вы отправляете следующее сообщение. Как и правила запрета, это поле не может удалить [`EndConversation`](https://code.claude.com/docs/ru/tools-reference#endconversation-tool-behavior), пока остаётся хотя бы один другой инструмент. Чтобы заблокировать инструменты для всех скиллов и промптов, добавьте правила запрета в свои [настройки разрешений](https://code.claude.com/docs/ru/permissions.md).

633 633 

634#### Когда управляемые настройки ограничивают хуки плагинами634#### Когда управляемые настройки ограничивают хуки плагинами

635 635 

636Когда управляемые настройки вашей организации перечисляют `hooks` в `strictPluginOnlyCustomization`, личный или проектный skill, чей frontmatter объявляет `hooks`, теряет предварительное одобрение `allowed-tools`, за исключением [skills, которые его сохраняют](https://code.claude.com/docs/ru/settings-reference.md#strictpluginonlycustomization-hooks).636Когда управляемые настройки вашей организации указывают `hooks` в `strictPluginOnlyCustomization`, личный или проектный скилл, frontmatter которого объявляет `hooks`, теряет предварительное разрешение `allowed-tools`, за исключением [скиллов, которые его сохраняют](https://code.claude.com/docs/ru/settings-reference.md#strictpluginonlycustomization-hooks).

637 637 

638* **Проверка**: введите `/status` в сессии Claude Code. Если `/status` показывает [`Enterprise managed settings`](https://code.claude.com/docs/ru/settings#check-what-your-organization-enforces), спросите администратора, перечисляет ли `strictPluginOnlyCustomization` значение `hooks`.638* **Проверка**: введите `/status` в сессии Claude Code. Если `/status` показывает [`Enterprise managed settings`](https://code.claude.com/docs/ru/settings#check-what-your-organization-enforces), спросите у администратора, указан ли `hooks` в `strictPluginOnlyCustomization`.

639* **Исправление**: удалите `hooks` из frontmatter skill, потому что его хуки не запускаются при этой настройке. Чтобы сохранить их, [перенесите skill в плагин](https://code.claude.com/docs/ru/hooks.md#limits-on-skill-hooks), который вы устанавливаете из маркетплейса.639* **Исправление**: удалите `hooks` из frontmatter скилла, поскольку при этой настройке его хуки не выполняются. Чтобы сохранить их, [перенесите скилл в плагин](https://code.claude.com/docs/ru/hooks.md#limits-on-skill-hooks), который вы устанавливаете из маркетплейса.

640 640 

641#### Когда применяются только управляемые правила разрешений641#### Когда применяются только управляемые правила разрешений

642 642 

643Когда ваша организация задает `allowManagedPermissionRulesOnly` в управляемых настройках, Claude Code игнорирует `allowed-tools` в skills проекта и личных skills, а также в [других источниках, перечисленных в описании этой настройки](https://code.claude.com/docs/ru/settings-reference.md#allowmanagedpermissionrulesonly). Для этого требуется Claude Code v2.1.282 или новее.643Когда ваша организация задаёт `allowManagedPermissionRulesOnly` в управляемых настройках, Claude Code игнорирует `allowed-tools` в проектных и личных скиллах, а также в [других источниках, перечисленных в описании этой настройки](https://code.claude.com/docs/ru/settings-reference.md#allowmanagedpermissionrulesonly). Для этого требуется Claude Code v2.1.282 или новее.

644 644 

645Инструменты, перечисленные в затронутом skill, вместо этого проходят через управляемые правила вашей организации и обычный запрос разрешения. Выполните `/status`, чтобы увидеть список всех skills, чье поле `allowed-tools` Claude Code проигнорировал на данный момент в сессии. Внедряемая команда в skill, которую не разрешает ни одно управляемое правило, обрабатывается согласно разделу [Проверка разрешений для внедряемых команд](#permission-checks-on-injected-commands).645Вместо этого инструменты, перечисленные в затронутом скилле, проходят через управляемые правила вашей организации и обычный запрос разрешения. Выполните `/status`, чтобы увидеть список всех скиллов, чьи `allowed-tools` Claude Code к этому моменту проигнорировал в сессии. Внедрённая в скилл команда, которую не разрешает ни одно управляемое правило, обрабатывается согласно разделу [Проверки разрешений для внедрённых команд](#permission-checks-on-injected-commands).

646 646 

647### Передача аргументов в skills647### Передача аргументов скиллам

648 648 

649Как вы, так и Claude можете передавать аргументы при вызове skill. Аргументы доступны через заполнитель `$ARGUMENTS`.649И вы, и Claude можете передавать аргументы при вызове скилла. Аргументы доступны через плейсхолдер `$ARGUMENTS`.

650 650 

651Этот skill исправляет проблему GitHub по номеру. Заполнитель `$ARGUMENTS` заменяется на все, что следует за именем skill:651Этот скилл исправляет GitHub issue по номеру. Плейсхолдер `$ARGUMENTS` заменяется тем, что следует за именем скилла:

652 652 

653```yaml theme={null}653```yaml theme={null}

654---654---


6665. Create a commit6665. Create a commit

667```667```

668 668 

669Когда вы запускаете `/fix-issue 123`, Claude получает "Fix GitHub issue 123 following our coding standards..."669Когда вы выполняете `/fix-issue 123`, Claude получает «Fix GitHub issue 123 following our coding standards...»

670 670 

671Если вы вызываете skill с аргументами, но ни один заполнитель в содержимом skill не получает один, Claude Code добавляет `ARGUMENTS: <your input>` в конец содержимого skill, чтобы Claude все еще видел, что вы ввели. Заполнитель — это `$ARGUMENTS`, индексированная форма, такая как `$1`, или именованный аргумент. Индексированный заполнитель без аргумента в его позиции остается как буквальный текст и не считается получившим один. Именованный заполнитель считается даже когда его позиция не имеет аргумента, потому что он расширяется до пустой строки.671Если вы вызываете скилл с аргументами, но ни один плейсхолдер в содержимом скилла их не получает, Claude Code добавляет `ARGUMENTS: <your input>` в конец содержимого скилла, чтобы Claude всё равно увидел, что вы ввели. Плейсхолдер — это `$ARGUMENTS`, индексированная форма, например `$1`, или именованный аргумент. Индексированный плейсхолдер, для позиции которого нет аргумента, остаётся буквальным текстом и не считается получившим аргумент. Именованный плейсхолдер считается получившим аргумент, даже если для его позиции аргумента нет, поскольку он раскрывается в пустую строку.

672 672 

673Чтобы получить доступ к отдельным аргументам по позиции, используйте `$ARGUMENTS[N]` или более короткий `$N`:673Чтобы обратиться к отдельным аргументам по позиции, используйте `$ARGUMENTS[N]` или более короткое `$N`:

674 674 

675```yaml theme={null}675```yaml theme={null}

676---676---


682Preserve all existing behavior and tests.682Preserve all existing behavior and tests.

683```683```

684 684 

685Запуск `/migrate-component SearchBar JavaScript TypeScript` заменяет `$ARGUMENTS[0]` на `SearchBar`, `$ARGUMENTS[1]` на `JavaScript` и `$ARGUMENTS[2]` на `TypeScript`. Тот же skill, использующий сокращение `$N`:685Выполнение `/migrate-component SearchBar JavaScript TypeScript` заменяет `$ARGUMENTS[0]` на `SearchBar`, `$ARGUMENTS[1]` на `JavaScript`, а `$ARGUMENTS[2]` на `TypeScript`. Тот же скилл с сокращением `$N`:

686 686 

687```yaml theme={null}687```yaml theme={null}

688---688---


694Preserve all existing behavior and tests.694Preserve all existing behavior and tests.

695```695```

696 696 

697#### Несколько skills в одном сообщении697#### Объединение нескольких скиллов в одном сообщении

698 698 

699Когда вы вводите текст в поле промпта Claude Code в терминале, вы можете указать несколько skills подряд в начале одного сообщения. Через Agent SDK или `claude -p` Claude Code загружает только первый skill, а остальная часть строки становится его аргументами. В поле промпта терминала ввод `/write-tests /fix-issue 123` загружает оба skills и передает конечный текст `123` как `$ARGUMENTS` каждому из них.699Когда вы вводите текст в промпт Claude Code в терминале, вы можете поставить несколько скиллов подряд в начале одного сообщения. Через Agent SDK или `claude -p` Claude Code загружает только первый скилл, а остаток строки использует как его аргументы. В промпте терминала ввод `/write-tests /fix-issue 123` загружает оба скилла и передаёт завершающий текст `123` каждому из них как `$ARGUMENTS`.

700 700 

701Claude Code расширяет первый skill плюс до пяти дополнительных, указанных после него. Расширение останавливается на первом токене, который не является skill, вызываемым пользователем и выполняемым встроенным образом. Если вы указываете skill, который запускается как [субагент fork](#run-skills-in-a-subagent), например [`/code-review`](https://code.claude.com/docs/ru/code-review-local), или skill, чьи аргументы могут начинаться с другой команды, например `/loop`, расширение на этом заканчивается. Этот токен и все, что после него, становятся текстом аргумента для каждого расширенного skill.701Claude Code раскрывает первый скилл и до пяти следующих за ним. Раскрытие останавливается на первом токене, который не является встроенным скиллом, вызываемым пользователем. Если вы добавите скилл, который выполняется как [ответвлённый субагент](#run-skills-in-a-subagent), например [`/code-review`](https://code.claude.com/docs/ru/code-review-local), или скилл, аргументы которого могут начинаться с другой команды, например `/loop`, раскрытие на нём заканчивается. Этот токен и всё, что следует за ним, становятся текстом аргументов для каждого раскрытого скилла.

702 702 

703## Продвинутые приёмы703## Продвинутые приёмы

704 704 

slack.md +1 −1

Details

200 200 

201### Сессии из канала Claude Tag не запускаются201### Сессии из канала Claude Tag не запускаются

202 202 

203Эта запись применяется к рабочим пространствам, использующим [Claude Tag](https://claude.com/docs/claude-tag/overview), где Claude работает в каналах как общая идентификация вашей организации, а не как учетная запись любого члена. Если вы создали облачную среду канала на [claude.ai/code](https://claude.ai/code), она принадлежит вашей личной учетной записи, и Claude не может запустить сессии канала в личной среде. Claude Code немедленно завершает сессию с ошибкой, и повторная попытка не помогает.203Эта запись применяется к рабочим пространствам, использующим [Claude Tag](https://claude.com/docs/claude-tag/overview). Если вы создали облачную среду канала на [claude.ai/code](https://claude.ai/code), она принадлежит вашей личной учетной записи, и Claude не может запустить сессии канала в личной среде. Claude Code немедленно завершает сессию с ошибкой, и повторная попытка не помогает.

204 204 

205Если вы являетесь Owner и среда принадлежит вам, [поделитесь ею с организацией](https://code.claude.com/docs/ru/cloud-environments.md#organization-shared-environments) из селектора среды. В противном случае Owner пересоздает ее как организационно-общую среду со страницы **Cloud environments** в [настройках администратора](https://claude.ai/admin-settings).205Если вы являетесь Owner и среда принадлежит вам, [поделитесь ею с организацией](https://code.claude.com/docs/ru/cloud-environments.md#organization-shared-environments) из селектора среды. В противном случае Owner пересоздает ее как организационно-общую среду со страницы **Cloud environments** в [настройках администратора](https://claude.ai/admin-settings).

206 206 

statusline.md +1 −1

Details

188| `context_window.current_usage` | Подсчёты токенов из последнего вызова API, описанные в [полях контекстного окна](#context-window-fields) |188| `context_window.current_usage` | Подсчёты токенов из последнего вызова API, описанные в [полях контекстного окна](#context-window-fields) |

189| `exceeds_200k_tokens` | Превышает ли общее количество токенов (входные, кэшированные и выходные токены в сумме) из последнего ответа API 200k. Это фиксированный порог независимо от фактического размера контекстного окна. |189| `exceeds_200k_tokens` | Превышает ли общее количество токенов (входные, кэшированные и выходные токены в сумме) из последнего ответа API 200k. Это фиксированный порог независимо от фактического размера контекстного окна. |

190| `fast_mode` | Включен ли [быстрый режим](https://code.claude.com/docs/ru/fast-mode.md) для сеанса |190| `fast_mode` | Включен ли [быстрый режим](https://code.claude.com/docs/ru/fast-mode.md) для сеанса |

191| `effort.level` | Текущий уровень рассуждений (`low`, `medium`, `high`, `xhigh` или `max`). Отражает текущее значение сеанса, включая изменения `/effort` во время сеанса. Отсутствует, когда текущая модель не поддерживает параметр effort |191| `effort.level` | Уровень effort рассуждений, установленный для сессии (`low`, `medium`, `high`, `xhigh` или `max`), а не уровень, установленный скиллом, субагентом или `ultrathink`. Если вы установите уровень, который модель не поддерживает, здесь отображается уровень, с которым Claude Code фактически работал. Изменённый вами уровень отображается здесь ещё до того, как он [вступит в силу](https://code.claude.com/docs/ru/model-config.md#when-a-new-effort-level-starts). Если уровень задан в `CLAUDE_CODE_EFFORT_LEVEL`, здесь отображается этот уровень. Отсутствует, когда текущая модель не поддерживает параметр effort |

192| `thinking.enabled` | Включено ли расширенное мышление для сеанса |192| `thinking.enabled` | Включено ли расширенное мышление для сеанса |

193| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Процент лимита скорости за 5 часов или 7 дней, потреблённый от 0 до 100 |193| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Процент лимита скорости за 5 часов или 7 дней, потреблённый от 0 до 100 |

194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Секунды эпохи Unix, когда окно лимита скорости за 5 часов или 7 дней сбрасывается |194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Секунды эпохи Unix, когда окно лимита скорости за 5 часов или 7 дней сбрасывается |

Details

72 72 

73Когда Claude завершает задачу или ждёт разрешения, и вы, похоже, отошли от терминала, он отправляет событие уведомления. Смотрите [когда срабатывает каждый тип уведомления](https://code.claude.com/docs/ru/hooks.md#notification) для точного времени. Отображение этого как звонка терминала или уведомления рабочего стола позволяет вам переключиться на другую работу, пока выполняется длительная задача.73Когда Claude завершает задачу или ждёт разрешения, и вы, похоже, отошли от терминала, он отправляет событие уведомления. Смотрите [когда срабатывает каждый тип уведомления](https://code.claude.com/docs/ru/hooks.md#notification) для точного времени. Отображение этого как звонка терминала или уведомления рабочего стола позволяет вам переключиться на другую работу, пока выполняется длительная задача.

74 74 

75По умолчанию Claude Code отправляет уведомление рабочего стола только в Ghostty, Kitty и iTerm2. В других терминалах установите [`preferredNotifChannel`](https://code.claude.com/docs/ru/settings-reference#preferrednotifchannel) на `"terminal_bell"` для звонка терминала, или настройте [Notification hook](#play-a-sound-with-a-notification-hook) для пользовательского звука или команды. Следующая запись параметров включает звонок терминала:75По умолчанию Claude Code отправляет уведомление рабочего стола в одних терминалах, а в других — символ звонка или ничего:

76 

77* **Ghostty, Kitty и iTerm2**: уведомление рабочего стола, которое iTerm2 показывает только после того, как вы включите его настройки оповещений.

78* **Apple Terminal**: без звука; беззвучный символ звонка, если Claude Code обнаруживает, что параметр "Audible bell" отключён в профиле активного окна Terminal, в противном случае ничего. Этот символ звонка отображается как мигание окна или подпрыгивание значка в Dock, пока Terminal находится в фоне, если в этом профиле включён параметр "Visual bell" или подпрыгивание в Dock.

79* **Другие терминалы**: ничего.

80 

81Чтобы Claude Code отправлял символ звонка независимо от терминала или профиля, установите [`preferredNotifChannel`](https://code.claude.com/docs/ru/settings-reference#preferrednotifchannel) на `"terminal_bell"`. В Apple Terminal также включите **Audible bell** в разделе **Settings > Profiles > Advanced**, чтобы его слышать. Следующая запись настроек задаёт канал:

76 82 

77```json ~/.claude/settings.json theme={null}83```json ~/.claude/settings.json theme={null}

78{84{

Details

995 995 

996### npm install errors in WSL996### npm install errors in WSL

997 997 

998Эти проблемы актуальны, если вы установили Claude Code с помощью `npm install -g` внутри WSL. Если вы использовали [нативный установщик](https://code.claude.com/docs/ru/setup.md), пропустите этот раздел.998Эти проблемы актуальны, если вы установили Claude Code с помощью `npm install -g` внутри WSL. Если вы использовали [нативный установщик](https://code.claude.com/docs/ru/setup.md), пропустите этот раздел. На npm 12 выполняйте установку так, как описано в разделе [Исправление установки через npm 12](#fix-an-npm-12-install).

999 999 

1000**Проблемы определения ОС или платформы.** Если npm сообщает о несоответствии платформы во время установки, WSL вероятно использует Windows `npm`. Сначала запустите `npm config set os linux`, затем установите с помощью `npm install -g @anthropic-ai/claude-code --force`. Не используйте `sudo`.1000**Проблемы определения ОС или платформы.** Если npm сообщает о несоответствии платформы во время установки, WSL вероятно использует Windows `npm`. Сначала запустите `npm config set os linux`, затем установите с помощью `npm install -g @anthropic-ai/claude-code --force`. Не используйте `sudo`.

1001 1001 


1037 1037 

1038### Native binary not found after npm install1038### Native binary not found after npm install

1039 1039 

1040Пакет npm `@anthropic-ai/claude-code` загружает нативный бинарный файл как опциональную зависимость для конкретной платформы, например `@anthropic-ai/claude-code-darwin-arm64`. Затем npm запускает скрипт postinstall пакета, который копирует этот бинарный файл на место как команду `claude`; до его запуска `claude` — это скрипт-заполнитель. Если либо загрузка, либо шаг postinstall пропущены, заполнитель остаётся на месте, и запуск `claude` на macOS и Linux выводит:1040Пакет npm `@anthropic-ai/claude-code` загружает нативный бинарный файл как опциональную зависимость для конкретной платформы, например `@anthropic-ai/claude-code-darwin-arm64`. `claude` остаётся скриптом-заполнителем, пока не выполнится шаг postinstall пакета `@anthropic-ai/claude-code`, который заменяет заполнитель этим бинарным файлом. Если либо загрузка, либо шаг postinstall пропущены, заполнитель остаётся на месте, и запуск `claude` на macOS и Linux выводит:

1041 1041 

1042```text theme={null}1042```text theme={null}

1043Error: claude native binary not installed.1043Error: claude native binary not installed.


1056 1056 

1057Проверьте следующие причины:1057Проверьте следующие причины:

1058 1058 

1059* **npm 12 по умолчанию пропускает шаг postinstall.** Когда вы устанавливаете или обновляете Claude Code с помощью npm 12, npm всё равно завершает установку, не выполняя этот шаг. См. [Исправление установки через npm 12](#fix-an-npm-12-install).

1059* **Опциональные зависимости отключены.** Удалите `--omit=optional` из вашей команды npm install, `--no-optional` из pnpm или `--ignore-optional` из yarn и проверьте, что `.npmrc` не задаёт `optional=false`. Затем переустановите. Нативный бинарный файл поставляется только как опциональная зависимость, поэтому резервного варианта на JavaScript при её пропуске нет, и повторный запуск `install.cjs` не может поместить на место бинарный файл, который никогда не был загружен.1060* **Опциональные зависимости отключены.** Удалите `--omit=optional` из вашей команды npm install, `--no-optional` из pnpm или `--ignore-optional` из yarn и проверьте, что `.npmrc` не задаёт `optional=false`. Затем переустановите. Нативный бинарный файл поставляется только как опциональная зависимость, поэтому резервного варианта на JavaScript при её пропуске нет, и повторный запуск `install.cjs` не может поместить на место бинарный файл, который никогда не был загружен.

1060* **Скрипты установки отключены.** `--ignore-scripts` и некоторые конфигурации pnpm пропускают шаг postinstall, но всё равно загружают пакет платформы. Запустите `node node_modules/@anthropic-ai/claude-code/install.cjs`, как предлагает сообщение, или переустановите без флага. Если postinstall вообще не может запуститься в вашей среде, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` находит загруженный пакет и запускает его ценой дополнительного процесса Node при каждом запуске. Если обёртка вместо этого выводит `Could not find native binary package`, пакет платформы никогда не был загружен, поэтому сначала устраните описанную выше причину с опциональными зависимостями.1061* **Скрипты установки отключены.** `--ignore-scripts` и некоторые конфигурации pnpm пропускают шаг postinstall, но всё равно загружают пакет платформы. Запустите `node node_modules/@anthropic-ai/claude-code/install.cjs`, как предлагает сообщение, или переустановите без флага. Если postinstall вообще не может запуститься в вашей среде, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` находит загруженный пакет и запускает его ценой дополнительного процесса Node при каждом запуске. Если обёртка вместо этого выводит `Could not find native binary package`, пакет платформы никогда не был загружен, поэтому сначала устраните описанную выше причину с опциональными зависимостями.

1061* **Неподдерживаемая платформа.** Предварительно собранные бинарные файлы опубликованы для `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64` и `win32-arm64`. Claude Code не поставляет бинарный файл для других платформ; см. [системные требования](https://code.claude.com/docs/ru/setup.md#system-requirements). На FreeBSD установщик сообщает, что платформа не поддерживается. До v2.1.205 он рассматривал FreeBSD как Linux и загружал бинарный файл, который не мог работать.1062* **Неподдерживаемая платформа.** Предварительно собранные бинарные файлы опубликованы для `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64` и `win32-arm64`. Claude Code не поставляет бинарный файл для других платформ; см. [системные требования](https://code.claude.com/docs/ru/setup.md#system-requirements). На FreeBSD установщик сообщает, что платформа не поддерживается. До v2.1.205 он рассматривал FreeBSD как Linux и загружал бинарный файл, который не мог работать.

1062* **В корпоративном зеркале npm отсутствуют пакеты платформ.** Убедитесь, что ваш реестр зеркалирует все восемь пакетов платформ `@anthropic-ai/claude-code-*` в дополнение к мета-пакету.1063* **В корпоративном зеркале npm отсутствуют пакеты платформ.** Убедитесь, что ваш реестр зеркалирует все восемь пакетов платформ `@anthropic-ai/claude-code-*` в дополнение к мета-пакету.

1063 1064 

1065#### Исправление установки через npm 12

1066 

1067Если `claude` выводит `Error: claude native binary not installed.` после установки или обновления через npm либо на Windows оболочка не может его запустить, выполните `npm --version`. Версия, начинающаяся с `12`, означает, что npm пропустил шаг postinstall Claude Code, который помещает бинарный файл на место, если только ваша конфигурация npm не разрешает этот шаг. Для любой другой версии проверьте [другие причины](#native-binary-not-found-after-npm-install).

1068 

1069Чтобы исправить установку через npm 12, переключитесь на нативный установщик или разрешите этот шаг:

1070 

1071* **Переключитесь на нативный установщик**: [установите с помощью нативного установщика](https://code.claude.com/docs/ru/setup.md#install-claude-code), затем [удалите пакет npm](https://code.claude.com/docs/ru/setup.md#uninstall-with-npm). После этого обновления не используют npm, поэтому ошибка не вернётся.

1072* **Останьтесь на npm**: для глобальной установки через npm добавьте Claude Code в `allow-scripts` в пользовательской конфигурации npm. Тогда npm будет запускать скрипты установки Claude Code при каждой последующей установке и обновлении, а также в установках проектов, чей `package.json` не задаёт `allowScripts`.

1073 

1074 Используйте нативный установщик для локальной установки в `~/.claude/local`. Также используйте его, если скрипты вашего `package.json` вызывают `npm install` и вы запускаете их с помощью pnpm 9, pnpm 10, Yarn 1 или другого инструмента, который передаёт им эту настройку. На npm 12.1 и более поздних версиях такие установки могут завершаться ошибкой `EALLOWSCRIPTS` после сохранения настройки.

1075 

1076 1. Если `npm --version` вывел 12.0.x, обновите npm до 12.1 или более поздней версии, например с помощью `npm install -g npm@latest`. На 12.0.x установки проектов, которые запускает инструмент `npx` или скрипт `npm run`, могут завершаться ошибкой `EALLOWSCRIPTS` после сохранения настройки.

1077 

1078 2. Выполните `npm config get allow-scripts` и запишите все перечисленные пакеты, потому что следующая команда заменяет всё значение целиком. Сохраните настройку, указав эти пакеты внутри кавычек, например `"allow-scripts=@anthropic-ai/claude-code,<package>"`:

1079 

1080 ```bash theme={null}

1081 npm config set "allow-scripts=@anthropic-ai/claude-code" --location=user

1082 ```

1083 

1084 3. Переустановите:

1085 

1086 ```bash theme={null}

1087 npm install -g @anthropic-ai/claude-code

1088 ```

1089 

1090 Если эта команда или шаг 1 завершается ошибкой `EACCES`, переключитесь на нативный установщик вместо повторного запуска с `sudo`. Claude Code запускает npm без `sudo` при самообновлении, поэтому автоматические обновления завершались бы той же ошибкой.

1091 

1092 4. Если `claude --version` не выводит номер версии, проверьте [другие причины](#native-binary-not-found-after-npm-install).

1093 

1094 Чтобы отменить изменения, снова задайте список без `@anthropic-ai/claude-code` или удалите весь список с помощью `npm config delete allow-scripts --location=user`. На npm 12 ошибка после этого вернётся при следующем обновлении.

1095 

1064### npm `ENOTEMPTY` error during update or reinstall1096### npm `ENOTEMPTY` error during update or reinstall

1065 1097 

1066Когда вы запускаете `npm install -g @anthropic-ai/claude-code` поверх существующей установки, npm может завершиться ошибкой при перемещении старого каталога пакета:1098Когда вы запускаете `npm install -g @anthropic-ai/claude-code` поверх существующей установки, npm может завершиться ошибкой при перемещении старого каталога пакета:


1094Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*"1126Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*"

1095```1127```

1096 1128 

1097Затем переустановите:1129Затем переустановите. На npm 12 следуйте инструкциям из раздела [Исправление установки через npm 12](#fix-an-npm-12-install). В противном случае выполните:

1098 1130 

1099```bash theme={null}1131```bash theme={null}

1100npm install -g @anthropic-ai/claude-code1132npm install -g @anthropic-ai/claude-code

ultrareview.md +2 −2

Details

133 133 

134## Отслеживание выполняемого анализа134## Отслеживание выполняемого анализа

135 135 

136Анализ обычно занимает от 15 до 25 минут. Анализ работает как фоновая задача, поэтому вы можете продолжать работать в вашей сессии или запускать другие команды. Если вы выбрали [публикацию результатов в pull request](#post-findings-to-the-pull-request), держите сессию открытой до завершения анализа; если сессия завершится раньше, Claude Code ничего не публикует.136Анализ обычно занимает от 5 до 15 минут. Анализ работает как фоновая задача, поэтому вы можете продолжать работать в вашей сессии или запускать другие команды. Если вы выбрали [публикацию результатов в pull request](#post-findings-to-the-pull-request), держите сессию открытой до завершения анализа; если сессия завершится раньше, Claude Code ничего не публикует.

137 137 

138Используйте `/tasks` для просмотра выполняемых и завершенных анализов, открытия подробного представления анализа или остановки выполняемого анализа. Если вы остановите анализ, Claude Code архивирует облачную сессию и не возвращает частичные результаты.138Используйте `/tasks` для просмотра выполняемых и завершенных анализов, открытия подробного представления анализа или остановки выполняемого анализа. Если вы остановите анализ, Claude Code архивирует облачную сессию и не возвращает частичные результаты.

139 139 


211| Объект | ваш рабочий diff, pull request, ветка или путь | ваш рабочий diff или pull request |211| Объект | ваш рабочий diff, pull request, ветка или путь | ваш рабочий diff или pull request |

212| Где выполняется | локально в вашей сессии | в облачной песочнице |212| Где выполняется | локально в вашей сессии | в облачной песочнице |

213| Глубина | зависит от аргумента effort | множество агентов с независимой проверкой |213| Глубина | зависит от аргумента effort | множество агентов с независимой проверкой |

214| Длительность | от нескольких секунд до нескольких минут | примерно от 15 до 25 минут |214| Длительность | от нескольких секунд до нескольких минут | примерно от 5 до 15 минут |

215| Стоимость | учитывается в обычном использовании | бесплатные запуски, затем примерно от \$5 до \$25 за ревью в виде кредитов использования |215| Стоимость | учитывается в обычном использовании | бесплатные запуски, затем примерно от \$5 до \$25 за ревью в виде кредитов использования |

216| Лучше всего подходит для | быстрой обратной связи в ходе итераций | уверенности перед слиянием при существенных изменениях |216| Лучше всего подходит для | быстрой обратной связи в ходе итераций | уверенности перед слиянием при существенных изменениях |

217 217